Brendan Hansknecht
f87c32ca7d
clippy
2024-07-13 10:39:52 -07:00
Brendan Hansknecht
44cd1ee9c4
Avoid accessing unallocated bytes in list.incref
2024-07-13 10:39:52 -07:00
Brendan Hansknecht
9b6798ead1
Correct refcounting check to be recursive through aggregate types
2024-07-13 10:39:52 -07:00
Brendan Hansknecht
951cb1ef3d
Correct list replace bitcode arg order
2024-07-13 10:39:52 -07:00
Brendan Hansknecht
a1d08702a4
Update roc_std List to handle size on the heap
...
This increased the number of failing tests for some reason (more segfaults).
That said, I think it is correct.
Probably just exposing errors from elsewher that haven't been addressed (maybe causing a double free).
2024-07-13 10:39:51 -07:00
Brendan Hansknecht
93fab26c01
Add a RocRefcounted trait in roc_std
...
This is required to properly handle refcounting of RocList.
Without it, we can't tell if we need to get the length from the heap.
That said, it isn't a pretty solution.
I think dealing with generating bespoke type in glue would feel nicer than this but be much more work.
It also would deal with the issue of implementations in the bitcode not matching external libraries.
That said, it would require exposing way more symbols from roc for each monomophorphized list variant.
2024-07-13 10:39:51 -07:00
Brendan Hansknecht
3c842196fa
Update LLVM to properly increment and decrement lists
2024-07-13 10:39:51 -07:00
Brendan Hansknecht
255cc31ad9
change zig bitcode refcounting to require whether or not an element is refcounted
...
This also requires zig bitcode to have access to the dec functions for elements.
This is needed so that zig will be able to free elements in lists.
2024-07-13 10:39:51 -07:00
Anton-4
b702cb634f
better mono repl error
2024-07-12 17:02:34 +02:00
Anton-4
15a7ed2e95
added error tip
2024-07-09 19:46:33 +02:00
Anton-4
0d9db5bf2d
Merge pull request #6881 from roc-lang/empty-open-union
...
fix openness inference for empty tag
2024-07-09 16:46:54 +02:00
Anton-4
4341c37b99
cleanup
2024-07-09 13:55:39 +02:00
Sam Mohr
b9a17f4a49
Merge pull request #6883 from smores56/new-builder-syntax
...
Implement new builder syntax alongside old one
2024-07-08 11:19:01 -07:00
Anton-4
0502734293
fmt
2024-07-08 14:14:36 +02:00
Anton-4
6b2d2e3406
minor improvements
2024-07-08 14:11:22 +02:00
Kiryl Dziamura
2cad4b3e21
update test snapshots
2024-07-08 11:51:29 +02:00
Kiryl Dziamura
3f22c55dda
fix suffixed tests
2024-07-08 11:39:04 +02:00
Kiryl Dziamura
ebf55fa793
fix region calculation
2024-07-08 11:39:03 +02:00
Kiryl Dziamura
b2484f144c
fix def replace
2024-07-08 11:39:03 +02:00
Kiryl Dziamura
8163de02f3
refactor unique ident generator
2024-07-08 09:44:36 +02:00
Kiryl Dziamura
64220567e5
better documentation for underscore pattern
2024-07-08 09:44:36 +02:00
Kiryl Dziamura
e0af069645
don't unwrap empty destructuring pattern
2024-07-08 09:44:35 +02:00
Sam Mohr
74f05eca40
Fix broken test_reporting test
2024-07-07 19:02:31 -07:00
Sam Mohr
618b713ecd
Merge branch 'main' into new-builder-syntax
2024-07-07 18:33:36 -07:00
Sam Mohr
fe1b6d71fc
Update from PR comments
2024-07-07 18:33:20 -07:00
Luke Boswell
1d1b96abb9
Merge pull request #6862 from JRI98/fix_6215
...
Fix handling of spaces after for `as`
2024-07-08 08:51:53 +10:00
Ayaz
eca229e3d1
Merge pull request #6887 from roc-lang/in-layout-unit
2024-07-07 17:22:56 -05:00
Folkert
80a83f3935
when inserting into an interner, re-use Layout::UNIT when possible
...
it is prettier in debug output, and should also be more efficient
2024-07-07 23:11:36 +02:00
Ayaz Hafiz
0e52a7e069
Make sure FunctionKind is determined in all entry points
...
There are a lot of entry points for a Roc program. They should probably
be all consolidated into one, but for now, when FunctionKind is needed,
determine it from the environment. This fixes EXPERIMENTAL_ROC_ERASE for
`roc test` etc.
Also print the location of a failure when `internal_error!` is called. I
think this should panic instead, and I thought it used to - does anyone
know if that changed?
2024-07-07 16:01:14 -05:00
Sam Mohr
f415017c90
Implement new builder syntax alongside old one
2024-07-07 03:28:59 -07:00
Anton-4
7180a93273
fix openness inference for empty tag
2024-07-06 16:29:10 +02:00
Folkert
2ec7f56643
add TODO comment
2024-07-06 16:21:03 +02:00
Folkert
ee3ac41a58
add assert to prevent UB?!
2024-07-06 16:14:34 +02:00
Folkert
26e6f1ca92
clippy
2024-07-06 16:14:34 +02:00
Folkert
90b70c3df0
slightly optimize modified tracking
2024-07-06 16:14:33 +02:00
Folkert
f4bd41352b
use BorrowSignature::from_layouts
2024-07-06 16:14:33 +02:00
Folkert
14b02c5827
remove clone
2024-07-06 16:14:32 +02:00
Folkert
413d6621c0
clippy
2024-07-06 16:14:32 +02:00
Folkert
9c0408b28e
fix ui tests
2024-07-06 16:14:32 +02:00
Folkert
047779d981
WIP infer join points too
2024-07-06 16:14:29 +02:00
Folkert
0932c542ca
update mono tests
2024-07-06 16:12:01 +02:00
Folkert
4a121a2348
nothing we can do for by-pointer calls
2024-07-06 16:08:59 +02:00
Folkert
f361d79249
make a real fixed point
2024-07-06 16:08:59 +02:00
Folkert
48ddbec9d1
mono tests
2024-07-06 16:08:56 +02:00
Folkert
3cbec41d59
hook borrow inference up
2024-07-06 16:05:52 +02:00
Folkert
199558b661
basic transitive inference
2024-07-06 16:05:52 +02:00
Anton-4
1bcf30391b
Merge pull request #6819 from roc-lang/rust-1-77-2-upgrade
...
Rust 1.77.2 upgrade
2024-07-06 03:23:54 +02:00
Anton-4
81d18cc84b
use dead_code for Both
...
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2024-07-05 14:17:52 +02:00
JRI98
25084b18ec
Fix handling of spaces after for as
2024-07-05 09:40:56 +01:00
Agus Zubiaga
13ba59a4cb
Fix hang on qualified import with builtin name
2024-07-03 12:40:53 -03:00