Ayaz Hafiz
f3689b1146
Fmt
2022-10-02 21:38:04 -05:00
Ayaz Hafiz
852fd0a127
Lints
2022-10-02 21:38:04 -05:00
Ayaz Hafiz
0cc9ea4b05
Detect and report module names that don't match what they are used as
...
Prior to this commit, if you had a module structure like
```
| - A.roc
| - Dep
| - B.roc
```
where `B.roc` was defined as
```
interface B exposes [] imports []
```
and `A.roc` was defined as
```
interface A exposes [] imports [Dep.B]
```
The compiler would hang on you. The reason is that even though we expect
`B` to be named `Dep.B` relative to `A`, that would not be enforced.
With this patch, we now enforce such naming schemes - a module must have
the namespaced name it is referenced by. Currently, we determine the
expected namespaced name by looking at how transitive dependencies of the
root module reference the module. In the future, once we have a package
ecosystem and a solid idea of "package roots", we can use the "package
root" to determine how a module should be named.
Closes #4094
2022-10-02 21:38:03 -05:00
Ayaz Hafiz
c67be21636
Check that module names correspond to the paths they are defined in
...
Closes #3440
Closes #4050
2022-10-02 21:38:02 -05:00
Richard Feldman
3ca9202e3b
Merge pull request #3834 from roc-lang/rust-1.63-clippy
...
rust 1.63 clippy
2022-08-27 21:15:36 -04:00
Folkert
a22e04361c
Merge remote-tracking branch 'origin/main' into expect-fx-codegen
2022-08-23 16:28:21 +02:00
Folkert
6aa168ee0b
more various clippy fixes
2022-08-21 16:43:58 +02:00
Folkert
3aa4ebb02f
get expect-fx to actually run
2022-08-12 23:03:01 +02:00
Richard Feldman
97e2900bf5
s/rtfeldman/roc-lang/g in links to GitHub repos
2022-08-12 15:24:09 -04:00
Folkert
9a352440de
parse expect-fx
2022-08-09 14:19:12 +02:00
Folkert
bcbc8b4d50
basic canonicalization
2022-08-09 13:59:24 +02:00
Folkert de Vries
784d855cd9
windows line feed in when parsing
2022-08-01 19:24:02 +02:00
Richard Feldman
fa5bd442f8
Merge pull request #3635 from rtfeldman/joshuawarner32/multiline
...
Strip indents and the first/last newline from multiline strings
2022-07-26 22:09:58 -04:00
Joshua Warner
a579edc6f0
Fix error reporting location for unterminated strings and add test for insufficiently indented multiline strings
2022-07-25 19:07:58 -07:00
Folkert de Vries
50021a65cf
Merge pull request #3615 from rtfeldman/3198
...
Support parsing opaque destructures as first item in nested body
2022-07-25 19:32:57 +02:00
Joshua Warner
92a9570384
Remove indents from multiline strings
2022-07-25 06:52:08 -07:00
Richard Feldman
a1a3eff278
Support when
after binop
2022-07-24 18:25:02 -04:00
Richard Feldman
0d2141d8b8
Separate out parse_loc_term_or_underscore_or_if
2022-07-24 18:15:18 -04:00
Ayaz Hafiz
fbd70c4031
Parse assignment patterns with underscores
2022-07-24 16:10:01 -04:00
Ayaz Hafiz
8f7bae3617
Simplify boolean expr
2022-07-22 18:21:34 -04:00
Ayaz Hafiz
b04764bdd6
Support parsing opaque destructures as first item in nested body
...
Closes #3198
2022-07-22 16:35:02 -04:00
Folkert
2caf58dfd2
show preceding comment in test panic messages
2022-07-21 10:42:58 -04:00
Folkert
7597d11b59
parse the region of the preceding comment for an expect
2022-07-21 10:42:57 -04:00
Joshua Warner
31455f5fbd
Remove first newline and indent from string
2022-07-20 19:20:48 -07:00
Joshua Warner
a1512dfd79
Introduce State::advance_mut and State::consume_mut to simplify things
2022-07-19 19:20:38 -07:00
Joshua Warner
7a594901dd
Refactor: inline simple advance_state macro
2022-07-19 17:01:33 -07:00
Ayaz Hafiz
e672ce9ebd
First pass at canonicalizing and reporting syntactic abilities
2022-07-18 17:55:01 -04:00
Richard Feldman
c859ce0b23
Use Opaque over Alias
2022-07-18 17:55:00 -04:00
Richard Feldman
73cd5b8c7c
Parse ability definitions using record exprs, not types
2022-07-18 17:55:00 -04:00
Richard Feldman
cb084c9738
Revise ExtractSpaces for HasImpls
...
Make it produce the one non-space variant,
so you don't have to match on it afterwards
2022-07-18 17:54:59 -04:00
Joshua Warner
ada8af25cc
Correct indentation for when expressions
...
... and simultaneously remove the need for State::indent_column field / multiline tracking in blankspace.rs.
Fixes #2889
2022-07-17 19:26:33 -07:00
Richard Feldman
f575807834
Merge remote-tracking branch 'origin/trunk' into outdent-infix
2022-07-16 16:08:36 -04:00
Ayaz Hafiz
dc3f8db6b8
Stray dbg
2022-07-15 11:46:32 -04:00
Ayaz Hafiz
85599e3a9a
Parse impl blocks in abilities
2022-07-15 11:06:44 -04:00
Ayaz Hafiz
d4d073d8c6
Rename Derived to HasAbility
2022-07-14 10:38:37 -04:00
Ayaz Hafiz
0946a7816a
Rename has_derived to has_abilities
2022-07-14 09:58:18 -04:00
Richard Feldman
d67d118e61
Don't require indenting alternative when
patterns
2022-07-13 22:02:38 -04:00
Folkert
3dee90ced8
remove parse::ast::Def
2022-07-10 01:10:37 +02:00
Folkert
9c856fd5ae
updates for clippy 1.62
2022-07-05 12:39:27 +02:00
Anton-4
eee85fa45d
moved all crates into seperate folder + related path fixes
2022-07-01 17:37:43 +02:00