Commit graph

8932 commits

Author SHA1 Message Date
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 dbgs 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