roc/crates/compiler/solve/tests
Ayaz Hafiz ecab8fa25a
Make sure self-recursive checks only happen after typechecking
Programs like

```
after : ({} -> a), ({} -> b) -> ({} -> b)

fx = after (\{} -> {}) \{} -> if Bool.true then fx {} else {}
```

are legal because they always decay to functions, even if they may not
look like functions syntactically. Rather than using a syntactic check
to check for illegally-recursive functions, we should only perform such
checks after we know the types of values.

Closes #4291
2022-10-17 09:59:32 -05:00
..
helpers moved all crates into seperate folder + related path fixes 2022-07-01 17:37:43 +02:00
solve_expr.rs Make sure self-recursive checks only happen after typechecking 2022-10-17 09:59:32 -05:00