with x <- 1 do :ok else _ -> ;h end
- Dominant language
- No language data
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Type: mismatch
Context: with_else_body
Code:
```elixir
with x <- 1 do :ok else _ ->
;h end
```
Elixir AST:
```elixir
{:with,
[do: [line: 1, column: 13], end: [line: 2, column: 4], line: 1, column: 1],
[
{:<-, [line: 1, column: 8], [{:x, [line: 1, column: 6], nil}, 1]},
[
do: :ok,
else: [
{:->, [newlines: 1, line: 1, column: 27],
[
[{:_, [line: 1, column: 25], nil}],
{:__block__, [], [nil, {:h, [line: 2, column: 2], nil}]}
]}
]
]
]}
```
Spitfire AST:
```elixir
{:with,
[do: [line: 1, column: 13], end: [line: 2, column: 4], line: 1, column: 1],
[
{:<-, [line: 1, column: 8], [{:x, [line: 1, column: 6], nil}, 1]},
[
do: :ok,
else: [
{:->, [newlines: 1, line: 1, column: 27],
[[{:_, [line: 1, column: 25], nil}], {:h, [line: 2, column: 2], nil}]}
]
]
]}
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the provided with/else Elixir snippet and comparing the Elixir AST with the Spitfire AST shown in the issue. Trace the parser or AST transformation handling the else clause and verify the result preserves the expected __block__ structure, then confirm the reproduced AST matches Elixir's output.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- elixir
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100