Commit graph

4827 commits

Author SHA1 Message Date
Ayaz Hafiz
1e847efbfe
Correctly choose specialized shapes for anonymous closures 2022-12-27 09:18:41 -06:00
Ayaz Hafiz
593344f5c5
Determine the proc layout based on captures of an individual lambda
Previously, we determined whether a closure argument should be added to
the proc layout of a compiled function by checking whether the lambda
set was material at all. But, the extension for a single function should
be added if and only if the function itself captures.
2022-12-27 09:15:21 -06:00
Anton-4
33af6264d6
add helloWorldNoURL 2022-12-27 15:03:31 +01:00
Anton-4
c3b0295a92
Merge pull request #4813 from joshuawarner32/test_syntax
Move syntax tests to a dedicated crate
2022-12-27 13:15:01 +01:00
Anton-4
f0ea60df51
use latest cli platform, added wasm repl build test 2022-12-27 11:31:15 +01:00
Joshua Warner
bfeddc470a
Move syntax tests to a dedicated crate
* test_fmt moves out of fmt crate
* test_parse _mostly_ moves out of parse crate and into `test_snapshots.rs` (some simple tests remain)
* now there's only two fuzz targets, fuzz_expr and fuzz_module, that cover both parsing and formatting
* added a system to auto-add new snapshot entries for new test files
* took some commented-out tests in `test_parse` and converted them to snapshot tests
* moved test_fmt's verification of formatting consistency into test_snapshots
* fixed a huge derp on my part where the fmt fuzzer in #4758 was completely useless (broken by refactoring just prior to submitting the PR)
* fixed a formatting bug found by fuzzing (bound_variable.expr.roc) - that I missed earlier due to ^^^ that derp
* no longer have roc_test_utils as a dependency in fmt - which was causing problems for the wasm build
2022-12-26 22:50:24 -08:00
Richard Feldman
5227b5ff43
c l i p p y 2022-12-27 00:31:54 -05:00
Richard Feldman
8606faa9db
Move builtin module-level docs to the top 2022-12-26 23:57:27 -05:00
Richard Feldman
b749ac28c9
Use module-level comments for top-level docs 2022-12-26 23:55:54 -05:00
Richard Feldman
3171a15ed0
Parse header_docs 2022-12-26 23:15:48 -05:00
Richard Feldman
74e16c5293
Clarify a comment 2022-12-26 23:15:48 -05:00
Joshua Warner
8abd5cf605
Fix bug in unification of tag args in polymorphic contexts 2022-12-26 13:01:31 -08:00
Richard Feldman
8c40d72a1f
Don't add exposed modules to imported_modules 2022-12-26 04:35:23 -05:00
Ayaz Hafiz
ba2fc89ec4
Ignoring virtual DOM tests that only fail in debug 2022-12-25 17:10:08 -06:00
Ayaz Hafiz
877714ff91
We prefer slices 2022-12-25 16:56:00 -06:00
Ayaz Hafiz
ec0f1ce757
Update mono test name 2022-12-25 16:56:00 -06:00
Ayaz Hafiz
2a64b18c98
Update mono tests 2022-12-25 16:56:00 -06:00
Ayaz Hafiz
fbfc429bc5
Add gen-test for #4732 2022-12-25 16:55:59 -06:00
Ayaz Hafiz
a8693e6102
Order list-min-size tests in descending order
Some of the head-constructor tests we generate can be supersets of other tests.
Edges must be ordered so that more general tests always happen after their
specialized variants.

For example, patterns

  [1, ..] -> ...
  [2, 1, ..] -> ...

may generate the edges

  ListLen(>=1) -> <rest>
  ListLen(>=2) -> <rest>

but evaluated in exactly this order, the second edge is never reachable.
The necessary ordering is

  ListLen(>=2) -> <rest>
  ListLen(>=1) -> <rest>

Closes #4732
2022-12-25 16:55:58 -06:00
Ayaz Hafiz
a295e7ac3d
Allow any int in switch condition layout 2022-12-25 16:55:37 -06:00
Richard Feldman
a663634e30
Add a comment 2022-12-25 17:15:53 -05:00
Richard Feldman
e5c5ae3e3f
Make a debug_assert! more precise 2022-12-25 17:13:42 -05:00
Richard Feldman
73fa34ba31
Only add extra imported modules when it's the root 2022-12-24 22:50:47 -05:00
Richard Feldman
1e0f5c2b28
Fix missing shorthands when importing packages 2022-12-24 22:49:40 -05:00
Richard Feldman
c925686443
Add some debug_assert! checks 2022-12-24 22:40:44 -05:00
Richard Feldman
5c80657bb2
Update some comments and docs 2022-12-24 22:32:16 -05:00
Richard Feldman
52bbe0062f
Drop an unnecessary scope block 2022-12-24 22:32:16 -05:00
Richard Feldman
34417f5692
clippy 2022-12-24 22:32:16 -05:00
Richard Feldman
5e3d808a61
roc format 2022-12-24 22:32:15 -05:00
Richard Feldman
c0dd801db6
Use VecMap over MutMap to store module docs 2022-12-24 22:32:15 -05:00
Richard Feldman
b9f8253c39
Always generate doc links to builtins 2022-12-24 22:32:15 -05:00
Richard Feldman
3f0060f492
Fix some formatting 2022-12-24 22:32:15 -05:00
Richard Feldman
361d930f46
Load exposes entries in addition to imports 2022-12-24 22:32:15 -05:00
Richard Feldman
56470dfb1b
Don't print interns in docs gen error 2022-12-24 22:32:15 -05:00
Richard Feldman
39f60be377
Add builtins/main.roc for docs generation 2022-12-24 22:32:14 -05:00
Richard Feldman
4452b06b6d
Fix some builtin docs 2022-12-24 22:32:14 -05:00
Richard Feldman
d8d517d6f9
Support generating docs for packages too 2022-12-24 22:32:14 -05:00
Richard Feldman
e5a0509380
Fix merge issue 2022-12-24 22:32:14 -05:00
Richard Feldman
1a2b2826ab
clippy 2022-12-24 22:32:14 -05:00
Richard Feldman
15d4c2ad68
Don't render undexposed types in docs 2022-12-24 22:32:13 -05:00
Richard Feldman
15590fb31b
Generate docs basde on package root .roc file 2022-12-24 22:32:13 -05:00
Richard Feldman
e549456668
Store exposed module IDs in file loading state 2022-12-24 22:32:13 -05:00
Richard Feldman
ab45d6c632
Fix docs generation of types 2022-12-24 22:32:12 -05:00
Folkert
439befcc38
run cargo fmt 2022-12-23 17:19:54 +01:00
Lunarmagpie
f932bb66a0
Add function binding to error message 2022-12-23 11:07:57 -05:00
Lunarmagpie
3265a786a5
make changes suggested by folkertdev 2022-12-23 11:01:50 -05:00
Lunarmagpie
db9c00ec1e
update docs to better explain -> operator 2022-12-22 21:00:58 -05:00
Folkert de Vries
4022b44ff9
Merge pull request #4798 from JTeeuwissen/main
Replace DeclarationToIndex elements with a hash map.
2022-12-22 17:19:37 +01:00
J.Teeuwissen
1caafbc131
Feedback 2022-12-22 15:42:26 +01:00
Ayaz
dbdf4acdd7
Merge pull request #4758 from joshuawarner32/fuzzing-take-2
Add fuzzing for the formatter and fix bugs
2022-12-22 06:35:34 -07:00