• Andrei Paskevich's avatar
    Mlw_expr: fix potentially unsound pattern matching in programs · eda92a0b
    Andrei Paskevich authored
    split the ppat_ghost field in program patterns into two distinct
    - ppat_ghost, indicating that the pattern starts as ghost,
      meaning that all variables in it are ghost, too;
    - ppat_fail, meaning that the pattern contains a refutable
      ghost subpattern, which makes the match in the extracted code
      impossible, which makes the whole match expression ghost.
    Until now, the two conditions were disjunctively combined, making
    admissible the invalid pattern matching in bench/p/b-d/ghost4.mlw.
Last commit
Last update
bad-typing Loading commit data...
good Loading commit data...