rust/compiler
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
..
rustc Don't rerun the build script for the compiler each time on linux 2022-07-10 23:57:25 -05:00
rustc_apfloat Warn about dead tuple struct fields 2022-08-03 12:17:23 +02:00
rustc_arena Rollup merge of #97711 - Nilstrieb:rustc-arena-ub, r=wesleywiser 2022-07-07 18:06:49 +05:30
rustc_ast Move LifetimeCollectVisitor to rustc_ast_lowering 2022-08-04 11:26:54 -03:00
rustc_ast_lowering Use start_point instead of next_point to point to elided lifetime ampersand. 2022-08-07 14:35:11 +02:00
rustc_ast_passes Rollup merge of #96478 - WaffleLapkin:rustc_default_body_unstable, r=Aaron1011 2022-08-09 17:34:50 +05:30
rustc_ast_pretty Enable unused_parens for match arms 2022-08-04 07:16:39 -04:00
rustc_attr Panic when checking an unknown stability attribute 2022-07-31 16:02:45 +04:00
rustc_borrowck don't normalize wf predicates 2022-08-09 12:54:32 +02:00
rustc_builtin_macros Rollup merge of #100058 - TaKO8Ki:suggest-positional-formatting-argument-instead-of-format-args-capture, r=estebank 2022-08-04 22:25:01 +02:00
rustc_codegen_cranelift Introduce an ArchiveBuilderBuilder 2022-07-28 09:08:47 +00:00
rustc_codegen_gcc Introduce an ArchiveBuilderBuilder 2022-07-28 09:08:47 +00:00
rustc_codegen_llvm Rollup merge of #99844 - bjorn3:archive_builder_interface_refactor, r=nagisa 2022-07-31 17:36:42 +05:30
rustc_codegen_ssa Auto merge of #100035 - workingjubilee:merge-functions, r=nikic 2022-08-05 23:11:49 +00:00
rustc_const_eval Rollup merge of #100181 - RalfJung:alloc-ref-mutability, r=jackh726 2022-08-09 17:34:52 +05:30
rustc_data_structures remove some manual hash stable impls 2022-07-29 12:48:28 +02:00
rustc_driver Rename local_did to def_id 2022-07-29 18:26:10 -04:00
rustc_error_codes region_outlives_predicate no snapshot 2022-07-21 13:09:01 +02:00
rustc_error_messages link_ordinal is available for foreign static 2022-08-04 09:28:59 +08:00
rustc_errors Rollup merge of #100071 - klensy:annotate-snippets-bump, r=Mark-Simulacrum 2022-08-07 01:19:32 +02:00
rustc_expand Rollup merge of #96478 - WaffleLapkin:rustc_default_body_unstable, r=Aaron1011 2022-08-09 17:34:50 +05:30
rustc_feature Rollup merge of #96478 - WaffleLapkin:rustc_default_body_unstable, r=Aaron1011 2022-08-09 17:34:50 +05:30
rustc_fs_util
rustc_graphviz Fully stabilize NLL 2022-06-03 17:16:41 -04:00
rustc_hir Do not collect lifetimes with Infer resolution 2022-08-04 12:40:00 -03:00
rustc_hir_pretty use rustc_hir_pretty::qpath_to_string to avoid span_to_snippet when rendering path 2022-07-17 04:58:38 +00:00
rustc_incremental Remove trait_of_item query. 2022-08-01 21:39:26 +02:00
rustc_index Auto merge of #99052 - tmiasko:bitset-clone-from, r=Mark-Simulacrum 2022-07-31 21:40:21 +00:00
rustc_infer don't normalize wf predicates 2022-08-09 12:54:32 +02:00
rustc_interface Rollup merge of #99519 - Urgau:check-cfg-implicit, r=petrochenkov 2022-07-31 23:39:38 +02:00
rustc_lexer Shrink Token. 2022-08-01 08:53:04 +10:00
rustc_lint Rollup merge of #100093 - wcampbell0x2a:unused-parens-for-match-arms, r=petrochenkov 2022-08-04 22:25:02 +02:00
rustc_lint_defs Warn about dead tuple struct fields 2022-08-03 12:17:23 +02:00
rustc_llvm RustWrapper: update for TypedPointerType in LLVM 2022-08-04 11:31:57 -04:00
rustc_log clippy::complexity fixes 2022-05-26 13:14:24 +02:00
rustc_macros dedupe 'annotate-snippets' crate versions 2022-08-02 21:07:01 +03:00
rustc_metadata Rollup merge of #96478 - WaffleLapkin:rustc_default_body_unstable, r=Aaron1011 2022-08-09 17:34:50 +05:30
rustc_middle Auto merge of #99217 - lcnr:implied-bounds-pre-norm, r=lcnr 2022-08-09 16:39:43 +00:00
rustc_mir_build suggest adding an appropriate missing pattern excluding comments 2022-08-09 14:27:26 +09:00
rustc_mir_dataflow Remove redundant TransferWrapper struct 2022-08-01 17:08:19 +02:00
rustc_mir_transform Add option to mir::MutVisitor to not invalidate CFG. 2022-08-09 01:51:10 -07:00
rustc_monomorphize Use LocalDefId for closures more 2022-07-30 15:59:17 -05:00
rustc_parse Rollup merge of #100167 - chenyukang:require-suggestion, r=estebank 2022-08-06 16:15:59 +02:00
rustc_parse_format add a comment about what we can parse now 2022-08-04 20:43:35 +09:00
rustc_passes Rollup merge of #96478 - WaffleLapkin:rustc_default_body_unstable, r=Aaron1011 2022-08-09 17:34:50 +05:30
rustc_plugin_impl remove currently unused deps 2022-06-13 22:20:51 +03:00
rustc_privacy move DiagnosticArgFromDisplay into rustc_errors 2022-08-05 16:44:01 +00:00
rustc_query_impl Use LocalDefId for closures more 2022-07-30 15:59:17 -05:00
rustc_query_system Remove useless closure. 2022-07-29 22:11:23 +02:00
rustc_resolve Rollup merge of #100228 - luqmana:suggestion-ice, r=estebank 2022-08-09 17:34:55 +05:30
rustc_save_analysis Remove DefId from AssocItemContainer. 2022-08-01 21:38:45 +02:00
rustc_serialize Upgrade indexmap and thorin-dwp to use hashbrown 0.12 2022-07-17 07:05:58 -07:00
rustc_session Rollup merge of #99620 - hudson-ayers:fix-location-detail, r=davidtwco 2022-07-31 23:39:40 +02:00
rustc_smir Rustfmt 2022-06-02 10:29:00 +00:00
rustc_span Rollup merge of #96478 - WaffleLapkin:rustc_default_body_unstable, r=Aaron1011 2022-08-09 17:34:50 +05:30
rustc_symbol_mangling Auto merge of #95548 - rcvalle:rust-cfi-2, r=nagisa 2022-07-24 01:22:36 +00:00
rustc_target Create armv4t_none_eabi.rs 2022-08-07 12:40:41 -06:00
rustc_trait_selection Auto merge of #99217 - lcnr:implied-bounds-pre-norm, r=lcnr 2022-08-09 16:39:43 +00:00
rustc_traits Rollup merge of #100095 - jackh726:early-binder, r=lcnr 2022-08-04 22:25:04 +02:00
rustc_transmute safe transmute: fix broken intradoc link 2022-08-02 14:44:23 +00:00
rustc_ty_utils Add bound_impl_subject and bound_return_ty 2022-08-03 01:02:46 -04:00
rustc_type_ir Inline DebruijnIndex methods 2022-07-22 17:00:49 +02:00
rustc_typeck Auto merge of #99217 - lcnr:implied-bounds-pre-norm, r=lcnr 2022-08-09 16:39:43 +00:00