Commit graph

6984 commits

Author SHA1 Message Date
Joshua Warner
b79d387b46
Fix fuzz Cargo.toml regression 2024-12-05 18:54:07 -08:00
Joshua Warner
edcdd99f59
Record updates 2024-12-05 18:54:07 -08:00
Joshua Warner
b9862b47dc
Several fixes found in fuzzing 2024-12-05 18:54:03 -08:00
Luke Boswell
e9caada3f1
Merge pull request #7249 from wizard7377/int_overflow
Fixed Integer casting
2024-12-06 07:12:49 +11:00
Luke Boswell
c37bd9a1de
Merge branch 'main' into int_overflow 2024-12-05 21:49:55 +11:00
Sam Mohr
9392742d17
Update tests 2024-12-05 02:33:20 -08:00
Sam Mohr
8c81742abe
Simplify category formatting for try concepts 2024-12-05 02:30:33 -08:00
Sam Mohr
de626102c8
Use new try impl for ? operator 2024-12-05 02:13:13 -08:00
Sam Mohr
193c23bac8
Merge pull request #7296 from smores56/proper-try-keyword
Proper `try` keyword
2024-12-05 01:38:22 -08:00
Joshua Warner
120e9be550
Move MigrationFlags from an argument on format* to a field on Buf
That has a few advantages:

* We avoid a bunch of extra parameter-passing "noise", since the vast majority of formatting code doesn't need to care about this setting beyond just passing it to nested format calls.
* It aligns really well with the "global" nature of this setting, and makes it impossible to have bugs where e.g. one callsite forgets to pass the correct value to it's children - which would lead to parts of the tree not being migrated. If this is truly a global setting on Buf, that simply can't happen.
2024-12-04 17:57:31 -08:00
Asher Frost
61512701b0
Merge branch 'main' into int_overflow 2024-12-04 19:04:53 -05:00
Anton-4
7c1dffb777
minor improvements 2024-12-04 14:32:38 +01:00
Sam Mohr
eedade8e81
Initial working version of proper try keyword 2024-12-04 02:31:59 -08:00
Anthony Bullard
a2083cec30
Parsing support for snake_case identifiers
In this initial commit, I have done the following:

- Added unit tests to roc_parse's ident.rs file to cover at least the
  simplest Ident enum cases (Tag, OpaqueRef, and simple Access)
- Added '_' as a valid "rest" character in both uppercase and lowercase
  identifier parts
- Updated the test_syntax snapshots appropriately

There is still a lot left to do here. Such as:

- Do we want to allow multiple '_'s to parse successfully?
- Handle qualified access
- Handle accessor functions
- Handle record update functions
- Remove the UnderscoreInMiddle case from BadIdent
- Write unit tests for Malformed Idents

I am not a "Rustacean" by any means, but have been through the Book in
years past.  Any feedback on the way I wrote the tests or any other part
of the implementation would be very appreciated.
2024-12-03 20:50:47 -06:00
Sam Mohr
a7168a4ad6
Merge pull request #7238 from smores56/allow-try-in-statements
Allow pure statements that contain early returns
2024-12-02 01:15:24 -05:00
Richard Feldman
12dc39a892
Merge pull request #7293 from roc-lang/drop-dbgs
Convert unused dbg!()s to eprintln!()s
2024-12-02 00:34:01 -05:00
Sam Mohr
444becdb01
Remove removed TypedHole usage 2024-12-01 20:11:13 -08:00
Richard Feldman
bc0c9250f9
Convert unused dbg!()s to eprintln!()s
This makes it nicer to work with dbg! normally,
because grepping the code base for dbg!() reveals
only the usages of it that are currently active.
2024-12-01 23:10:35 -05:00
Sam Mohr
0a82f313c3
Merge branch 'main' into allow-try-in-statements 2024-12-01 23:02:41 -05:00
Sam Mohr
dea9101f87
Merge pull request #7286 from smores56/fix-early-return-type-issue
Generalize return vars
2024-12-01 22:25:07 -05:00
Joshua Warner
f21e3ac373
Merge branch 'main' into reland-fuzzing-fixes-2 2024-12-01 17:12:31 -08:00
Asher Frost
c2d06e3658
Made test pass 2024-12-01 16:03:40 -05:00
Joshua Warner
f7a5f06e5b
Fix a bunch of bugs found in fuzzing 2024-12-01 12:40:19 -08:00
Joshua Warner
5cd38c969f
Fix a couple minor parsing bugs 2024-12-01 12:40:17 -08:00
Joshua Warner
d4301e86a3
Improve parsing of negative + not'd exprs 2024-12-01 12:40:16 -08:00
Joshua Warner
61d885039d
Improve normalization to handle cases found in fuzzing 2024-12-01 12:40:14 -08:00
Joshua Warner
912db1b76b
Fix round-trip parse->fmt->parse for dbg stmts with more than one arg 2024-12-01 12:40:13 -08:00
Joshua Warner
cfd83ffcdf
Add some currently-passing tests 2024-12-01 12:40:08 -08:00
Joshua Warner
085c5e2fe7
Fix nasty perf bug in parsing types 2024-12-01 12:39:47 -08:00
Asher Frost
7055253564
Merge branch 'main' into int_overflow 2024-12-01 15:32:39 -05:00
Eli Dowling
21b555d0b2
Merge pull request #7285 from faldor20/purity-inference-module-params-fixes
Purity inference module params fixes
2024-12-01 22:04:30 +10:00
Sam Mohr
febe95c228
Generalize return vars 2024-12-01 02:24:51 -08:00
Sam Mohr
29c8759bc0
Merge branch 'main' into allow-try-in-statements 2024-12-01 00:35:18 -08:00
faldor20
f3f262574d
Check if a module is using purity inference and enable purity inference effects 2024-12-01 17:16:29 +10:00
faldor20
8549e48d0b
make effectful functions unify properly 2024-12-01 16:09:42 +10:00
Luke Boswell
8acd31e8f0
Merge pull request #7283 from gamebox/fix-issue-7175-check-crashing-on-module
Add platform data for a check run with a single file
2024-12-01 15:15:03 +11:00
Luke Boswell
d7556be7bf
Merge pull request #7264 from shua/saturated
gen-dev: complete Num{Mul,Add,Sub}Saturated impls
2024-12-01 14:01:48 +11:00
Luke Boswell
7cc24cbced
Merge pull request #7277 from shua/jd/powi
Num.powInt: panic on overflow
2024-12-01 13:05:21 +11:00
Anthony Bullard
2b8ef21720 Add platform data for a check run with a single file 2024-11-30 20:02:52 -06:00
shua
5712e265ae
patch: macos arm64, fix gen-llvm i128 bitcode call 2024-12-01 00:02:49 +01:00
shua
8fd2fbc3a1
gen-dev: complete Num{Mul,Add,Sub}Saturated impls
MulSaturated and AddSaturated are now implemented for u128, i128
SubSaturated is now implemented for Dec even if it's a little strange to
saturate at a decimal value:

```
» Num.subSaturated -170_141_183_460_469_231_731dec 1

-170141183460469231731.687303715884105728 : Dec
```

I decided to rm the `build_num_{mul,add}_saturated` methods because
they don't require any asm-specifics. They either call out to bitcode, or
use the non-saturated version for floats.
2024-11-30 23:01:44 +01:00
Anton-4
74d137cad4
Revert "Merge pull request #7267 from joshuawarner32/fuzzing-bugs-2"
This reverts commit 364249a29d, reversing
changes made to 0e550a7f68.
2024-11-30 18:43:16 +01:00
shua
6dfa458e6c
Num.powInt: panic on overflow 2024-11-30 11:26:42 +01:00
Joshua Warner
364249a29d
Merge pull request #7267 from joshuawarner32/fuzzing-bugs-2
Fix a bunch of parser/formatter bugs found in fuzzing
2024-11-29 17:33:57 -08:00
Joshua Warner
ed62bcc15a
Fix a bunch of parser/formatter bugs found in fuzzing
Notably:
* Unified how parens are formatted between (1) when we have a ParensAround, and (2) when we've decided an Apply needs to have parens
* Made unary minus require the be indented to the same level as any other expression continuation. (it used to accidentally have rules meant for binary operators applied)
* Don't apply extra indent to the backpassing continuation in the case that the call does itself require indentation
* Make `try@foo` correctly parse as `try @foo`, so that formatting doesn't change the tree when it adds that space
* Detect more cases where we need to outdent trailing e.g. {} blocks in applies
* Approximately a bagillion other things, 90% of which I added tests for, and none of which affected the formatting of examples or builtins
2024-11-29 16:25:59 -08:00
Richard Feldman
0e550a7f68
Merge pull request #7265 from roc-lang/workspace-deps
Update cargo dependencies to use workspace
2024-11-29 17:38:03 -05:00
Luke Boswell
9e37b93336
remove accidental change from debugging 2024-11-30 08:27:21 +11:00
wizard7377
a81d07f19c
Merge branch 'main' into int_overflow 2024-11-29 15:45:12 -05:00
Richard Feldman
bfbc9ceef0
Merge pull request #7258 from JRI98/remove_unused_typedhole_variant
Remove unused code
2024-11-29 00:19:49 -05:00
wizard7377
7866331f67
Merge branch 'main' into int_overflow 2024-11-28 21:26:38 -05:00