kilianv
222f0e8870
Fix typo
2022-09-20 14:42:08 -05:00
kilianv
08c238ff27
Generate new files in test_mono after changing to opaque bools
2022-09-20 14:42:05 -05:00
kilianv
49319a2ffe
Update Bool documentation to opaque types
2022-09-20 14:42:04 -05:00
kilianv
610c529ba8
Update roc files to use new opaque bools
2022-09-20 14:42:04 -05:00
kilianv
9717747a54
Update tests
...
not all tests pass yet. Will look at them with Ayaz.
2022-09-20 14:42:03 -05:00
kilianv
6dbebd7834
Update Bool to be opaque
2022-09-20 14:42:01 -05:00
Ayaz Hafiz
412c73c54c
Add test cases for uninhabited variant collapsing with destructure patterns
...
Closes #4080
2022-09-20 14:22:40 -05:00
Ayaz Hafiz
f96c825aa4
Allow uninhabited type extension to happen on either unification side
2022-09-20 14:20:47 -05:00
Ayaz Hafiz
b0598ef817
Simplify unification with uninhabited tags to happen anytime tags are uninhabited
...
I believe this is safe! No need to gate it behind a mode.
2022-09-20 14:13:55 -05:00
Ayaz Hafiz
7f54c0fd94
FIx gen-wasm tests
2022-09-20 11:38:23 -05:00
Ayaz Hafiz
77fbc0189e
Eliminate unnecessary branch in List.roc
2022-09-20 08:43:08 -05:00
Ayaz Hafiz
2f7020aa31
Eliminate voided branches only after resolving their bodies' specializations
2022-09-20 08:35:10 -05:00
Ayaz
da75f55aea
Merge pull request #4069 from roc-lang/exhaustiveness-check-uninhabited
...
Don't require pattern matching branches that are uninhabited
2022-09-19 16:57:38 -05:00
Ayaz Hafiz
f41936d5e5
Unwrap layouts containing void layouts as newtypes
...
Addresses the attempt to do so in https://github.com/roc-lang/roc/pull/3465
Co-authored-by: Folkert <folkert@folkertdev.nl>
2022-09-19 16:50:49 -05:00
Folkert
639c1e5fa3
get rid of UnitWithArguments
2022-09-19 16:49:55 -05:00
Ayaz Hafiz
29244112df
Handle optional record fields in record pattern indexing
2022-09-19 13:51:16 -05:00
Ayaz Hafiz
1799d6ed0e
Construct exhaustiveness branches with condition, not branch, variable
...
Previously we would construct the shapes of unions used in the pattern
tree for exhaustiveness checking using the type of the branch patterns,
rather than the type of the condition variable. Clearly we want to
always use the condition variable, otherwise some branches will be
seen as exhaustive, when they are not!
To do this, we now index into the condition variable while refying the
patterns to build the tree for exhaustiveness checking.
Closes #4068
2022-09-19 13:37:59 -05:00
Ayaz Hafiz
0f0e414272
Improve error message for uninhabited patterns
2022-09-19 10:55:02 -05:00
Ayaz Hafiz
147636f42b
Base reported row numbers on original rows, not reified rows
2022-09-19 10:47:35 -05:00
Ayaz Hafiz
041b91e031
Add more test cases
2022-09-19 10:45:31 -05:00
Ayaz Hafiz
be853b65c5
Support unification of extension types with uninhabited branches
2022-09-19 10:32:39 -05:00
Ayaz Hafiz
8a42d60ca2
Move inhabited check to subs module
2022-09-19 10:08:18 -05:00
Folkert de Vries
d9217caae5
Merge pull request #4048 from roc-lang/JanCVanB-patch-1
...
Fix/update path
2022-09-16 23:29:50 +02:00
Ayaz Hafiz
ac752adc7c
Check in some more work
2022-09-16 16:09:21 -05:00
Ayaz Hafiz
6adb88beee
Report uninhabited branches as redundant
2022-09-16 15:55:46 -05:00
Ayaz Hafiz
0d98abae7b
Clippy
2022-09-16 15:39:09 -05:00
Ayaz Hafiz
1d7aef8c96
Don't include uninhabited constructors in exhaustiveness checking
2022-09-16 15:36:54 -05:00
Folkert
bdec61d5bb
fix bug in expect serialization of lambda sets
2022-09-16 22:19:55 +02:00
Ayaz Hafiz
d2cc1041aa
Unused import
2022-09-16 10:25:31 -05:00
Ayaz Hafiz
a81d4d4be2
Allow any numeric range to become a float
...
Currently things like `1 / 200` lead to a miscompilation because we type
`200` (and as a result, both `1` and the division result) as a ranged
number with width >= U8. During mono that forces the number to become an
`I64` because our logic was that a ranged number can only become a float
if it's at least as wide as an I8. But this is incorrect; as long as the
type is wrapped in `Frac` constructor and it's a ranged number (and not
a ranged int), it should become a fractional type.
```
» 1 / 200
0.005 : Float *
```
Closes #4047
2022-09-16 10:05:43 -05:00
Jan Van Bruggen
063464cb12
Fix/update path
...
I don't know if this file moved, but this is where it is now.
Signed-off-by: Jan Van Bruggen <JanCVanB@users.noreply.github.com>
2022-09-15 23:29:33 -06:00
Ayaz Hafiz
8cd4281173
Complex bitcast recursive tag union pointers when we need them to be opaque
...
Resolves a discussion on Zulip: https://roc.zulipchat.com/#narrow/stream/231635-compiler-development/topic/When.20recursive.20structs.20aren't.20recursive
2022-09-14 20:58:54 -05:00
Folkert de Vries
4b0342ef34
Merge pull request #4039 from roc-lang/fix-expect-oom
...
Copy list values from the correct offset when reporting expects
2022-09-14 22:51:57 +02:00
Ayaz Hafiz
fa700259aa
Clippy
2022-09-14 14:53:00 -05:00
Ayaz Hafiz
c4a3a8bd31
Copy list values from the correct offset when reporting expects
...
Co-authored-by: Folkert de Vries <folkert@folkertdev.nl>
2022-09-14 14:28:56 -05:00
Folkert de Vries
c218543408
Merge pull request #4033 from roc-lang/i4028
...
Span body of last branch in exhaustiveness checking
2022-09-14 21:24:23 +02:00
Ayaz Hafiz
6a83babaf3
Don't write extra newline if it's already there
2022-09-14 11:26:52 -05:00
Ayaz Hafiz
44772b8f3d
Don't add to host exposed during roc test
2022-09-14 11:26:50 -05:00
Ayaz Hafiz
31b894d027
Remove region when normalizing expects
2022-09-14 11:26:48 -05:00
Ayaz Hafiz
a8282f36c3
Handle values that are functions in expects
2022-09-14 11:26:46 -05:00
Ayaz Hafiz
42633c1f96
Span body of last branch in exhaustiveness checking
...
Closes #4028
2022-09-13 16:24:59 -04:00
Folkert de Vries
3ee3f23836
Merge pull request #3971 from roc-lang/dependabot/cargo/bumpalo-3.11.0
...
Bump bumpalo from 3.10.0 to 3.11.0
2022-09-13 21:00:00 +02:00
Richard Feldman
620a3feb75
Add some tests for Str.replace___ functions
2022-09-12 21:05:50 -06:00
Richard Feldman
4ed63c548b
Fix type mismatches in Str.replace___ functions
...
...and fix/finish the draft `Str.replaceEach` implementation!
Don't be so modest, Richard :)
2022-09-12 21:05:38 -06:00
Richard Feldman
c64874937f
Add entries for Str.replace___ functions to Symbol
2022-09-12 21:03:18 -06:00
Jan Van Bruggen
9ef57f86ac
Add first draft of Str.replaceEach
builtin
2022-09-12 21:03:11 -06:00
Jan Van Bruggen
2b65659a11
Add Str.replaceLast
builtin
2022-09-12 20:37:23 -06:00
Jan Van Bruggen
c5b6aef21a
Add Str.replaceFirst
builtin
2022-09-12 20:37:23 -06:00
dependabot[bot]
0079048944
Bump bumpalo from 3.10.0 to 3.11.0
...
Bumps [bumpalo](https://github.com/fitzgen/bumpalo ) from 3.10.0 to 3.11.0.
- [Release notes](https://github.com/fitzgen/bumpalo/releases )
- [Changelog](https://github.com/fitzgen/bumpalo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/fitzgen/bumpalo/compare/3.10.0...3.11.0 )
---
updated-dependencies:
- dependency-name: bumpalo
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-12 21:08:56 +00:00
dependabot[bot]
d1c406812f
Bump pretty_assertions from 1.2.1 to 1.3.0
...
Bumps [pretty_assertions](https://github.com/rust-pretty-assertions/rust-pretty-assertions ) from 1.2.1 to 1.3.0.
- [Release notes](https://github.com/rust-pretty-assertions/rust-pretty-assertions/releases )
- [Changelog](https://github.com/rust-pretty-assertions/rust-pretty-assertions/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-pretty-assertions/rust-pretty-assertions/compare/v1.2.1...v1.3.0 )
---
updated-dependencies:
- dependency-name: pretty_assertions
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-12 05:28:00 +00:00