Florian Diebold
1173c3dab5
Refactor to unify with method resolution
2019-11-01 19:57:08 +01:00
Florian Diebold
c7cedea270
Record assoc item resolution
2019-11-01 19:57:08 +01:00
Florian Diebold
7b7133ec58
Insert type vars before doing assoc item resolution
2019-11-01 19:57:08 +01:00
Florian Diebold
b634ba41e0
Get trait assoc item resolution mostly working
2019-11-01 19:57:08 +01:00
Aleksey Kladov
872ac566bf
push name down to hir_expand
2019-10-30 18:56:20 +03:00
Aleksey Kladov
e5300ad3ba
remove forward pointer for type_ref
2019-10-30 17:43:14 +03:00
Aleksey Kladov
e564334320
remove forward pointer to Path
2019-10-30 17:43:14 +03:00
Aleksey Kladov
f8ddef875a
remove forward pointer for name
2019-10-30 17:43:14 +03:00
Laurențiu Nicola
a6b980d6d4
Bump deps
2019-10-17 18:08:11 +03:00
Shotaro Yamada
3a55b5bf01
make_mut_slice
2019-10-14 19:50:12 +09:00
Shotaro Yamada
f8d4cdc170
Avoid cloning Arc<[T]>
into a vec if possible
2019-10-14 14:25:05 +09:00
Florian Diebold
2955fbc7e1
Split up infer.rs further
...
- coercion logic goes to `coerce.rs`
- expression inference goes to `expr.rs`
- pattern inference goes to `pat.rs`
2019-10-12 18:41:11 +02:00
Florian Diebold
daaf46177e
Add SubstsBuilder
...
+ further refactoring.
2019-09-26 23:03:39 +02:00
uHOOCCOOHu
bf161fa3e5
Better handle never type and branch merging
...
Split out tests for never type to another file
2019-09-26 06:04:43 +08:00
Florian Diebold
c35ef5013c
Resolve trait associated items
...
E.g. `Default::default` or `<Foo as Default>::default`.
2019-09-25 21:41:17 +02:00
Florian Diebold
4f1afe77b9
Split off path expression inference code into submodule
2019-09-23 18:53:52 +02:00
Florian Diebold
b8c1e402fa
Make type walking infrastructure a bit nicer
...
If/when we switch to using Chalk's Ty, we'll need to replace this by its `Fold`
trait, but I didn't want to import the whole thing just yet.
2019-09-03 14:00:35 +02:00
Florian Diebold
9afbf2dff4
Unify normalize
and implements
to simplify code
2019-07-08 21:47:37 +02:00
Florian Diebold
15862fc041
Use environment for associated type normalization as well
2019-07-08 21:20:17 +02:00
Florian Diebold
638100dc8b
Refactor a bit & introduce Environment struct
2019-07-08 21:20:17 +02:00
Unreal Hoang
f7cd40d830
add projection to infer for loop variable
2019-07-07 22:26:51 +09:00
Jeremy Kolb
4ad9e986ad
Some clippy fixes for 1.36
2019-07-04 17:43:00 -04:00
Aleksey Kladov
1834bae5b8
allow rustfmt to reorder imports
...
This wasn't a right decision in the first place, the feature flag was
broken in the last rustfmt release, and syntax highlighting of imports
is more important anyway
2019-07-04 23:09:09 +03:00
Florian Diebold
ced971ee9f
Fix crash with int vars in canonicalization
2019-05-21 20:40:29 +02:00
Florian Diebold
f43e69a64e
Handle recursive types in canonicalization
2019-05-04 18:25:36 +02:00
Florian Diebold
621864319f
Make canonicalization API a bit nicer
2019-05-04 18:18:30 +02:00
Florian Diebold
0ad7317b24
Canonicalize before doing method resolution
2019-05-04 18:18:30 +02:00
Florian Diebold
99492278ac
Implement Deref<Target=[Ty]> for Substs
2019-05-04 18:18:30 +02:00
Florian Diebold
b9c0c2abb7
Chalk integration
...
- add proper canonicalization logic
- add conversions from/to Chalk IR
2019-05-04 18:18:30 +02:00