Commit graph

3763 commits

Author SHA1 Message Date
Richard Feldman
61d6aab977
fix test 2023-04-02 08:26:09 -04:00
Richard Feldman
7da6ba1082
Add some explanation for graphemes focus 2023-04-02 08:16:04 -04:00
Ayaz Hafiz
630a8e32d4
Clippy 2023-04-02 00:32:20 -05:00
Ayaz Hafiz
c7a1d29695
Fix order of elaborated queries 2023-04-02 00:30:34 -05:00
Ayaz Hafiz
0e47140eaf
Complete instantiation annotations 2023-04-01 20:05:18 -05:00
Ayaz Hafiz
ca5a5c2698
More progress on instantiated annotations in the source 2023-04-01 15:06:44 -05:00
Ayaz Hafiz
bfcafb0be3
Refactor the solve inferrer 2023-04-01 12:45:32 -05:00
Ayaz Hafiz
9d8d36b532
Fix doc comemnt 2023-04-01 10:24:00 -05:00
Ajai Nelson
e39e434d20
Add aarch64 multiplication 2023-04-01 02:01:41 -04:00
Ajai Nelson
0302a92cfa
Add aarch64 division 2023-03-31 23:25:29 -04:00
Ayaz Hafiz
6b3a4b419e
Migrate even more tests 2023-03-31 19:05:10 -05:00
Ayaz Hafiz
346e3f0dd5
Add missing file 2023-03-31 18:36:00 -05:00
Ayaz Hafiz
61adcd34d2
Migrate more tests 2023-03-31 18:35:45 -05:00
Ayaz Hafiz
32a59b7e72
Lints 2023-03-31 18:04:32 -05:00
Ayaz Hafiz
906f2349b8
Remove migrated test 2023-03-31 18:02:10 -05:00
Ayaz Hafiz
442812f7c5
Add another test 2023-03-31 18:02:01 -05:00
Ayaz Hafiz
190e436f4f
Move files 2023-03-31 17:58:24 -05:00
Ayaz Hafiz
fadd3e7e4a
Remove migrated test 2023-03-31 14:35:21 -05:00
Ayaz Hafiz
d39a329e28
Update emit header 2023-03-31 14:35:10 -05:00
Ayaz Hafiz
a10ce77584
Support printing can decls in uitest 2023-03-31 14:34:06 -05:00
Ayaz Hafiz
d891dd829f
Migrate more tests 2023-03-31 14:06:49 -05:00
Ayaz Hafiz
834f4afe2c
Add more tests 2023-03-31 13:56:46 -05:00
Ayaz Hafiz
5a9109f17b
Make uitests less noisy 2023-03-31 13:54:38 -05:00
Ayaz Hafiz
3fc54ea578
Migrate a few more tests 2023-03-31 13:45:06 -05:00
Ayaz Hafiz
54d6bf7747
Stub out the rest of uitest 2023-03-31 13:39:33 -05:00
Ayaz Hafiz
3aaf771543
Break up query inference into smaller composable pieces 2023-03-31 13:03:50 -05:00
Ayaz Hafiz
cf3fc7f4a8
Scaffold uitest 2023-03-31 12:47:13 -05:00
Ayaz Hafiz
58cef56a23
Move solve test helpers to their own crate, for now 2023-03-31 11:35:23 -05:00
Ayaz Hafiz
1227d10731
Refactor solve test helpers into a new module 2023-03-31 11:18:24 -05:00
Folkert de Vries
305753b4a7
Merge pull request #5239 from roc-lang/layout-cache-structure-with-multiple-recursive-structures
Record all nested recursive structures an entry in the layout cache contains
2023-03-31 17:54:48 +02:00
Richard Feldman
0bb8c60b93
Merge pull request #5238 from roc-lang/glue-towards-ts
Move RustGlue.roc closer to what we have on the ts branch
2023-03-31 10:11:23 -04:00
Ayaz Hafiz
8ca7f91fcd
Clippy 2023-03-30 18:25:31 -05:00
Ayaz Hafiz
4936708b18
Add gen test 2023-03-30 18:20:09 -05:00
Ayaz Hafiz
247913dc20
Record all nested recursive structures an entry in the layout cache contains
If an entry in the layout cache contains recursive structures, the entry
is not reusable if the recursive structure is currently in the "seen"
set. The example elucidated in the source code is as follows:

Suppose we are constructing the layout of

```
[A, B (List r)] as r
```

and we have already constructed and cached the layout of `List r`, which would
be

```
List (Recursive [Unit, List RecursivePointer])
```

If we use the cached entry of `List r`, we would end up with the layout

```
Recursive [Unit, (List (Recursive [Unit, List RecursivePointer]))]
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cached layout for `List r`
```

but this is not correct; the canonical layout of `[A, B (List r)] as r` is

```
Recursive [Unit, (List RecursivePointer)]
```

However, the current implementation only preserves this behavior for
structures that contain one recursive structure under them. In practice,
there can be structures that contain multiple recursive structures under
them, and we must be sure to record all those structures in the
layout-cache.
2023-03-30 18:15:35 -05:00
Ayaz Hafiz
a003451c1f
Add a SmallVec data structure that saves a list on the stack 2023-03-30 18:13:52 -05:00
Folkert
4419e961c8
remove unneeded extern definitions 2023-03-30 21:36:30 +02:00
Folkert
09779f65ad
add NullPointer to mono::ir::Expr 2023-03-30 20:18:04 +02:00
Richard Feldman
dca2d2afd8
Fix Str examples that were using small strings 2023-03-29 21:23:14 -04:00
Richard Feldman
f6f201f1d3
Update mono tests 2023-03-29 21:23:14 -04:00
Richard Feldman
40375a7256
Add some Str.fromUtf8 tests 2023-03-29 21:23:14 -04:00
Richard Feldman
c3c1b8d083
Add Str.walkUtf8 2023-03-29 21:23:13 -04:00
Richard Feldman
f7e96ecf82
Expand some Str docs 2023-03-29 21:23:13 -04:00
Folkert de Vries
7a77702e78
Merge pull request #5190 from roc-lang/pluggable-glue
Pluggable glue
2023-03-29 23:15:57 +02:00
Folkert
99a3c08911
bake roc_alloc and friends into the dynamic library for glue 2023-03-29 19:43:59 +02:00
Folkert
d67617e64b
when roc_panic is setjmp/longjmp, mark its linkage as internal 2023-03-29 15:03:30 +02:00
Brendan Hansknecht
457725e87f
fix end offset of fromUtf8Range 2023-03-28 18:53:47 -07:00
Folkert de Vries
294d32f62b
Merge pull request #5221 from roc-lang/fixes-for-nick
Fix a couple bugs Nick Hallstrom ran into
2023-03-29 01:34:17 +02:00
Folkert de Vries
5374cf21f2
Merge pull request #5205 from roc-lang/i4759
Remove inaccurate debug assertion in IR gen
2023-03-29 01:33:51 +02:00
Luke Boswell
addc4debef
merge main, update fail test descriptions 2023-03-29 10:01:38 +11:00
Luke Boswell
e5dd4295c9
Merge remote-tracking branch 'remote/main' into builtin-json 2023-03-29 09:49:26 +11:00