Ayaz Hafiz
362ca1d914
Fix parse tests
2022-04-14 10:47:18 -04:00
Ayaz Hafiz
0c21821b04
Make sure outdented records parse
2022-04-14 09:31:55 -04:00
Ayaz Hafiz
3c03b7004c
Test for outdented list parse
2022-04-14 09:31:26 -04:00
Ayaz Hafiz
8f906826fc
Include parent ability in specialization tests
2022-04-14 08:57:32 -04:00
Ayaz
6472e32173
Merge pull request #2842 from rtfeldman/abilities-typechecking2
...
Additional checking and reporting for abilities, behind #2838
2022-04-14 08:44:57 -04:00
Jared Cone
b35debee70
fixed formatting
2022-04-13 23:36:00 -07:00
Jared Cone
cb3ea8641c
Fixed strFromIntHelp. std.math.minInt is 0 for unsigned types, so buffer size was being set to only 1.
2022-04-13 23:20:09 -07:00
Jared Cone
17e5ec85aa
Num.toStr unit tests
2022-04-13 23:18:00 -07:00
Richard Feldman
4ea4aa4708
Merge pull request #2838 from rtfeldman/abilities-typechecking
...
Inference and checking for abilities
2022-04-13 22:03:44 -04:00
Richard Feldman
75ed66b4a8
Merge pull request #2843 from rtfeldman/i/2812
...
Propogate errors in record fields to layout error
2022-04-13 21:56:53 -04:00
Richard Feldman
882107908e
Merge pull request #2849 from rtfeldman/i/2818
...
Specialize bodies with body var, not function var
2022-04-13 20:28:26 -04:00
Ayaz Hafiz
41dd7d0b4d
Specialize bodies with body var, not function var
...
I'm surprised code generation worked so well without this, before...
Closes #2818
2022-04-13 18:35:50 -04:00
Brian Carroll
ae05e870af
wasm: Fix Wasm type mismatch for empty closure data in List.mapN
2022-04-13 22:05:57 +01:00
Brian Carroll
bdad1a5161
wasm: Extract List.mapN logic into a helper function
2022-04-13 21:38:54 +01:00
Ayaz Hafiz
6343382af5
Propogate errors in record fields to layout error
...
Closes #2812
Unfortunately we don't have a great way to test this without scaffolding
a host since this happens while processing a variable exposed to the
host. In tests the root cause just yields a type error first and codegen
works, just bails during the runtime. But this works.
2022-04-13 16:23:13 -04:00
Folkert
2b07b8c78d
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc
2022-04-13 21:45:40 +02:00
Folkert
493a96d85b
mark the builtin files as such so builtin function implementations are inserted
2022-04-13 21:40:08 +02:00
Ayaz Hafiz
d630562d99
forgive me clippy
2022-04-13 15:30:02 -04:00
Ayaz Hafiz
8eec930260
More and smarter checking and error reporting for abilities
2022-04-13 15:25:19 -04:00
Ayaz Hafiz
0792ccbbe8
Calling ability with non-specialized type is an error
2022-04-13 11:49:33 -04:00
Ayaz Hafiz
d110fbde6c
Annotation specializes ability
2022-04-13 10:44:34 -04:00
Ayaz Hafiz
25b3aa7ca7
Typed body specializations solve
2022-04-13 10:42:46 -04:00
Ayaz Hafiz
389c46edcf
Remove unneeded var
2022-04-13 10:12:45 -04:00
Ayaz Hafiz
5e1ab8225e
Report when ability member binds >1 variable to parent
2022-04-13 10:11:24 -04:00
Ayaz Hafiz
a1c1dc1a9f
Ask rustc to please always inline
2022-04-13 08:49:27 -04:00
Folkert
7c583b5e79
disable caching just for CI
2022-04-13 14:09:22 +02:00
Kevin Gillette
2c4a83788c
Rename internal NUM_DIV_INT references to NUM_DIV_FLOOR.
...
This balances with NUM_DIV_CEIL
(which is another form of integer division).
2022-04-13 02:48:57 -06:00
Richard Feldman
e9d4a4134a
Give more info when copying obj files fails
2022-04-13 01:26:10 -04:00
Richard Feldman
412eb763bb
Add support for x64 linux
2022-04-13 01:21:12 -04:00
Richard Feldman
e1a88f190c
Add a target triple for 32-bit musl linux
2022-04-13 01:21:12 -04:00
Richard Feldman
c7f5beb0ad
Rename generated .bc files to have target triples
2022-04-13 01:21:12 -04:00
Richard Feldman
2e1b384bdc
Drop unused import
2022-04-13 01:21:12 -04:00
Ayaz Hafiz
0336b6ad27
Clippy
2022-04-12 19:02:58 -04:00
Ayaz Hafiz
67b5ab7fe7
Add test for when specialization types conflict
2022-04-12 19:01:36 -04:00
Ayaz Hafiz
cf1a6691dd
Fix solve tests
2022-04-12 18:54:12 -04:00
Ayaz Hafiz
d94556d807
Report overly general specializations
2022-04-12 18:52:49 -04:00
Ayaz Hafiz
16d0060824
Report errors for type errors in specializations outside of ability impl
2022-04-12 18:41:20 -04:00
Ayaz Hafiz
127d435ff2
Report incomplete ability implementations
2022-04-12 18:26:19 -04:00
Ayaz Hafiz
b86bf94d92
Dev, wasm test bugs
2022-04-12 17:35:00 -04:00
Ayaz Hafiz
462f443956
Comment
2022-04-12 17:23:03 -04:00
Ayaz Hafiz
865c1f15d7
Fix test compile errors, and simply load_internal tests
2022-04-12 16:42:51 -04:00
Ayaz Hafiz
cbbbb8c855
Remove stray dbg
s
2022-04-12 16:32:50 -04:00
Ayaz Hafiz
64b559073d
Clippy
2022-04-12 16:18:07 -04:00
Ayaz Hafiz
15a040ec87
Basic type inference and solving for abilities
...
Note that is still pretty limited. We only permit opaque types to
implement abilities, abilities cannot have type arguments, and also no
other functions may depend on abilities
2022-04-12 16:18:07 -04:00
Ayaz Hafiz
913d97cab1
Add needed imports
2022-04-12 16:18:07 -04:00
Ayaz Hafiz
7536d48a22
Remove unused function
2022-04-12 16:18:06 -04:00
Richard Feldman
f39f7eda03
Merge pull request #2832 from rtfeldman/div-no-result
...
`div`, `divCeil`, `divFloor` panic + add checked versions returning `Result`
2022-04-12 15:10:06 -04:00
Nikita Mounier
c035900d64
Update test_mono test.
2022-04-12 18:15:19 +00:00
Nikita Mounier
dfba77bd04
Explicit i128 in test.
2022-04-12 16:41:29 +00:00
Nikita Mounier
0f0e9bdf14
Fix test in solve_expr.rs
2022-04-12 12:12:29 +00:00