Ayaz Hafiz
|
33d007a17b
|
Exercise both dispatch branches in test
|
2022-10-05 17:25:12 -05:00 |
|
Ayaz Hafiz
|
ed9f37a756
|
Add gen test for tag function dispatch
|
2022-10-05 17:25:12 -05:00 |
|
Ayaz Hafiz
|
06e5110aa5
|
Unification of multiple tag-functions
|
2022-10-05 17:25:11 -05:00 |
|
Ayaz Hafiz
|
61cf8e53e6
|
Have FunctionOrTagUnion include multiple possible tags
|
2022-10-05 17:24:52 -05:00 |
|
Ayaz
|
4f1d7fca9a
|
Merge pull request #4218 from roc-lang/rollup-10-05
Misc bugfixes 10-05
|
2022-10-05 14:52:11 -05:00 |
|
Ayaz
|
596f14d173
|
Merge pull request #4203 from roc-lang/shift-signature
Have `Num.shift*By` functions shift by a `U8`
|
2022-10-05 13:26:36 -05:00 |
|
Ayaz Hafiz
|
a842247aa6
|
Unused import
|
2022-10-05 13:09:10 -05:00 |
|
Ayaz Hafiz
|
f849bab6f1
|
Ignore large bit abs on wasm
|
2022-10-05 13:06:44 -05:00 |
|
Ayaz Hafiz
|
792afe5457
|
Remove TagDiscriminant low-level
|
2022-10-05 13:00:45 -05:00 |
|
Ayaz Hafiz
|
cb96a64259
|
Implement hashing tag discriminants in derivers, rather than using low-level
This makes it so we can decide the discriminant in the front-end. With
this, we can also now revert the `LowLevel::TagDiscriminant`
introductions.
|
2022-10-05 12:58:04 -05:00 |
|
Ayaz Hafiz
|
a308ebb38c
|
Optimize derived hash implementation for newtypes
When we have a newtype tag union, there is no reason to hash its
discriminant.
|
2022-10-05 12:19:35 -05:00 |
|
Ayaz Hafiz
|
2517695ce4
|
Fix deriving of hash ability for recursive tag unions
|
2022-10-05 12:01:02 -05:00 |
|
Brendan Hansknecht
|
ca92b5e8e8
|
Increase the inline threshold
|
2022-10-05 08:11:10 -07:00 |
|
Brendan Hansknecht
|
4ebe1b2bce
|
Avoid allocating a new list when calling List.sublist
|
2022-10-05 08:11:02 -07:00 |
|
Ayaz Hafiz
|
657346a057
|
Support Num.abs for non-64 bit integer types
Closes #4210
|
2022-10-05 08:39:45 -05:00 |
|
Ayaz Hafiz
|
df3b7cb1b4
|
Preserve comments before header
Closes #4212
|
2022-10-05 08:34:30 -05:00 |
|
Ayaz
|
02b02901bc
|
Update crates/compiler/test_gen/src/gen_abilities.rs
Signed-off-by: Ayaz <20735482+ayazhafiz@users.noreply.github.com>
|
2022-10-04 18:58:30 -05:00 |
|
Ayaz Hafiz
|
c7bd4e1c1c
|
Support upcasting bools to ints in the wasm backend
|
2022-10-04 18:55:45 -05:00 |
|
Ayaz Hafiz
|
725054b8f3
|
Add TODO recursive tag union hashing test
|
2022-10-04 18:17:35 -05:00 |
|
Ayaz Hafiz
|
5389cdd87f
|
Add gen test for newtype, byte union, unit tag union hash deriving
|
2022-10-04 18:11:41 -05:00 |
|
Ayaz Hafiz
|
41c9985c53
|
Support newtypes and unit tag union hash deriving
|
2022-10-04 18:11:37 -05:00 |
|
Ayaz Hafiz
|
251b3865d9
|
Implement tag union discriminant extraction for byte- and newtype-variants
|
2022-10-04 18:04:46 -05:00 |
|
Ayaz Hafiz
|
00ca8f2f80
|
Add gen test for deriving hash for heterogenous tags
|
2022-10-04 17:28:35 -05:00 |
|
Ayaz Hafiz
|
ff70832068
|
Derive hash for tag unions with a discriminant
|
2022-10-04 17:19:30 -05:00 |
|
Ayaz Hafiz
|
5eb00c4f94
|
Generate derive keys for tags
|
2022-10-04 16:23:24 -05:00 |
|
Ayaz Hafiz
|
fd54cdfdd1
|
Low-level to extract discriminant from a tag union
|
2022-10-04 16:17:05 -05:00 |
|
Ayaz Hafiz
|
7421485973
|
Remove clone
|
2022-10-04 15:37:03 -05:00 |
|
Ayaz Hafiz
|
5870de54ae
|
Add gen tests for record hash deriving
|
2022-10-04 15:29:20 -05:00 |
|
Ayaz Hafiz
|
46f111c6dd
|
Add hash deriving for records
|
2022-10-04 15:23:41 -05:00 |
|
Ayaz Hafiz
|
ad4d98be9c
|
Add derive key generation for record hashing
|
2022-10-04 14:42:00 -05:00 |
|
Ayaz Hafiz
|
fd421c005d
|
Refactor hash immediate tests
|
2022-10-04 14:40:53 -05:00 |
|
Ayaz Hafiz
|
6d7f664194
|
Add test for hashing list of lists
|
2022-10-04 14:40:21 -05:00 |
|
Ayaz Hafiz
|
c2c15d3ee1
|
Skip pending test on wasm
|
2022-10-04 14:39:55 -05:00 |
|
Ayaz Hafiz
|
29991654db
|
Make sure conversion of signed ints before shift applies to the shifted number
|
2022-10-04 14:23:53 -05:00 |
|
Ayaz Hafiz
|
085c73dffe
|
Clippy
|
2022-10-04 14:10:29 -05:00 |
|
Ayaz Hafiz
|
f2c30a699c
|
Remove stray dbg
|
2022-10-04 14:09:40 -05:00 |
|
Ayaz Hafiz
|
42ddcb70df
|
Add derive test for List of strings
|
2022-10-04 14:09:40 -05:00 |
|
Ayaz Hafiz
|
5b833e57b5
|
Support derivation of Hash for Str and List
|
2022-10-04 14:09:40 -05:00 |
|
Ayaz Hafiz
|
294244ae25
|
Make sure flex unifies with rigid-able vars correctly
|
2022-10-04 14:09:40 -05:00 |
|
Ayaz Hafiz
|
715d88510c
|
Add tests for immediates of the Hash ability
|
2022-10-04 14:09:40 -05:00 |
|
Ayaz Hafiz
|
8844cd256e
|
Make sure Num.minU128 /Num.maxU128 is properly exposed
|
2022-10-04 14:09:40 -05:00 |
|
Ayaz Hafiz
|
427528e659
|
Add deriving of immediates for the Hash ability
|
2022-10-04 14:09:39 -05:00 |
|
Ayaz
|
a08b45263b
|
Merge branch 'main' into shift-signature
Signed-off-by: Ayaz <20735482+ayazhafiz@users.noreply.github.com>
|
2022-10-04 12:58:09 -05:00 |
|
Ayaz Hafiz
|
dea7661068
|
Have Num.shift*By functions shift by a U8
302305020
|
2022-10-04 12:28:33 -05:00 |
|
Ayaz Hafiz
|
f68cb3b0ed
|
Flip order of hash signature
|
2022-10-04 12:14:07 -05:00 |
|
Ayaz Hafiz
|
e9efc95425
|
Obligation checking for the Hash ability
This implements type-level checks that types can and cannot implement
the `Hash` ability.
Part of #4195
|
2022-10-04 10:51:14 -05:00 |
|
Ayaz Hafiz
|
ca4ee908f8
|
Avoid shadowing Hash in mono tests
|
2022-10-04 10:23:39 -05:00 |
|
Ayaz Hafiz
|
1c8ed27e58
|
Avoid Hash shadowing in abilities tests
|
2022-10-04 10:23:09 -05:00 |
|
Ayaz Hafiz
|
eadbc0912a
|
Update the compiler to be aware of Hash
|
2022-10-04 10:22:22 -05:00 |
|
Ayaz Hafiz
|
76510ec323
|
Add Hash.roc builtin module
|
2022-10-04 10:14:29 -05:00 |
|