Commit graph

60 commits

Author SHA1 Message Date
Agus Zubiaga
762799052e
Merge branch 'main' into typecheck-module-params 2024-08-07 18:55:33 -03:00
Sam Mohr
cb8040f629
Ignore underscore-prefixed fields in record builders 2024-08-06 22:49:35 -07:00
Anton-4
4341c37b99
cleanup 2024-07-09 13:55:39 +02:00
Agus Zubiaga
63e722f61d
Rename symbol and module lookup struts 2024-07-06 11:42:53 -03:00
Anton-4
7180a93273
fix openness inference for empty tag 2024-07-06 16:29:10 +02:00
Agus Zubiaga
f80cb341a6
Move ScopeModules to can 2024-07-05 21:35:52 -03:00
Agus Zubiaga
5aebb7b570
Unqualified lookups return params 2024-07-02 04:10:44 -03:00
Agus Zubiaga
9d26adb228
Qualified lookups return params 2024-07-02 04:10:44 -03:00
Agus Zubiaga
a8a829aadd
Merge branch 'main' into inline-imports 2024-04-28 00:11:29 -03:00
Luke Boswell
2fe03e6c91
remove suffixed from Expr::Var 2024-04-28 08:47:08 +10:00
Agus Zubiaga
e500d664fd
can: Replace AnnotationReferences with plain References
`AnnotationReferences` ignored the fact that within an annotation
the same symbol could be referenced both in a qualified and unqualified
manner.

By using `References` we will properly track all the possible combinations.
2024-04-23 21:16:32 -03:00
Agus Zubiaga
d5a38a26db
Merge branch 'main' into inline-imports 2024-04-20 12:01:11 -03:00
Luke Boswell
3c3e523b45
add suffixed to Identifer and QualifiedIdentifier 2024-04-14 13:45:00 +10:00
Agus Zubiaga
7b3317dbb6
Update unused warnings for inline imports
Now that imports can be limited to smaller scopes than the entire module,
unused import warnings need to work like unused def warnings.

This commit moves unused import warnings discovery and reporting from load
to canonicalization where we can track their usage per scope.

This also fixes a longstanding bug where unused exposed names from an import
were not reported if they were only used in a qualified manner.
2024-01-20 08:43:36 -03:00
Richard Feldman
2da41be29f
Merge remote-tracking branch 'origin/main' into abilities-syntax 2023-08-10 20:36:01 -04:00
Folkert
5d3c7a9363
remove HostExposedAlias 2023-08-09 14:06:07 +02:00
Bryce Miller
ffa622e065
Merge branch 'main' into abilities-syntax
Signed-off-by: Bryce Miller <sandprickle@users.noreply.github.com>
2023-05-29 13:42:36 +02:00
Bryce Miller
d3f6277ea3
has -> implements in comments 2023-05-26 22:59:11 -04:00
Bryce Miller
dbc0204532
abilities syntax has -> implements 2023-05-24 21:30:16 -04:00
Ayaz Hafiz
2f7930dd0f
Implement annotation def for tuple 2023-05-24 13:12:41 -05:00
Bryce Miller
17c733ec81
has -> implements in roc_problem::can::Problem 2023-05-20 21:12:26 -04:00
Bryce Miller
ebbdae6c28
ast::HasClause -> ast::ImplementsClause 2023-05-20 08:20:44 -04:00
Anton-4
c6cf0b4ebe
merge fixes 2023-04-22 18:15:06 +02:00
Anton-4
937722c462
Merge branch 'main' of github.com:roc-lang/roc into rust_version_upgrade 2023-04-22 17:14:01 +02:00
Anton-4
e784baccce
rust update, nix update, clippy fixes 2023-04-22 14:51:01 +02:00
Folkert
4cd8f0a056 clippy --fix fixes 2023-04-21 12:05:51 +02:00
Ayaz Hafiz
4894587a14
Inline singly-used function 2023-04-12 14:39:50 -05:00
Ayaz Hafiz
d3ab9ab926
Freshly instantiate nested recursion variables under an opaque type 2023-04-12 14:31:19 -05:00
Joshua Warner
5a6be05ead
implement mono / lowering for tuples 2023-02-07 18:54:50 -08:00
Ayaz Hafiz
c9460ecf3f
Rename IsImplicitOpennessVar 2023-01-16 10:52:23 -06:00
Ayaz Hafiz
5fceb9ceb7
Push implicit openness vars through 2023-01-16 10:52:23 -06:00
Ayaz Hafiz
96b2b7a0c5
Fix comment 2023-01-16 10:52:23 -06:00
Ayaz Hafiz
3b0e2429e6
Support printing weak type variables in tests
Unbound type variables that are not at the generalization rank will now
be printed as `w_a` in solve tests.
2023-01-04 16:24:19 -06:00
Joshua Warner
c6b5273144
Implement tuple type parsing
Also change some tests with newly relaxed indentation requirements, and remove an irrelevant test (since unindented close parens are now perfectly valid, the test is no longer useful).
2022-11-24 07:36:59 -08:00
Ayaz Hafiz
28c3709ddf
Miscellaneous cleanup 2022-11-08 14:11:26 -06:00
Ayaz Hafiz
1b38cd0504
s/Type::Erroneous/Type::Error 2022-11-08 14:11:26 -06:00
Ayaz Hafiz
c1237215ea
Remove type Problem enum 2022-11-08 14:11:25 -06:00
Ayaz Hafiz
8dfc9c0367
Inline BadType::BadTypeArguments in canonicalization errors 2022-11-08 14:11:25 -06:00
Ayaz Hafiz
c9953129cb
Remove problem storage in Type::Erroneous 2022-11-08 14:11:24 -06:00
Ayaz Hafiz
07f5d0c7fd
Clarify TODO 2022-10-31 09:39:29 -05:00
Ayaz Hafiz
debe6332c5
Support OIOP for type aliases 2022-10-31 09:38:21 -05:00
Ayaz Hafiz
91dd47c5e4
Store OIOP variables in a unique buffer 2022-10-31 09:38:21 -05:00
Ayaz Hafiz
cfe7c8e5ef
Warn on the presence of unnecessary wildcards in output positions 2022-10-31 09:38:20 -05:00
Ayaz Hafiz
8d5678151d
Implement open-in-output-position for non-alias type annotations 2022-10-31 09:37:41 -05:00
Ayaz Hafiz
c0257302a9
Address clippy lints 2022-10-24 14:00:45 -05:00
Ayaz Hafiz
1e6181d2cb
New data structure for storing sorted abilities bound to a variable 2022-10-24 13:59:51 -05:00
Ayaz Hafiz
229548571b
Represent "able" variables with slices of abilities 2022-10-24 13:59:51 -05:00
Ayaz Hafiz
2011ec97c3
Store multiple abilities as a VecSet 2022-10-24 13:59:51 -05:00
Ayaz Hafiz
603160dae3
Report errors for duplicate bound abilities 2022-10-24 13:59:50 -05:00
Ayaz Hafiz
6bb97c92b9
Canonicalize multiple abilities bound to a type variable 2022-10-24 13:56:07 -05:00