Commit Graph

16 Commits

Author SHA1 Message Date
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