Ayaz Hafiz
a0461679dd
Restrict usages of type variables in non-generalized contexts
...
Type variables can only be used on functions (and in number literals as
a carve-out for now). In all other cases, a type variable takes on a
single, concrete type based on later usages. This check emits errors
when this is violated.
The implementation is to check the rank of a variable after it could be
generalized. If the variable is not generalized but annotated as a type
variable, emit an error.
2025-01-02 14:26:37 -06:00
Sam Mohr
de626102c8
Use new try impl for ? operator
2024-12-05 02:13:13 -08:00
Sam Mohr
eedade8e81
Initial working version of proper try
keyword
2024-12-04 02:31:59 -08:00
Luke Boswell
fdaaca8c8b
replace cargo deps with workspace in lower_parms, module, mono, parse, problem, roc_target, serialize, solve, solve_problem, specialize_types, test_*
2024-11-29 11:29:04 +11:00
Agus Zubiaga
2e96aca0fd
Merge branch 'main' into specialize-exprs
2024-11-23 01:48:51 -03:00
Richard Feldman
ed6ad1bc82
Get a failing specialize_expr test
2024-11-08 00:55:04 -05:00
Agus Zubiaga
c9f001b041
Allow ignored defs with an effectful RHS
2024-11-07 18:54:22 -03:00
Agus Zubiaga
e75b1cf7a0
Check suffixes of all pattern identifiers
2024-11-07 18:54:20 -03:00
Agus Zubiaga
215de707fa
Report unsuffixed record literal field with effectful function
2024-11-07 18:54:20 -03:00
Agus Zubiaga
89a918cebe
Fix unifying pure with flex vars
2024-11-07 18:54:19 -03:00
Agus Zubiaga
d22b2a79f5
Suffixed pure function warning
2024-11-07 18:54:17 -03:00
Agus Zubiaga
1da8af390b
Unsuffixed effectul function warning
2024-11-07 18:54:16 -03:00
Agus Zubiaga
69e026f8bb
Leftover statement warning for pure statements
2024-11-07 18:54:16 -03:00
Agus Zubiaga
26fe91b02f
Always use "MODULE PARAMS" term in errors
...
The theory is that this will be more searchable
2024-07-06 22:07:29 -03:00
Agus Zubiaga
0cbb352a89
Move unexpected params warning to solve
2024-07-06 21:36:26 -03:00
Agus Zubiaga
89fc1104f0
Report import params mismatch
2024-07-02 11:10:00 -03:00
Agus Zubiaga
922b1c44ef
Report missing params
2024-07-02 11:10:00 -03:00
Richard Feldman
502b0fddf2
Remove Nat from Hash, Inspect, Encode, Decode
2024-01-26 16:17:05 -05:00
Ayaz Hafiz
703ef6608e
Fix errors
2023-10-25 17:14:49 -05:00
Ayaz Hafiz
a002d568e0
Update match
2023-10-25 17:14:33 -05:00
Ayaz Hafiz
6e89821233
Update language server to support apps
2023-10-25 17:14:33 -05:00
Ayaz Hafiz
b706a57e16
Update LSP
2023-10-25 17:14:33 -05:00
Brendan Hansknecht
c440b2ca05
Switch to PathBuf to avoid Path turning into a fat pointer. Avoids growing Constraints
2023-04-09 21:14:05 -07:00
Brendan Hansknecht
e5b88366fe
add proper error messages for ingested files
2023-04-09 14:03:33 -07:00
Brendan Hansknecht
f42f61e271
run a toml formatter and then clean it up a bit
2023-03-06 19:47:57 -08:00
Brendan Hansknecht
4a89bee0a5
centralize package versions except for vendor and excluded
2023-03-06 19:29:09 -08:00
Brendan Hansknecht
5485c8a5b0
update to using workspace package spec
2023-03-06 16:36:18 -08:00
Ayaz Hafiz
572a666780
No Encode/Decode for Nat
2023-01-27 17:16:10 -06:00
Ayaz Hafiz
39f89e3d65
Get severity from type problem variants
2022-12-02 14:11:58 -06:00
Ayaz Hafiz
98464984dd
Remove type problem bad type
2022-11-08 14:11:25 -06:00
Luke Boswell
2c2a70b8e7
Merge remote-tracking branch 'upstream/main' into rust-docs
2022-11-06 09:15:57 +11:00
Folkert
134de80150
various updates
2022-11-03 17:18:27 +01:00
Folkert
66a1ba00eb
1.65 clippy fixes
2022-11-03 16:20:37 +01:00
Luke Boswell
f3bdb5f321
updating rust package documentation
2022-11-03 20:00:06 +11:00
Ayaz Hafiz
b587bcf0c2
Implement obligation checking for the Eq
ability
...
Every type can have `Eq.isEq` derived for it, as long as
- it does not transitively contain a function
- it does not transitively contain a floating point value
- it does not transitively contain an opaque type that does not support
`Eq`
2022-10-12 16:37:49 -05:00
Ayaz Hafiz
55fe1df995
Add more context to derivability errors when they happen
2022-08-23 10:39:50 -05:00
Anton-4
6a15a7b41b
changed Cargo versions from 0.1.0 to 0.0.1
2022-08-03 11:41:19 +02:00
Ayaz Hafiz
0989b2cb82
Move solve problems to their own crate
2022-07-28 08:57:32 -04:00