Commit graph

3358 commits

Author SHA1 Message Date
Brian Carroll
28d6d000ec
gen_wasm: Implement u128 right shift by delegating to compiler_rt 2023-01-23 22:07:40 +00:00
Ayaz Hafiz
8edbd3b378
Eliminate uses of RECURSIVE_PTR directly 2023-01-23 16:04:55 -06:00
Folkert de Vries
0b1ee3faeb
Merge pull request #4931 from thehabbos007/list-with-capacity
gen_dev: x86 Add `List.withCapacity` implementation
2023-01-23 23:00:35 +01:00
Ayaz Hafiz
37d9307fbf
Call insert_recursive for union layouts 2023-01-23 15:40:40 -06:00
Ayaz Hafiz
59144f6e29
Unused var 2023-01-23 14:37:49 -06:00
Ayaz Hafiz
695b2e6363
Fix a bug by not recording normalized layouts 2023-01-23 14:37:49 -06:00
Ayaz Hafiz
7169d0974d
Add support for interning normalized recursive layouts 2023-01-23 14:37:49 -06:00
Ayaz Hafiz
8750127111
Begin support for looping-back recursive pointers to their source layouts 2023-01-23 14:37:48 -06:00
Anton-4
1f2b39a521
Merge branch 'main' of github.com:roc-lang/roc into rust1_65 2023-01-23 18:27:33 +01:00
Joshua Warner
303e5bceb3
Fix tuple accessor type printing 2023-01-22 13:22:39 -08:00
Joshua Warner
de828416bf
Initial implementation of tuples in type checking
This leaves in place a bunch of TODOs and likely many bugs - notably, I haven't tested codegen/layout at all here.
2023-01-22 12:40:44 -08:00
Ayaz
25f1d8d54f
Merge pull request #4942 from JTeeuwissen/typo
fixed typo
2023-01-22 13:52:04 -06:00
J.Teeuwissen
b8f9684a01
fixed typo 2023-01-22 15:31:02 +01:00
J.Teeuwissen
28c18aa211
values_mut 2023-01-22 15:28:36 +01:00
Ayaz Hafiz
f6da8275ec
Record changed variables if any nested variable has changed
When we unify variables in mono, we must invalidate the sections of the
layout cache reached by those variables. Previously we did this by
recording changed variables as those that were `merge`d. However this is
not enough; we must also record all the parent types they came from. The
reason is we may have something like

```
Alias (Foo, a) ~ Alias (Bar, U8)
```

where we will merge `a = U8` but we do not merge the aliases.

Closes #4919
2023-01-21 12:37:21 -06:00
Ayaz Hafiz
d4e8fe81cb
Update mono tests 2023-01-21 12:37:10 -06:00
Ayaz Hafiz
bfb7bc39a7
Register top-level accessors as functions 2023-01-21 12:37:09 -06:00
Ayaz Hafiz
f0ab9f77ca
Don't mark accessors as thunks 2023-01-21 12:37:09 -06:00
Ayaz Hafiz
6b491c617e
Store def name on accessor functions 2023-01-21 12:37:09 -06:00
Ayaz Hafiz
36f8ed6478
Rip out polymorphic expression compilation
We no longer need this except for number literals, which are simple to
handle.
2023-01-21 12:37:09 -06:00
Folkert
3f72bc7222
clippy 2023-01-21 15:58:33 +01:00
Folkert
8442be824b
List.reserve: load spare from symbol, don't use a local 2023-01-21 15:57:10 +01:00
Ahmad Sattar
312997f1c6
Add List.withCapacity implementation for x86
Uses the zig builtin `listWithCapacity`
2023-01-21 15:57:10 +01:00
Richard Feldman
d57cb50425
Merge pull request #4909 from roc-lang/list-concat-check-capacity
use capacity instead of length in list deinit
2023-01-20 18:21:17 -05:00
Folkert de Vries
04449c3a0c
Merge pull request #4910 from roc-lang/weakening-6
Add some regression tests for problems weakening solves
2023-01-21 00:14:49 +01:00
Folkert
4e5b106f98
use capacity instead of length in list deinit 2023-01-20 21:44:41 +01:00
Ayaz
c85df2ef48
Merge pull request #4908 from roc-lang/str-trim-capacity
fix memory leak in string trimming
2023-01-20 13:18:44 -06:00
Ayaz
78fc30484e
Merge pull request #4903 from joshuawarner32/fix-nested_backpassing_no_newline_before
Fix formatting of backpassing in a nested def with no newline
2023-01-19 22:55:03 -06:00
Ahmad Sattar
be445f6f11
Enable more List.len tests for gen-dev 2023-01-20 00:45:38 +01:00
Folkert de Vries
810e05cd9a
Merge pull request #4922 from thehabbos007/asa/numgt
gen_dev: fix signed/unsigned `less than` and add signed/unsigned `greater than`
2023-01-19 20:49:06 +01:00
Folkert
165d4b3450
fix memory leak in string trimming 2023-01-19 14:35:38 +01:00
Ahmad Sattar
bbd4c9886c
Add NumSubWrap as a NumSub copy 2023-01-19 09:19:20 +01:00
Ayaz Hafiz
52063b2df2
Add test to regression-test over-specialization as in #4717 2023-01-18 18:11:59 -06:00
Ayaz Hafiz
9a4e4f25c2
Add regression tests for #4772
Closes #4772
2023-01-18 18:11:57 -06:00
Ahmad Sattar
6670a5d205
Add greater than comparison 2023-01-18 20:26:45 +01:00
Ahmad Sattar
3683e9d436
Fix up less than comparison 2023-01-18 20:26:45 +01:00
Anton-4
8b14aec0f5
Merge branch 'main' of github.com:roc-lang/roc into rust1_65 2023-01-18 19:26:59 +01:00
Ayaz Hafiz
59eb980fb2
Fix gen tests 2023-01-18 10:14:19 -06:00
Ayaz Hafiz
e6ab8dcf60
Fix mono test 2023-01-18 10:06:14 -06:00
Anton-4
f00a9b1748
Merge branch 'main' into rust1_65
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2023-01-17 20:14:44 +01:00
Anton-4
4b929cfdb3
rust 1.65 updates for wasm target 2023-01-17 20:11:38 +01:00
Ayaz
ed7123ed5b
Merge pull request #4887 from roc-lang/weakening-5
Finish weakening let-bindings
2023-01-17 12:47:12 -06:00
Anton-4
73f46b6613
update flake so that rust 1.65 is used for default.nix, macos clippy fixes 2023-01-17 18:44:24 +01:00
Anton-4
88f218d24f
clippy fixes after merge 2023-01-17 18:24:38 +01:00
Anton-4
35b93f0d1e
use new name for clippy error 2023-01-17 18:19:17 +01:00
Anton-4
bbf35af8fa
Merge branch 'main' into rust1_65
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2023-01-17 18:14:30 +01:00
Anton-4
a97c53d7ca
1.65 changes and clippy fixes 2023-01-17 18:09:16 +01:00
Ayaz
c5788e62c6
Merge branch 'main' into tag-union-ext
Signed-off-by: Ayaz <20735482+ayazhafiz@users.noreply.github.com>
2023-01-16 16:32:02 -06:00
Ayaz Hafiz
ff625397ed
Fix wasm sizeof 2023-01-16 14:26:50 -06:00
Ayaz Hafiz
1c8cef2547
Update mono 2023-01-16 12:46:40 -06:00