rust/compiler
Matthias Krüger 8c14588fbb
Rollup merge of #140208 - compiler-errors:wf-coinductive, r=lcnr
Make well-formedness predicates no longer coinductive

This PR makes well-formedness no longer coinductive. It was made coinductive in https://github.com/rust-lang/rust/pull/98542, but AFAICT this was only to fix UI tests since we stopped lowering `where Ty:` to an empty-region outlives predicate but to a WF predicate instead.

Arguably it should lower to something completely different, something like a "type mentioned no-op predicate", but well-formedness serves this purpose fine today, and since no code (according to crater) relies on this coinductive behavior, we'd like to avoid having to emulate it in the new solver.

Fixes #123456 (I didn't want to add a test since it seems low-value to have a ICE test for a fuzzer minimization that is basically garbage code.)

Fixes #109764 (not sure if this behavior is emulatable w/o coinductive WF?)

Fixes https://github.com/rust-lang/trait-system-refactor-initiative/issues/169

r? lcnr
2025-05-17 10:33:08 +02:00
..
rustc Revert "Use workspace lints for crates in compiler/ #138084" 2025-03-10 18:12:47 +08:00
rustc_abi Initial UnsafePinned/UnsafeUnpin impl [Part 1: Libs] 2025-04-13 01:11:04 -04:00
rustc_arena Introduce Arena::try_alloc_from_iter. 2025-04-19 01:13:18 +00:00
rustc_ast update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_ast_ir Use -Wunused_crate_dependencies for compiler crates. 2025-03-20 08:59:43 +11:00
rustc_ast_lowering Auto merge of #140887 - pietroalbini:pa-bootstrap-update, r=compiler-errors 2025-05-13 09:54:28 +00:00
rustc_ast_passes update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_ast_pretty Initial support for dynamically linked crates 2025-05-04 22:03:15 +03:00
rustc_attr_data_structures update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_attr_parsing update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_baked_icu_data Add unreachable_pub to RUSTC_LINT_FLAGS for compiler/ crates. 2025-03-11 13:14:21 +11:00
rustc_borrowck Rollup merge of #140947 - compiler-errors:pending-norm, r=lcnr 2025-05-15 22:28:51 +02:00
rustc_builtin_macros update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_codegen_cranelift Use intrinsics for {f16,f32,f64,f128}::{minimum,maximum} operations 2025-05-09 17:11:23 +02:00
rustc_codegen_gcc Update gcc version used in rustc_codegen_version 2025-05-14 18:00:19 +02:00
rustc_codegen_llvm Auto merge of #140887 - pietroalbini:pa-bootstrap-update, r=compiler-errors 2025-05-13 09:54:28 +00:00
rustc_codegen_ssa Auto merge of #140887 - pietroalbini:pa-bootstrap-update, r=compiler-errors 2025-05-13 09:54:28 +00:00
rustc_const_eval update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_data_structures tempfile dep bump fallout 2025-05-15 19:55:43 +02:00
rustc_driver Remove recursion_limit increases. 2025-04-02 16:25:27 +11:00
rustc_driver_impl update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_error_codes resolve: Support imports of associated types and glob imports from traits 2025-05-02 15:59:38 +03:00
rustc_error_messages update cfgs 2025-04-09 12:29:59 +01:00
rustc_errors update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_expand update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_feature update version placeholders 2025-05-12 15:33:30 +02:00
rustc_fluent_macro update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_fs_util Retry if creating temp fails with access denied 2025-04-25 11:28:36 +00:00
rustc_graphviz Remove #![warn(unreachable_pub)] from all compiler/ crates. 2025-03-11 13:14:21 +11:00
rustc_hashes Revert "Use workspace lints for crates in compiler/ #138084" 2025-03-10 18:12:47 +08:00
rustc_hir update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_hir_analysis Auto merge of #140557 - compiler-errors:remove-wf-hack, r=lcnr 2025-05-16 02:34:32 +00:00
rustc_hir_pretty update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_hir_typeck Rollup merge of #140989 - xizheyin:issue-139631, r=compiler-errors 2025-05-14 18:43:40 +02:00
rustc_incremental Auto merge of #139758 - Zoxc:thread-local-graph, r=oli-obk 2025-05-07 12:39:54 +00:00
rustc_index Add copy_within to IndexSlice 2025-04-15 10:44:28 -04:00
rustc_index_macros In rustc_mir_tranform, iterate over index newtypes instead of ints 2025-04-12 11:53:07 +00:00
rustc_infer update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_interface Auto merge of #140959 - oli-obk:no-unsafe-children, r=davidtwco 2025-05-16 12:54:18 +00:00
rustc_lexer Implement RFC 3503: frontmatters 2025-05-05 23:10:08 +08:00
rustc_lint Use more subdiagnostics and reword the overloaded deref note 2025-05-14 23:53:40 +02:00
rustc_lint_defs Rollup merge of #134273 - RalfJung:de-stabilize-bench, r=ibraheemdev,traviscross 2025-05-07 00:29:20 +00:00
rustc_llvm Use LLVMGetInlineAsm 2025-05-11 14:37:54 +10:00
rustc_log Allow linking rustc and rustdoc against the same single tracing crate 2025-05-03 10:18:50 -07:00
rustc_macros Auto merge of #140887 - pietroalbini:pa-bootstrap-update, r=compiler-errors 2025-05-13 09:54:28 +00:00
rustc_metadata update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_middle trait_sel: deep reject match_normalize_trait_ref 2025-05-13 07:33:51 +00:00
rustc_mir_build Auto merge of #140959 - oli-obk:no-unsafe-children, r=davidtwco 2025-05-16 12:54:18 +00:00
rustc_mir_dataflow update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_mir_transform update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_monomorphize Auto merge of #140887 - pietroalbini:pa-bootstrap-update, r=compiler-errors 2025-05-13 09:54:28 +00:00
rustc_next_trait_solver Rollup merge of #140712 - lcnr:normalization-gat-args, r=compiler-errors 2025-05-15 22:28:50 +02:00
rustc_parse Rollup merge of #141003 - clubby789:ternary-improve, r=compiler-errors 2025-05-16 07:19:41 +02:00
rustc_parse_format Remove duplicate impl of string unescape 2025-05-06 10:00:22 +00:00
rustc_passes update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_pattern_analysis error early when mixing deref patterns with normal constructors 2025-05-06 18:53:55 -07:00
rustc_privacy update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_query_impl Auto merge of #140145 - Zoxc:job-server-proxy, r=SparrowLii 2025-05-01 04:11:52 +00:00
rustc_query_system update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_resolve update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_sanitizers update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_serialize Zero the buffer passed from write_with 2025-04-25 07:14:27 +02:00
rustc_session Auto merge of #140887 - pietroalbini:pa-bootstrap-update, r=compiler-errors 2025-05-13 09:54:28 +00:00
rustc_smir Rename Instance::new to Instance::new_raw and add a note that it is raw 2025-05-05 13:17:35 +00:00
rustc_span Add Ipv4Addr and Ipv6Addr diagnostic items 2025-05-14 09:34:25 +02:00
rustc_symbol_mangling update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_target Auto merge of #140887 - pietroalbini:pa-bootstrap-update, r=compiler-errors 2025-05-13 09:54:28 +00:00
rustc_trait_selection Rollup merge of #140208 - compiler-errors:wf-coinductive, r=lcnr 2025-05-17 10:33:08 +02:00
rustc_traits Set groundwork for proper const normalization 2025-05-01 20:05:02 +01:00
rustc_transmute Rollup merge of #140509 - tmiasko:merge-contiguous-ranges, r=jswrenn 2025-05-02 19:37:56 +02:00
rustc_ty_utils update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_type_ir Auto merge of #140978 - davidtwco:deep-reject-in-match-norm-trait-ref, r=lcnr 2025-05-16 23:39:39 +00:00
rustc_type_ir_macros Split TypeFolder and FallibleTypeFolder 2025-04-15 18:30:35 +00:00
stable_mir Change rustc_driver dependency on stable_mir crate 2025-04-30 15:39:52 -07:00