Commit Graph

1489 Commits

Author SHA1 Message Date
Folkert
d7f392bbea
another go at umul 2022-08-19 21:26:51 +02:00
Anton-4
9a715a0d4b
improve comments zig tests, set up zig tests in CI 2022-08-19 17:14:49 +02:00
Folkert
2a302cfc46
dev backend unsigned multiply: round 2 2022-08-18 23:11:54 +02:00
Folkert
3f6f070042
add tests for mulsd and mulss 2022-08-18 22:37:31 +02:00
Folkert
271fbe69e8
attempt at unsigned multiplication 2022-08-17 14:14:46 +02:00
Folkert
d39de07b5a
implement float multiplication 2022-08-17 13:32:58 +02:00
Folkert
038ba47409
make integer multiplication work for quadwords and lower 2022-08-17 13:05:48 +02:00
raleng
4371905738
Fix file links in gen_dev readme 2022-08-17 12:40:28 +02:00
Ayaz Hafiz
abdc0d5689
Add an example for deeply nested record decoding 2022-08-16 08:11:14 -05:00
Ayaz Hafiz
0d763518f1
Make sure to push more symbols coming from Derived_synth to Derived_gen 2022-08-16 08:10:04 -05:00
Richard Feldman
0ba5b3cfc6
Merge pull request #3711 from roc-lang/record-decoding
Record decoding and their derivers
2022-08-15 22:06:34 -04:00
Brian Carroll
fa1a870d4b
Merge pull request #3791 from roc-lang/dependabot/cargo/indoc-1.0.7
Bump indoc from 1.0.6 to 1.0.7
2022-08-15 21:04:16 +01:00
Brian Carroll
2227b3d11d
Merge pull request #3813 from roc-lang/dependabot/cargo/crossbeam-0.8.2
Bump crossbeam from 0.8.1 to 0.8.2
2022-08-15 21:03:09 +01:00
Richard Feldman
0f179272d9
Add some Set builtin tests 2022-08-15 13:05:32 -04:00
Ayaz Hafiz
bed9b57b58
Add ignored empty record decoding test 2022-08-15 11:11:37 -05:00
Ayaz Hafiz
21c3d0cafa
Add test for string and int record decoding 2022-08-15 11:11:37 -05:00
Ayaz Hafiz
51faeaf9af
Fix doc comment 2022-08-15 11:11:37 -05:00
Ayaz Hafiz
3770db5d70
Add test for underivable optional record 2022-08-15 11:11:37 -05:00
Ayaz Hafiz
68441479b8
Add decoding record derive key tests 2022-08-15 11:11:37 -05:00
Ayaz Hafiz
07cac2b4ce
Avoid non-consuming iterators 2022-08-15 11:11:37 -05:00
Ayaz Hafiz
434e202580
Make sure to chase extension variable in record deriving 2022-08-15 11:11:37 -05:00
Ayaz Hafiz
80c939f21e
Remove temporary 2022-08-15 11:11:36 -05:00
Ayaz Hafiz
ed23461165
Only open extension variable when feature is turned on 2022-08-15 11:11:36 -05:00
Ayaz Hafiz
9a7e280e9c
Add some more comments to record decoding 2022-08-15 11:11:36 -05:00
Ayaz Hafiz
b698e7f391
Remove mono test 2022-08-15 11:11:36 -05:00
Ayaz Hafiz
0f58328d3d
Use wrap_in_decode_custom_decode_with for decode record 2022-08-15 11:11:36 -05:00
Ayaz Hafiz
23c6e6ea87
Add a wrap_in_decode_custom_decode_with helper for decode deriving 2022-08-15 11:11:36 -05:00
Ayaz Hafiz
60ed17155c
Check in gen test for record decoding! 2022-08-15 11:11:36 -05:00
Ayaz Hafiz
44a746b473
Update derive decoder test 2022-08-15 11:11:36 -05:00
Ayaz Hafiz
634e9a2b69
Remove dbgs 2022-08-15 11:11:35 -05:00
Ayaz Hafiz
07392a35a7
Populate type of decoded record completely 2022-08-15 11:11:35 -05:00
Ayaz Hafiz
e93145180e
Better debug symbols for derivers 2022-08-15 11:11:35 -05:00
Richard Feldman
639df6c8c0
Unify this_decode_with_var 2022-08-15 11:11:35 -05:00
Richard Feldman
b3b6a7ee9f
Type-check lots of step_field 2022-08-15 11:11:35 -05:00
Richard Feldman
c34427bbf9
Rename record_var to initial_state_var 2022-08-15 11:11:34 -05:00
Ayaz Hafiz
d01c5c83b7
Check in gen tests that don't work yet 2022-08-15 11:11:33 -05:00
Ayaz Hafiz
f95c5aee12
Check in derived record impl 2022-08-15 11:11:33 -05:00
Ayaz Hafiz
66f75b86ee
Fix ROC_PRINT_UNIFICATIONS_DERIVED 2022-08-15 11:11:33 -05:00
Ayaz Hafiz
a276578642
Use some flex vars where they're needed for constraining 2022-08-15 11:11:33 -05:00
Ayaz Hafiz
e2e5faa28a
Rename to state_record_var 2022-08-15 11:11:33 -05:00
Ayaz Hafiz
1e1c44264f
Make sure to use result from inserting into subs, rather than uninit buffer 2022-08-15 11:11:33 -05:00
Richard Feldman
89f947f3ae
Finish setting up types for derived decoders 2022-08-15 11:11:33 -05:00
Richard Feldman
ddd462ec8b
Finish step 2022-08-15 11:11:33 -05:00
Richard Feldman
0579d84bf0
Set types for Keep/Skip 2022-08-15 11:11:32 -05:00
Richard Feldman
bccfa55179
Unify more derived decoder things 2022-08-15 11:11:32 -05:00
Richard Feldman
33548874d3
Drop some doc comments 2022-08-15 11:11:32 -05:00
Richard Feldman
8289458eee
Unify this_decode_with_var 2022-08-15 11:11:32 -05:00
Richard Feldman
13e3146ac1
Type-check lots of step_field 2022-08-15 11:11:32 -05:00
Richard Feldman
1587bfbeb5
Add type checking for finalizer 2022-08-15 11:11:32 -05:00
Richard Feldman
93d07079e1
Add type info to decoder_initial_state 2022-08-15 11:11:32 -05:00
Richard Feldman
7e12bcff1d
Rename variant_var to tag_union_var 2022-08-15 11:11:32 -05:00
Ayaz Hafiz
c81eecd644
Print back records without trailing comma 2022-08-15 11:11:31 -05:00
Ayaz Hafiz
0fd467ca01
Print back record updates 2022-08-15 11:11:31 -05:00
Richard Feldman
6e008cf718
Finish building expressions for decoder_record 2022-08-15 11:11:31 -05:00
Richard Feldman
d3e96e9aa8
Expand record deriving decoding 2022-08-15 11:11:31 -05:00
Richard Feldman
0bff2c6674
Support converting Lowercase to Box<str> 2022-08-15 11:11:31 -05:00
Ayaz Hafiz
e1359c3025
Print back tags appropriately 2022-08-15 11:11:31 -05:00
Richard Feldman
bff2852639
Add an initial record decoding test 2022-08-15 11:11:31 -05:00
Richard Feldman
bf8c253b13
Add some basic record decoding 2022-08-15 11:11:31 -05:00
Richard Feldman
6af6006cdd
Give TagName a From<&str> 2022-08-15 11:11:30 -05:00
Ayaz Hafiz
aa5e1e6a27
Build derive keys for derivable records 2022-08-15 11:11:30 -05:00
Ayaz Hafiz
275391c065
Move check_ext_var to utility module 2022-08-15 11:11:30 -05:00
Ayaz Hafiz
583829eaf5
Pass stepper function explicitly, for now 2022-08-15 11:11:30 -05:00
Ayaz Hafiz
29793fac32
Begin working on JSON record decoding
And we've hit a borrow panic 😍
2022-08-15 11:11:29 -05:00
Richard Feldman
52dc1fb723
Clean up some trailing spaces 2022-08-15 10:59:58 -04:00
dependabot[bot]
4c6ad52c47
Bump indoc from 1.0.6 to 1.0.7
Bumps [indoc](https://github.com/dtolnay/indoc) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/dtolnay/indoc/releases)
- [Commits](https://github.com/dtolnay/indoc/compare/1.0.6...1.0.7)

---
updated-dependencies:
- dependency-name: indoc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 13:18:18 +00:00
dependabot[bot]
2dbb017403
Bump crossbeam from 0.8.1 to 0.8.2
Bumps [crossbeam](https://github.com/crossbeam-rs/crossbeam) from 0.8.1 to 0.8.2.
- [Release notes](https://github.com/crossbeam-rs/crossbeam/releases)
- [Changelog](https://github.com/crossbeam-rs/crossbeam/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crossbeam-rs/crossbeam/compare/crossbeam-0.8.1...crossbeam-0.8.2)

---
updated-dependencies:
- dependency-name: crossbeam
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 13:16:53 +00:00
Ayaz
0d96f4fc7d
Merge pull request #3806 from roc-lang/dependabot/cargo/encode_unicode-1.0.0
Bump encode_unicode from 0.3.6 to 1.0.0
2022-08-15 08:16:49 -05:00
dependabot[bot]
cd3e2c8d36
Bump hashbrown from 0.12.2 to 0.12.3
Bumps [hashbrown](https://github.com/rust-lang/hashbrown) from 0.12.2 to 0.12.3.
- [Release notes](https://github.com/rust-lang/hashbrown/releases)
- [Changelog](https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/hashbrown/compare/v0.12.2...v0.12.3)

---
updated-dependencies:
- dependency-name: hashbrown
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 05:30:58 +00:00
dependabot[bot]
be82551719
Bump encode_unicode from 0.3.6 to 1.0.0
Bumps [encode_unicode](https://github.com/tormol/encode_unicode) from 0.3.6 to 1.0.0.
- [Release notes](https://github.com/tormol/encode_unicode/releases)
- [Changelog](https://github.com/tormol/encode_unicode/blob/master/RELEASES.md)
- [Commits](https://github.com/tormol/encode_unicode/compare/v0.3.6...v1.0.0)

---
updated-dependencies:
- dependency-name: encode_unicode
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 05:30:40 +00:00
Folkert de Vries
f2a6310137
Merge pull request #3735 from roc-lang/turn-on-abilities-wasm-tests
Turn abilities tests for wasm dev and wasm LLVM back on
2022-08-14 16:18:48 +02:00
Brian Carroll
fe0dad1136
Merge pull request #3772 from RossSmyth/Layouts
Fix some layout reprs
2022-08-14 10:50:48 +01:00
Ayaz
11f0de21e1
Merge pull request #3781 from roc-lang/dependabot/cargo/insta-1.18.2
Bump insta from 1.15.0 to 1.18.2
2022-08-13 13:36:32 -07:00
Ayaz Hafiz
c0969e5ff8
Reuse allocations in fixing closures 2022-08-13 10:38:53 -07:00
Ayaz Hafiz
d19c9107b2
swap_remove rather than removing in place 2022-08-13 10:30:58 -07:00
Ayaz Hafiz
7215acdbac
Ensure that field layouts passed to closure unwrapping are sorted 2022-08-13 10:25:18 -07:00
Ayaz Hafiz
9ffe6eb6dd
Print function argument layouts in pretty mode 2022-08-13 10:25:18 -07:00
Ayaz Hafiz
991b99250c
Clippy 2022-08-13 10:25:18 -07:00
Ayaz Hafiz
6bcd682dde
Support captures between mutually recursive closures 2022-08-13 10:25:18 -07:00
Ayaz Hafiz
4b55416ca1
Add test for outer scope transient captures 2022-08-13 10:25:18 -07:00
Ayaz Hafiz
5ead673cfc
Add gen tests for transient closure captures 2022-08-13 10:25:18 -07:00
Ayaz Hafiz
e97ce32b88
Fixup transient closure captures during canonicalization
Closure captures can be transient, but previously, we did not handle
that correctly. For example, in

```
x = ""
inner = \{} -> x
outer = \{} -> inner {}
```

`outer` captures `inner`, but `inner` captures `x`, and in the body of
`outer`, we would not construct the closure data for `inner` correctly
before calling it.

There are a couple ways around this.

1. Update mono to do something when we are passed the captured
   environment of a closure, rather than attempting to construct a
   call-by-name's captured environment before callign it.
2. Fix-up closures during canonicalization to remove captured closures
   that themselves capture, and replace them with their captures.

This patch does (2), since (1) is much more involved and is not likely
to bring a lot of wins. In general I think it's reasonable to expect
captured environments, even if transient, to be fairly shallow, so I
don't think this will produce very large closure environments.

Closes #2894
2022-08-13 10:25:17 -07:00
Folkert
d78fc47b7a
use bindgen binary again 2022-08-13 19:06:23 +02:00
Folkert
ed055a0bd8
fix compile error in test 2022-08-13 19:05:45 +02:00
dependabot[bot]
7ab742dd1a
Bump insta from 1.15.0 to 1.18.2
Bumps [insta](https://github.com/mitsuhiko/insta) from 1.15.0 to 1.18.2.
- [Release notes](https://github.com/mitsuhiko/insta/releases)
- [Changelog](https://github.com/mitsuhiko/insta/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mitsuhiko/insta/compare/1.15.0...1.18.2)

---
updated-dependencies:
- dependency-name: insta
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-13 16:49:28 +00:00
Folkert
4bb653d389
bump the wasm function stack size in our fork of wasm3 2022-08-13 14:37:02 +02:00
Ross Smyth
80f14f61df
Add safe layout reprs and safety comments about layout 2022-08-13 03:49:12 -04:00
Richard Feldman
99a22d6bbd
Merge pull request #3747 from roc-lang/i2419
Add regression tests for #2419
2022-08-12 19:53:53 -04:00
Ayaz Hafiz
89457f9faf
Add Wasm32Result for Infallible 2022-08-12 15:42:20 -07:00
Ayaz Hafiz
aa26a0da44
Add regression tests for #2419
Closes #2419
2022-08-12 15:42:19 -07:00
dependabot[bot]
f0c83f730b
Bump im from 14.3.0 to 15.1.0 in /crates/compiler/parse/fuzz
Bumps [im](https://github.com/bodil/im-rs) from 14.3.0 to 15.1.0.
- [Release notes](https://github.com/bodil/im-rs/releases)
- [Changelog](https://github.com/bodil/im-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bodil/im-rs/compare/v14.3.0...v15.1.0)

---
updated-dependencies:
- dependency-name: im
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-12 21:09:40 +00:00
Folkert
3aa4ebb02f
get expect-fx to actually run 2022-08-12 23:03:01 +02:00
Richard Feldman
58c3575e44
Fix mono tests 2022-08-12 15:28:05 -04:00
Richard Feldman
7b2c1a7e64
s/trunk/main/g 2022-08-12 15:24:37 -04:00
Richard Feldman
97e2900bf5
s/rtfeldman/roc-lang/g in links to GitHub repos 2022-08-12 15:24:09 -04:00
Richard Feldman
641daab02c
Merge pull request #3754 from rtfeldman/avx512_valgrind_fix
valgrind fix for newer intel processors
2022-08-12 10:59:01 -04:00
Folkert
82c07590db
thread fx expects to the runner 2022-08-12 14:42:30 +02:00
Folkert
7e6a3ddc15
more boilerplate 2022-08-12 13:50:06 +02:00
Folkert
10b6f33ed2
boilerplate 2022-08-12 13:34:36 +02:00
Anton-4
72e60bceea
valgrind fix for newer intel processors 2022-08-12 12:06:31 +02:00
Anton-4
720f02372c
use most compatible bash shebang 2022-08-12 11:45:02 +02:00
Folkert de Vries
0798f787c5
Merge pull request #3736 from rtfeldman/i3687
Creation of a record whose type has an optional value is an error
2022-08-11 15:51:41 +02:00
Folkert
5b10ebeeb7
Merge remote-tracking branch 'origin/trunk' into i2453 2022-08-11 10:44:26 +02:00
Folkert de Vries
448c8ced53
Merge pull request #3749 from rtfeldman/i2165
Regression test for #2165
2022-08-11 10:23:45 +02:00
Folkert de Vries
ae0e90c8f3
Merge pull request #3738 from rtfeldman/i3444
Layout generation for recursive lambda sets
2022-08-11 10:22:07 +02:00
Ayaz Hafiz
a1445c25bd
Update solve test 2022-08-10 20:24:20 -07:00
Ayaz Hafiz
b3d4c8f09b
Parse explicit optional field types as rigid optionals 2022-08-10 20:24:19 -07:00
Ayaz Hafiz
b69051c90e
Print rigid optional types correctly 2022-08-10 20:24:19 -07:00
Ayaz Hafiz
b311dc4741
Remove stray dbg 2022-08-10 20:24:19 -07:00
Ayaz Hafiz
81bb889e93
Add RigidOptional record field variant 2022-08-10 20:24:18 -07:00
Ayaz Hafiz
d8c18cc898
Ignore argument 2022-08-10 20:23:17 -07:00
Ayaz Hafiz
10288d3430
Fix compile errors 2022-08-10 16:10:32 -07:00
Ayaz Hafiz
c423e3f5ce
Regression test for #2165
Closes #2165
2022-08-10 16:01:56 -07:00
Ayaz Hafiz
fdb79da5a8
Report anonymous functions as "this function" rather than symbol name
Closes #2453

Thanks for the assist @chris-packett
2022-08-10 15:26:52 -07:00
Ayaz Hafiz
d8e2ca7b1e
Add test for when conditional polymorphic expr becomes a float
Closes #2884
2022-08-10 13:20:07 -07:00
Richard Feldman
0105fa4c4a
Merge pull request #3733 from rtfeldman/expect-fx
Expect fx
2022-08-09 23:03:37 -04:00
Ayaz Hafiz
40c73b4138
Add more names 2022-08-09 18:13:25 -07:00
Ayaz Hafiz
bfd49299e0
Clippy 2022-08-09 17:45:52 -07:00
Ayaz Hafiz
ee188b8e85
use layout_from_recursive_union to generate lambda set recursive layouts 2022-08-09 16:45:35 -07:00
Ayaz Hafiz
4d5331557c
Add more tests for recursie lambda sets 2022-08-09 16:12:30 -07:00
Ayaz Hafiz
86c6d339c3
Choose merged closure var based on whether it's recursive or not 2022-08-09 16:08:24 -07:00
Ayaz Hafiz
3f1e11f920
Recursive vars in occurs check can happen anywhere in the chain 2022-08-09 16:07:59 -07:00
Ayaz Hafiz
f20d1ac59a
Typo 2022-08-09 15:30:28 -07:00
Ayaz Hafiz
021cc6e506
Support non-nullable-unwrapped recursive lambda sets 2022-08-09 15:17:16 -07:00
Ayaz Hafiz
c1a7e7893b
Simplify combine 2022-08-09 15:17:09 -07:00
Ayaz Hafiz
4bfac11624
Remove mono test in favor of gen tests 2022-08-09 14:58:57 -07:00
Ayaz Hafiz
1a09f3e0e6
Make sure checking captures layouts chases recursion pointers 2022-08-09 14:57:59 -07:00
Ayaz Hafiz
ba2768c9b0
Build member layouts for recursive lambda sets 2022-08-09 14:44:09 -07:00
Ayaz Hafiz
a4bb6879bc
Resolve recursive pointer lambda set layouts when unpacking captures 2022-08-09 14:43:36 -07:00
Ayaz Hafiz
549b00d327
Handle recursive variables in building lambda set representations 2022-08-09 14:11:02 -07:00
Ayaz Hafiz
e1fb21fc59
Reproduce recursive lambda set inference 2022-08-09 14:09:57 -07:00
Ayaz Hafiz
d22bd274fd
Check for infinite types of introduced variables before bodies 2022-08-09 14:09:51 -07:00
Ayaz Hafiz
9f206e89f4
Turn on LLVM wasm tests for gen_abilities
Closes #3708
2022-08-09 09:06:04 -07:00
Ayaz Hafiz
b572b0b287
Turn on abilities tests for gen-wasm
Closes #3708
2022-08-09 09:04:34 -07:00
Folkert
0c284f2bbf
clippy 2022-08-09 15:44:08 +02:00
Folkert de Vries
4cb5de4428
Merge pull request #3732 from rtfeldman/roc-load-cleanup
roc load cleanup
2022-08-09 15:37:13 +02:00
Folkert
7c9b1897bb
fully canonicalize expect-fx 2022-08-09 14:50:24 +02:00
Folkert
9a352440de
parse expect-fx 2022-08-09 14:19:12 +02:00
Folkert
bcbc8b4d50
basic canonicalization 2022-08-09 13:59:24 +02:00
Folkert
15665d612d
add an env var that skips building the subs cache 2022-08-09 12:59:36 +02:00
Folkert
4766c78d61
factor goal phase out of state 2022-08-09 12:45:57 +02:00
Folkert de Vries
e5e297aa2c
Merge pull request #3723 from rtfeldman/wasm-stack-size-control-i2490
CLI argument for Wasm dev stack size
2022-08-09 12:33:38 +02:00
Folkert de Vries
cbf8602430
Merge pull request #3676 from rtfeldman/complete-num-add
gen_dev: Support all number types in NumAdd
2022-08-09 11:35:55 +02:00
Brian Carroll
86b5db10d5
Merge branch 'trunk' of github.com:rtfeldman/roc into wasm-stack-size-control-i2490 2022-08-08 22:39:26 +01:00
Brian Carroll
91489ce6bd
cli: create an option for wasm dev backend stack size 2022-08-08 22:28:58 +01:00
Brian Carroll
dd040d5f73
wasm: add stack_bytes field to Env 2022-08-08 21:41:25 +01:00
Folkert de Vries
168d5bce31
Merge pull request #3719 from rtfeldman/wasm-fix-gen-primitives
test_gen: fix Rust types where expected value is a function
2022-08-08 21:27:02 +02:00
Brian Carroll
11929a7b6d
wasm: set memory layout after code gen, when we know the amount of const data 2022-08-07 21:34:49 +01:00
Brian Carroll
e8003137d6
test_gen: fix Rust types where expected value is a function 2022-08-07 20:26:23 +01:00
Christoph Rüßler
003408e3ef
Merge remote-tracking branch 'origin/trunk' into complete-num-add 2022-08-07 19:52:06 +02:00
Christoph Rüßler
6d66b0deb6
Add support for i16/u16 to NumAdd 2022-08-07 19:41:35 +02:00
Folkert
792936066c
Merge remote-tracking branch 'origin/trunk' into roc-std-platform 2022-08-07 13:28:03 +02:00
Folkert de Vries
c7f9a39625
Merge pull request #3702 from rtfeldman/test-str-builtins
`roc test` on `Str` builtins
2022-08-07 13:14:17 +02:00
Richard Feldman
090ed922e3
Merge pull request #3714 from rtfeldman/expect-recursive-unions
expect recursive unions
2022-08-07 00:36:10 -04:00
Richard Feldman
3840aaeeea
Merge pull request #3715 from rtfeldman/remove-sendmap
remove some sendmap usage
2022-08-07 00:35:36 -04:00
Folkert
68888c79ae
skip expect codegen when not running tests 2022-08-06 22:03:56 +02:00
Richard Feldman
807f73fecf
Add some expects to Str 2022-08-06 21:45:21 +02:00
Folkert
9574bd9928
move implementation of platform functions to use site... 2022-08-06 21:32:18 +02:00
Folkert
6bf3e80f51
remove some sendmap usage 2022-08-06 20:00:39 +02:00
Folkert
b4eda7c9d9
rework features for roc_std 2022-08-06 19:01:07 +02:00
Folkert
a5293e2a60
and add non-nullable unwrapped 2022-08-06 18:27:04 +02:00
Folkert
be4e98e076
add recursive unions 2022-08-06 17:40:12 +02:00
Folkert
546b702740
nullable wrapped tags 2022-08-06 14:40:00 +02:00
Brian Carroll
50326f7e0b
Merge branch 'trunk' of github.com:rtfeldman/roc into wasm-code-gen-fixes-i3448 2022-08-06 10:12:24 +01:00
Brian Carroll
aa0e9e8d31
wasm: Get RC reset/reuse working correctly 2022-08-06 09:58:47 +01:00
Ayaz
d4e81ccbd2
Merge pull request #3695 from rtfeldman/derive-decoding-list
Derive decoding for lists!
2022-08-05 10:41:24 -05:00
Folkert de Vries
289319c900
Merge pull request #3704 from rtfeldman/fix-expect-fmt
Fix `expect` formatting
2022-08-05 16:12:53 +02:00
Richard Feldman
26ee1a01bc
Merge pull request #3691 from rtfeldman/cargo_verson_change
changed Cargo versions from 0.1.0 to 0.0.1
2022-08-05 09:13:04 -04:00
Brian Carroll
e71a6da62d
wasm: fix refcount bug in higher order low-levels 2022-08-05 09:51:51 +01:00
Richard Feldman
a3e441c086
Fix top-level expect formatting bugs 2022-08-04 23:14:19 -04:00
Richard Feldman
862b58b8f9
Fix expect formatting in expressions 2022-08-04 23:14:19 -04:00
Richard Feldman
0d0cebc40d
Reproduce expect formatting bugs 2022-08-04 23:14:16 -04:00
Ayaz
deb6231d8c
Turn off test on gen-wasm for now 2022-08-04 17:13:09 -05:00
Folkert de Vries
510016bf6e
Merge pull request #3680 from rtfeldman/derive-decoders-1
Derive immediate decoders for basic types
2022-08-05 00:07:52 +02:00
Folkert de Vries
801f692067
Merge pull request #3697 from rtfeldman/test-interfaces
Allow `roc test` on interface modules
2022-08-05 00:01:38 +02:00
Richard Feldman
7518164cac
Move an import to avoid an unused warning 2022-08-04 13:52:36 -04:00
Richard Feldman
304c2c0bb0
Fix test_gen::helpers::dev 2022-08-04 13:52:35 -04:00
Folkert de Vries
9f2ddc61d8
Merge pull request #3699 from rtfeldman/wasm-fix-uninit-capacity
Wasm: fix uninitialised capacity in List literals
2022-08-04 15:24:55 +02:00
Brian Carroll
7f44ace383
wasm: nicer debug output for Let statements 2022-08-04 12:30:25 +01:00
Brian Carroll
67f7512e6d
wasm: drop unused return value from copy_value_from_memory 2022-08-04 12:29:25 +01:00
Brian Carroll
85e5d11db4
wasm: fix List.getUnsafe trying to load a symbol before it was stored 2022-08-04 12:27:46 +01:00
Brian Carroll
f526005249
test_gen: make default option more obvious on wasm debug page 2022-08-04 12:15:31 +01:00
Brian Carroll
acc83bde7c
test_gen: Fix an inaccurate test return value 2022-08-04 10:00:21 +01:00
Brian Carroll
be6408227a
test_gen: change some i64's to usize's 2022-08-04 09:29:30 +01:00
Richard Feldman
7f65298cf5
Fix a warning when testing with --release 2022-08-03 22:59:50 -04:00
Richard Feldman
d9992e26b1
Fix wasm test helper 2022-08-03 22:59:36 -04:00
Richard Feldman
b0f7737227
Update mono tests 2022-08-03 22:45:38 -04:00
Richard Feldman
9f221d7fab
Disable roc_std default features in gen_wasm and test_gen 2022-08-03 22:40:58 -04:00
Ayaz Hafiz
d481c9d22e
Disable test on wasm3 2022-08-03 21:17:32 -05:00
Richard Feldman
0de889c1e9
Rename to_goal_phase, per Clippy's suggestion 2022-08-03 19:50:24 -04:00
Richard Feldman
d260d1e593
Make entry points optional in code gen 2022-08-03 19:50:24 -04:00
Richard Feldman
e685eba42b
fix tests 2022-08-03 19:50:17 -04:00
Richard Feldman
3136c5fb63
Allow testing interface modules 2022-08-03 19:49:48 -04:00
Ayaz Hafiz
7ee298324e
Link relevant issue of ignored test 2022-08-03 16:27:47 -05:00
Ayaz Hafiz
24810ca778
Add a couple tests that currently hit a compiler panic 2022-08-03 16:19:50 -05:00
Ayaz Hafiz
1273a6ab0b
Check in a couple of list deriving tests! 2022-08-03 16:11:45 -05:00
Ayaz Hafiz
c22bcc5c67
Resolve derived specializations that aren't functions 2022-08-03 16:11:09 -05:00
Ayaz Hafiz
8b63402b1c
Load non-function derived ability specializations correctly 2022-08-03 16:10:44 -05:00
Ayaz Hafiz
de3a12167b
Wrap list decoders in Decode.custom for now
Otherwise we get some weird panics in borrow, I think something is going
wrong with let-generalization
2022-08-03 16:09:22 -05:00
Ayaz Hafiz
8a0dedc975
Allow unused mut variable 2022-08-03 16:08:36 -05:00
Folkert de Vries
66d361d262 clippy 2022-08-03 22:35:22 +02:00
Folkert de Vries
943216f4c0 specialize zig host building for windows 2022-08-03 22:23:19 +02:00
Ayaz Hafiz
1526581542
Get the correct buitlin to derive from symbol name 2022-08-03 15:02:46 -05:00
Folkert de Vries
8f67129eae use platform-independent tempdir 2022-08-03 21:58:02 +02:00
Ayaz Hafiz
ab3ff6e842
Add a list decoder 2022-08-03 14:57:38 -05:00
Ayaz Hafiz
429ebbc830
Have v! macro specify what it needs itself 2022-08-03 14:57:16 -05:00
Folkert de Vries
a345649856 make test_gen build windows-proof 2022-08-03 21:46:04 +02:00
Folkert de Vries
7f4e0bb0c9 gen_wasm use dummy platform functions 2022-08-03 21:35:28 +02:00
Richard Feldman
afb857d3e9
Merge pull request #3682 from rtfeldman/windows-linking
Windows linking
2022-08-03 15:33:22 -04:00
Folkert de Vries
fe707a9d6c Revert "don't use default flags when using roc_std just for its types"
This reverts commit 092a119eb7.
2022-08-03 21:18:56 +02:00
Folkert de Vries
092a119eb7 don't use default flags when using roc_std just for its types 2022-08-03 20:24:18 +02:00
Ayaz Hafiz
19a0302b25
Turn on wasm tests that work 2022-08-03 11:49:43 -05:00
Ayaz Hafiz
5ba7b81d57
Disable wasm gen for now 2022-08-03 11:49:11 -05:00
Ayaz Hafiz
f52e329393
Remove deriving decoding module for now 2022-08-03 10:18:02 -05:00
Ayaz Hafiz
7bcfb2cd38
Gen tests for deriving decoding immediates 2022-08-03 10:17:03 -05:00
Ayaz Hafiz
b62c9d1faa
Support specialization of ability members that don't decay to functions 2022-08-03 10:16:22 -05:00
Ayaz Hafiz
b4e7ae0654
Make sure to part decimal part of a float after decimal point 2022-08-03 10:13:39 -05:00
Ayaz Hafiz
0e8eb5f6d0
Drop members with no actionable specialization decision 2022-08-03 08:56:26 -05:00
Ayaz Hafiz
61d34a4225
Get DeriveBuiltin from symbol 2022-08-03 08:56:26 -05:00
Ayaz Hafiz
44984d289c
Move derive Env to a util module 2022-08-03 08:56:26 -05:00
Ayaz Hafiz
e2179348c6
Add derive keys for decoders 2022-08-03 08:56:25 -05:00
Anton-4
6697e353a1
Merge pull request #3674 from rtfeldman/decode-obligation-checking
Obligation checking for derivability of Decode
2022-08-03 14:19:20 +02:00
Folkert de Vries
b4880ae66f
Merge pull request #3689 from rtfeldman/fix/3685-Str.splitLast
Fix Str.splitLast for needle positioned last
2022-08-03 13:27:25 +02:00
Folkert de Vries
f233fae480
Merge pull request #3690 from rtfeldman/3318-is-multiple-of-unsigned
Fix `Num.isMultipleOf` for unsigned ints
2022-08-03 13:25:56 +02:00
Folkert de Vries
3a8a251098 Merge branch 'windows-linking' of https://github.com/rtfeldman/roc into windows-linking 2022-08-03 11:41:50 +02:00
Folkert de Vries
940d912ca0 unknown is unix, right 2022-08-03 11:41:44 +02:00
Anton-4
6a15a7b41b
changed Cargo versions from 0.1.0 to 0.0.1 2022-08-03 11:41:19 +02:00
Anton-4
2b08347e66
cap retries on flaky error 2022-08-03 11:30:47 +02:00
Mostly Void
d6a54710d6
Fix Str.splitLast
This fixes the behavior of the function when the needle is positioned
last in the haystack.

» Str.splitLast "ehllo,," ",,"

Ok { after: "", before: "ehllo" } : Result { after : Str, before : Str } [NotFound]*
2022-08-03 11:30:49 +05:30
Ayaz Hafiz
ef85c57348
Update solve tests 2022-08-02 21:24:59 -05:00
Ayaz
d0890e0694
Merge pull request #3677 from rtfeldman/refactor-derive-tests
Refactor deriving tests to put testing utilities in separate module
2022-08-02 21:04:03 -05:00
Ayaz Hafiz
327246d69f
Update solve tests 2022-08-02 16:58:20 -05:00
Ayaz Hafiz
3ec68fb3ef
Update type variables in derive tests 2022-08-02 16:16:12 -05:00
Ayaz Hafiz
6ebb0bfa6d
Fix solve tests 2022-08-02 16:15:35 -05:00
Ayaz Hafiz
9877224678
Turn on deriver tests that work again
Blocked on #3643
2022-08-02 16:15:35 -05:00
Folkert de Vries
a00cb58660
Merge pull request #3679 from rtfeldman/i3669
Choose recursion var when merging arbitrary variables, when possible
2022-08-02 22:09:50 +02:00
Christoph Rüßler
38f7fc7136
Add support for f32 to NumAdd 2022-08-02 21:57:08 +02:00
Christoph Rüßler
8cd63290f9
Add support for more integer types to NumAdd 2022-08-02 21:57:07 +02:00
Folkert de Vries
1dffa4a734 Merge remote-tracking branch 'origin/trunk' into windows-linking 2022-08-02 21:43:46 +02:00
Ayaz Hafiz
db53ebf1bb
Fix merge conflicts 2022-08-02 14:35:13 -05:00
Ayaz Hafiz
d9959c8650
Update solve tests 2022-08-02 14:32:27 -05:00
Anton-4
ced2b2cda9
auto-retry flaky zig on FileNotFound 2022-08-02 14:31:17 -05:00
Ayaz Hafiz
fb5ab7d7ca
More aggressive inlining 2022-08-02 14:31:17 -05:00
Ayaz Hafiz
19e93962cb
Check for builtin opaque types that always have a derived impl 2022-08-02 14:31:17 -05:00
Ayaz Hafiz
57c1bed218
Include Decode aliases 2022-08-02 14:31:17 -05:00
Ayaz Hafiz
4bbc6b74fc
Add derivability obligation checking for Decode 2022-08-02 14:31:16 -05:00
Ayaz Hafiz
a7bc8cf4f2
Switch obligation checking to use a visitor
My hope is this will make obligation checking for other abilities easier
to add when we do so
2022-08-02 14:30:10 -05:00
Ayaz Hafiz
86229718ad
Remove file that hasn't landed yet 2022-08-02 14:29:50 -05:00
Ayaz Hafiz
05d8bca0fb
Move DeriveBuiltin to derive_key 2022-08-02 14:29:49 -05:00
Ayaz Hafiz
6f06a59cdf
Condition derive tests on derived method 2022-08-02 14:28:20 -05:00