Commit graph

1408 commits

Author SHA1 Message Date
Ayaz Hafiz
3856ea6199
Implement a cache policy - don't cache recursive pointers without a recursive layout 2022-08-31 14:16:42 -05:00
Ayaz Hafiz
eb5ec2bd98
Don't account for recursive unions in non-recursive layout gen 2022-08-31 14:16:42 -05:00
Ayaz Hafiz
d757701426
First pass at layout caching 2022-08-31 14:16:42 -05:00
Ayaz Hafiz
8b0f7dc82f
Propagate layout_cache throughout Env in generating layout
Sets up actually using the LayoutCache to get cached layouts.
2022-08-31 14:16:42 -05:00
Ayaz Hafiz
593d609c2b
Check for unifiability of lambda sets without a subs snapshot
Gives nice performance wins, in particular avoiding clones of
unification tables, which can grow quite large.

Closes #3940
2022-08-31 08:56:45 -05:00
Folkert de Vries
3dbf6cc99b
Merge pull request #3859 from roc-lang/dependabot/cargo/insta-1.19.0
Bump insta from 1.18.2 to 1.19.0
2022-08-30 12:14:24 +02:00
Folkert de Vries
938c55ee1e
Merge pull request #3872 from raleng/fix_formatting_multiline_strings
Fix multiline string formatting
2022-08-30 11:31:53 +02:00
Folkert
d93d42da8c
make chasing an ext return a custom type 2022-08-30 00:51:24 +02:00
Folkert de Vries
acb71d6007
Merge pull request #3835 from roc-lang/ext-vars-in-derivers
Support bound and unbound extension variables in deriving
2022-08-30 00:34:50 +02:00
Folkert de Vries
f918f16b0f
Merge pull request #3922 from roc-lang/i3722
Only compile and run expects that belong to the same package
2022-08-29 23:21:17 +02:00
Folkert de Vries
1db7c3664d
Merge pull request #3877 from roc-lang/dev-backend-add-checked
dev backend add checked
2022-08-29 09:47:20 +02:00
Richard Feldman
c6516acdb4
Drop unused ExecutionMode 2022-08-28 16:01:37 -04:00
ayazhafiz
3456a44742
Only compile and run expects that belong to the same package
In particular, don't run expects that come from modules with a different
package qualification (including subpackages; we can loosen this
restriction later), or builtins when run on userspace apps/interfaces.

Closes #3722
2022-08-28 10:16:55 -05:00
Richard Feldman
3ca9202e3b
Merge pull request #3834 from roc-lang/rust-1.63-clippy
rust 1.63 clippy
2022-08-27 21:15:36 -04:00
Richard Feldman
adb89bbf82
Merge pull request #3734 from roc-lang/decoding-optional-record-fields-illegal
Report errors for attempting to derive decoding of records with optional field types
2022-08-27 21:12:44 -04:00
Richard Feldman
7e3a10906c
Merge pull request #3888 from roc-lang/windows-cross-compilation
windows cross compilation
2022-08-27 07:59:05 -04:00
Brian Carroll
1603927507
Always skip subs cache on Windows 2022-08-26 21:28:09 +01:00
raleng
85eda83398
Enable and add multi-line string formatting tests 2022-08-26 12:19:14 +02:00
raleng
1c8bc7d969
Fix formatting block string containing quotes
Single-line block strings are parsed as PlainLines. When the string
contains quotes, this leads to invalid formatted strings. This commit
special cases strings containing quotes the same as strings containing
newlines and formats them to multiple lines using triple-quotes.
2022-08-26 11:36:54 +02:00
raleng
4991adb05b
Fix multiline string formatting
This change adds the proper indentation when formatting multiline
strings to not end up with invalid code. This also make sure that
multiline strings are always formatted using multiple lines, regardless
of the string literal itself contains a newline.
2022-08-26 11:13:37 +02:00
Brian Carroll
35de4c6e6e
Merge pull request #3894 from roc-lang/windows-disable-subs-caching
windows disable subs caching statically
2022-08-25 20:50:10 +01:00
Folkert
42d26a20b6
pass return layout along to checked add 2022-08-25 19:35:47 +02:00
Ayaz Hafiz
1c6d423e52
Add comment for why we're ignoring deep specialization tests 2022-08-25 09:41:57 -05:00
Ayaz Hafiz
356ba91f19
Ignore tests that stack overflow on debug builds 2022-08-25 09:22:53 -05:00
Brian Carroll
10e88a002d
Fix warnings in roc_load on Windows 2022-08-25 08:30:52 +01:00
Folkert de Vries
51d5aa789a
Merge pull request #3870 from roc-lang/dev-backend-div
add int/float division to the dev backend
2022-08-25 09:03:19 +02:00
Folkert
71e78f77a2
disable subs caching on windows statically 2022-08-24 23:16:49 +02:00
Folkert
428b1edf5d
cross-compile hello world (it runs in wine!) 2022-08-24 22:43:09 +02:00
Ayaz
f5e1baffda
Merge pull request #3887 from roc-lang/lib-dir-erro
improved lib dir error msg
2022-08-24 12:55:20 -05:00
Folkert de Vries
c06e5cfa32
Merge pull request #3769 from roc-lang/expect-fx-codegen
expect fx codegen
2022-08-24 19:48:42 +02:00
Anton-4
53aa346f47
clippy 2022-08-24 17:32:36 +02:00
Folkert
8ca7ee1e14
build zig builtins for windows 2022-08-24 16:59:06 +02:00
Anton-4
25a5303923
improved lib dir error msg 2022-08-24 16:46:55 +02:00
Ayaz Hafiz
238464c505
Get rid of a redundant subs snapshot 2022-08-24 09:01:02 -05:00
Ayaz Hafiz
2afad0127f
Replace snapshot of subs/layout directly with "TypeState" snapshots 2022-08-24 08:53:21 -05:00
Folkert
7d060e82fc
Merge remote-tracking branch 'origin/main' into expect-fx-codegen 2022-08-24 14:56:46 +02:00
Folkert
592a219f5d
remove test that is not useful 2022-08-24 14:09:16 +02:00
Ayaz Hafiz
3b2e3d515f
Include var in lambda set size traces 2022-08-23 15:42:01 -05:00
Ayaz Hafiz
b3f8ead89d
Add tracing of lambda set sizes in mono layout 2022-08-23 15:20:39 -05:00
Ayaz Hafiz
e5034e7331
Add tracing for external specializations 2022-08-23 14:32:24 -05:00
Folkert
a3a4a5ff3c
some gen_num test cleanups 2022-08-23 20:36:12 +02:00
Folkert
6869c5d5c8
implement signed checked addition 2022-08-23 20:23:01 +02:00
Ayaz Hafiz
2b9013c5f5
Add roc_tracing to test_mono 2022-08-23 13:11:30 -05:00
Folkert
b43c0ac1e3
use RocResult in addChecked test 2022-08-23 20:10:05 +02:00
Folkert
a44afd1383
enable some result tests for the dev backend 2022-08-23 20:08:33 +02:00
Ayaz Hafiz
848facb386
Add roc_tracing crate and initial traces in mono 2022-08-23 12:47:41 -05:00
Ayaz Hafiz
a01583efff
Add derive key tests for able ext vars 2022-08-23 10:41:06 -05:00
Ayaz Hafiz
a8bd529664
Support derivers for tag unions with ext vars 2022-08-23 10:41:06 -05:00
Ayaz Hafiz
2f24c81dab
Support deriving decoder for record with arbitrary ext var 2022-08-23 10:41:06 -05:00
Ayaz Hafiz
b5e59d22e3
Support extension variables in record and tag union encoding derive keys 2022-08-23 10:41:06 -05:00