Commit graph

3689 commits

Author SHA1 Message Date
J.Teeuwissen
09ee92fce3
Merge branch 'main' into Frame-Limited 2023-04-02 19:53:23 +02:00
Ayaz
d42e831e47
Merge pull request #5242 from roc-lang/solve-specialization-tests
UI tests for the solver
2023-04-02 11:49:37 -05:00
Richard Feldman
2910024be5
Merge pull request #5230 from roc-lang/binop-revisions
Give |> the highest precedence, plus some perf opt
2023-04-02 11:00:44 -04:00
Ayaz Hafiz
b1f076e334
Print as debug 2023-04-02 09:15:37 -05:00
Ayaz Hafiz
25f58a74cc
Trim opts 2023-04-02 09:14:54 -05:00
Ayaz Hafiz
2f43aad8d0
Move uitests to their own crate 2023-04-02 09:11:31 -05:00
Richard Feldman
77ddfd6b9c
Move |> precedence to below arithmetic ops 2023-04-02 10:08:20 -04:00
Richard Feldman
7af55bafe6
Merge pull request #5224 from roc-lang/str-docs
Expand some `Str` docs
2023-04-02 09:49:16 -04:00
Richard Feldman
17bc79a5c5
Drop redundant tests 2023-04-02 09:15:47 -04:00
Richard Feldman
7ade0b5a12
Add tests for binop lookup table operdering 2023-04-02 09:15:46 -04:00
Richard Feldman
80c0978ecb
Add some binop tests 2023-04-02 09:15:46 -04:00
Richard Feldman
72dc754c28
Give |> the highest precedence, plus some perf opt 2023-04-02 09:15:46 -04:00
Richard Feldman
396c9ee8d8
Revert "Reproduce a Bumpalo failure"
This reverts commit 27eac403a5.
2023-04-02 08:28:18 -04:00
Richard Feldman
27eac403a5
Reproduce a Bumpalo failure 2023-04-02 08:28:16 -04:00
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
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
J.Teeuwissen
12352ceb6a
updated match 2023-03-31 21:12:40 +02:00
J.Teeuwissen
018e142997
merge remainders 2023-03-31 21:11:13 +02:00
J.Teeuwissen
fbd243e28c
null pointer 2023-03-31 21:09:59 +02: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
J.Teeuwissen
7759ce6fc4
Merge branch 'main' into Frame-Limited 2023-03-31 20:46:39 +02: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