rust/compiler/rustc_middle/src
bors 63e4312e6b Auto merge of #99217 - lcnr:implied-bounds-pre-norm, r=lcnr
consider unnormalized types for implied bounds

extracted, and slightly modified, from #98900

The idea here is that generally, rustc is split into things which can assume its inputs are well formed[^1], and things which have verify that themselves.

Generally most predicates should only deal with well formed inputs, e.g. a `&'a &'b (): Trait` predicate should be able to assume that `'b: 'a` holds. Normalization can loosen wf requirements (see #91068) and must therefore not be used in places which still have to check well formedness. The only such place should hopefully be `WellFormed` predicates

fixes #87748 and #98543

r? `@jackh726` cc `@rust-lang/types`

[^1]: These places may still encounter non-wf inputs and have to deal with them without causing an ICE as we may check for well formedness out of order.
2022-08-09 16:39:43 +00:00
..
dep_graph Use a dedicated DepKind for the forever-red node. 2022-07-06 23:20:12 +02:00
hir Change enclosing_body_owner to return LocalDefId 2022-07-29 18:26:10 -04:00
infer make PlaceholderConst not store the type of the const 2022-08-01 15:42:38 +01:00
middle Rollup merge of #96478 - WaffleLapkin:rustc_default_body_unstable, r=Aaron1011 2022-08-09 17:34:50 +05:30
mir Add option to mir::MutVisitor to not invalidate CFG. 2022-08-09 01:51:10 -07:00
query Rollup merge of #100221 - compiler-errors:impossible-trait-items, r=lcnr,notriddle,camelid 2022-08-09 17:34:54 +05:30
thir Rollup merge of #99000 - JulianKnodt:allow_resolve_no_substs, r=lcnr 2022-07-14 19:24:04 +05:30
traits Auto merge of #92268 - jswrenn:transmute, r=oli-obk 2022-08-02 21:17:31 +00:00
ty Auto merge of #99217 - lcnr:implied-bounds-pre-norm, r=lcnr 2022-08-09 16:39:43 +00:00
util span: move MultiSpan 2022-04-05 07:01:00 +01:00
arena.rs arena > Rc for query results 2022-07-12 15:27:24 +02:00
lib.rs Stabilize let_chains 2022-07-16 20:17:58 -03:00
lint.rs Rename debugging_opts to unstable_opts 2022-07-13 17:47:06 -05:00
macros.rs impl TypeVisitable in type traversal macros 2022-07-05 22:25:33 +01:00
metadata.rs resolve/metadata: Stop encoding macros as reexports 2022-02-24 22:55:40 +03:00
tests.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
thir.rs Rollup merge of #100003 - nnethercote:improve-size-assertions, r=lqd 2022-08-01 16:49:33 +02:00