Imprecise logical context in the match branch (cannot prove that the scrutinee is not a data constructor that is matched before this branch)
Open
- Dominant language
- No language data
- Stars
- 36
- Forks
- 11
- PR merge metrics
- No merged PRs in 30d
Description
```
noeq
type t =
| A : t
| B : t
fn test (x:t)
requires emp
ensures emp
{
match x {
A -> {
()
}
_ -> {
assert (pure (~ (A? x)))
}
}
}
```
Contributor guide
No contributing guide indexed for this repository
Research direction
The issue provides no file or test path; start by reproducing the supplied Pulse match example and inspect the handling of logical context in the match branch. Done means the assertion that x is not A is provable in the wildcard branch, with a regression test for this example.
Written by the indexing model from the issue text.
Assessment
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100