ayazhafiz
ee34e79790
Include annotation type signatures in Expected
struct
...
To provide better error messages and suggestions related to changing
type annotations, we now pass annotation type signatures all the way
down through the constraint solver. At constraint generation we
associate the type signature with a unique variable, and during error
reporting, we pull out an `ErrorType` corresponding to the original type
signature, by looking up the unique variable. This gives us two nice
things:
1. It means we don't have to pass the original, AST-like type
annotation, which can be quite large, to everyone who looks at an
expectation.
2. It gives us a translation from a `Type` to an `ErrorType` for free
using the existing translation procedure in `roc_types::subs`,
without having to create a new translation function.
2021-11-25 11:16:17 -05:00
Folkert
2c1005fdf0
remove lowercases from Content
2021-11-22 21:15:58 +01:00
Folkert
206c8889df
Use StorageSubs for pending specializations
2021-11-19 13:22:17 +01:00
Brendan Hansknecht
bddc08c977
Remove unused dependencies
2021-11-05 16:58:11 -07:00
Anton-4
a3fc724df3
removed unused maplit
2021-11-03 10:50:25 +01:00
Folkert
aa042f3357
better debug info for a mismatch
2021-08-20 22:41:43 +02:00
Folkert
3e448c1b74
get rid of inefficient conversion from mutmap to uniontags
2021-08-14 00:32:01 +02:00
Folkert
4cbb1c9b25
optimize initial tag union creation
2021-08-13 23:53:27 +02:00
Folkert
26da66d73f
remove from_mutmap
2021-08-13 15:42:43 +02:00
Folkert
df83bf0d48
Merge remote-tracking branch 'origin/soa-alias' into alias-nominal-equality
2021-08-13 12:11:36 +02:00
Folkert
c9040c012e
make things work
2021-08-13 11:04:31 +02:00
Folkert
42f04fcc77
use variablesubsslice for Apply
2021-08-12 22:49:56 +02:00
Folkert
46439b2116
optimize
2021-08-12 22:22:52 +02:00
Folkert
966caf4a02
cleanup
2021-08-12 22:21:00 +02:00
Folkert
35874a6b1c
progress
2021-08-12 22:19:02 +02:00
Folkert
46f6e86716
use new unification for rec ~ rec
2021-08-12 21:50:10 +02:00
Folkert
3bbf1a5506
use UnionTags for recursive tag unions
2021-08-12 20:50:33 +02:00
Folkert
0643efa571
clippy
2021-08-11 22:04:43 +02:00
Folkert
1d32be0818
all tests pass
2021-08-11 21:59:23 +02:00
Folkert
6c0860b6bf
milestone all but one gen tests passing
2021-08-11 21:50:11 +02:00
Folkert
83ad331bb1
remove chase_record_ext_var
2021-08-07 15:35:57 +02:00
Folkert
ad3d006a11
use a SubsIndex instead of Box
2021-08-07 13:50:53 +02:00
Folkert
fe773995c8
make VariableSubsSlice
2021-08-07 13:12:39 +02:00
Folkert
524bde64d0
cleanup and comments
2021-08-07 01:31:40 +02:00
Folkert
e0039b94c9
clippy
2021-08-07 01:12:42 +02:00
Folkert
69c224843e
all the work
2021-08-07 00:51:53 +02:00
Folkert
efab1ef2ca
implement
2021-08-04 00:33:05 +02:00
Folkert
54198d7da1
one more shrinkage
2021-08-02 23:05:22 +02:00
Folkert
dfaaa21e81
use RecordFields
2021-08-01 17:50:38 +02:00
Folkert
a47f9baef4
Merge remote-tracking branch 'origin/trunk' into alias-nominal-equality
2021-07-31 22:59:01 +02:00
Folkert
35404bd25f
use get_content_without_compacting more
2021-07-30 22:15:17 +02:00
Folkert
5248f83af2
try not to unify the actual var of an alias
2021-07-30 16:04:30 +02:00
Folkert
13b05e54e8
Merge remote-tracking branch 'origin/clippy-1.54' into alias-nominal-equality
2021-07-30 14:25:50 +02:00
Folkert
899cbeabd7
fix extra ampersands
2021-07-29 17:32:08 +02:00
Folkert
27c3d57e35
BROKEN
2021-07-29 17:22:25 +02:00
Folkert de Vries
d4570e3175
use reserve
...
Co-authored-by: Richard Feldman <oss@rtfeldman.com>
2021-07-22 21:14:46 +02:00
Folkert
6ab90cd15d
not so fast
2021-07-21 22:17:53 +02:00
Folkert
564efd528a
early return in common tag case
2021-07-21 22:02:30 +02:00
Folkert
05b43c6799
optimize separating tags into shared and unique
2021-07-21 21:38:16 +02:00
Folkert
ca8041cfa3
other tags
2021-07-21 21:06:32 +02:00
Folkert
5f408c42b0
enable tag unions as functions in code gen
2021-05-24 16:01:51 +02:00
Folkert
f480919186
Merge remote-tracking branch 'origin/trunk' into no-arg-tag-union-func
2021-05-24 14:44:32 +02:00
Folkert
5b643467bf
clippy
2021-05-24 14:44:00 +02:00
Folkert
06bf614437
fix recursion layout issue
2021-05-24 14:15:52 +02:00
Folkert
1aa71113ca
rename for clarity
2021-05-24 12:03:06 +02:00
Folkert
7bcab24fa0
clippy
2021-05-24 11:57:52 +02:00
Richard Feldman
a7518a675a
Clean up some clippy warnings
2021-05-23 20:28:23 -04:00
tarjei
0ee15f15ee
Unify FunctionOrTagUnion with regular tags and functions
2021-05-23 23:14:17 +02:00
Folkert
5372c45cdd
no manual rank hacking please
2021-05-05 14:49:54 +02:00
Richard Feldman
0a50b0b488
Change license to UPL-1.0
...
Closes https://github.com/rtfeldman/roc/issues/1199
2021-04-21 19:18:44 -04:00