Oliver Scherer
26edcee093
Prevent stack overflow for deeply recursive code
2020-05-02 16:37:57 +02:00
Esteban Küber
2000f91f68
Remove some `Vec` allocations in an effort to improve perf
2020-04-20 10:42:25 -07:00
Esteban Küber
bd7ea5441e
Use `PredicateObligation`s instead of `Predicate`s
...
Keep more information about trait binding failures.
2020-04-08 14:40:45 -07:00
Yuki Okushi
99e0d8ed79
Minor follow-up after renaming librustc(_middle)
2020-04-03 19:03:13 +09:00
David Wood
c665eaeeb0
add `STILL_FURTHER_SPECIALIZABLE` flag
...
This commit adds a STILL_FURTHER_SPECIALIZABLE flag to `TypeFlags`
which replaces `needs_infer` and `needs_subst` in `Instance::resolve`
and `assemble_candidates_from_impls.`
Signed-off-by: David Wood <david@davidtw.co>
2020-04-02 10:50:08 +01:00
Jonas Schievink
e8910f51d8
Sync `Instance::resolve` with the projection code
2020-03-30 19:46:15 +02:00
Jonas Schievink
49ba323c8d
spec. graph: track defining and finalizing impls
2020-03-30 19:44:21 +02:00
Jonas Schievink
a1e7495a41
Simplify `NodeItem`
...
The generic parameter is unused, and so is `map`
2020-03-30 19:38:26 +02:00
Mazdak Farrokhzad
0cb9e36090
rustc -> rustc_middle part 2
2020-03-30 07:16:56 +02:00
Dylan DPC
1154023118
Rollup merge of #70319 - lcnr:issue63695, r=eddyb
...
correctly normalize constants
closes #70317
implements https://github.com/rust-lang/rust/issues/70125#issuecomment-602133708
r? eddyb cc @varkor
2020-03-25 19:28:09 +01:00
Bastian Kauschke
bda976d42d
add missing const super folds
2020-03-23 19:20:28 +01:00
Eduard-Mihai Burtescu
10f08abd2e
rustc: keep upvars tupled in {Closure,Generator}Substs.
2020-03-21 14:23:50 +02:00
Eduard-Mihai Burtescu
63811bc38f
rustc_infer: remove InferCtxt::closure_sig as the FnSig is always shallowly known.
2020-03-18 02:16:01 +02:00
Matthew Jasper
32d330df30
Avoid ICEs when we emit errors constructing the specialization graph
2020-03-15 13:22:34 +00:00
Camille GILLOT
0535dd3721
Split librustc_infer.
2020-03-14 14:17:13 +01:00
Camille GILLOT
c1e3d556bf
Move rustc_infer::traits to new crate rustc_trait_selection.
2020-03-14 14:15:50 +01:00