1
Fork 0
rust/compiler
bors 7c2012d0ec Auto merge of #121676 - Bryanskiy:polarity, r=petrochenkov
Support ?Trait bounds in supertraits and dyn Trait under a feature gate

This patch allows `maybe` polarity bounds under a feature gate. The only language change here is that corresponding hard errors are replaced by feature gates. Example:
```rust
#![feature(allow_maybe_polarity)]
...
trait Trait1 : ?Trait { ... } // ok
fn foo(_: Box<(dyn Trait2 + ?Trait)>) {} // ok
fn bar<T: ?Sized + ?Trait>(_: &T) {} // ok
```
Maybe bounds still don't do anything (except for `Sized` trait), however this patch will allow us to [experiment with default auto traits](https://github.com/rust-lang/rust/pull/120706#issuecomment-1934006762).

This is a part of the [MCP: Low level components for async drop](https://github.com/rust-lang/compiler-team/issues/727)
2024-07-26 20:14:16 +00:00
..
rustc The rustc crate feature is called jemalloc 2024-07-15 13:01:20 -04:00
rustc_abi Rollup merge of #127769 - compiler-errors:ed-2024-dep, r=oli-obk 2024-07-17 16:22:31 +02:00
rustc_arena
rustc_ast Auto merge of #128195 - matthiaskrgr:rollup-195dfdf, r=matthiaskrgr 2024-07-25 18:05:00 +00:00
rustc_ast_ir Use dep: for crate dependencies 2024-07-15 12:40:10 -04:00
rustc_ast_lowering Support ?Trait bounds in supertraits and dyn Trait under a feature gate 2024-07-25 20:53:33 +03:00
rustc_ast_passes Support ?Trait bounds in supertraits and dyn Trait under a feature gate 2024-07-25 20:53:33 +03:00
rustc_ast_pretty centralize turning asm flags into human readable names 2024-07-24 15:27:18 +02:00
rustc_attr
rustc_baked_icu_data
rustc_borrowck Don't ICE if HIR and middle types disagree in borrowck error reporting 2024-07-24 23:36:47 -04:00
rustc_builtin_macros Use Cow<'static, str> for InlineAsmTemplatePiece::String 2024-07-24 21:11:55 +01:00
rustc_codegen_cranelift Use Cow<'static, str> for InlineAsmTemplatePiece::String 2024-07-24 21:11:55 +01:00
rustc_codegen_gcc Format cg_gcc with same formatting parameters 2024-07-17 20:22:07 +02:00
rustc_codegen_llvm LLVM: LLVM-20.0 removes MMX types 2024-07-25 17:58:37 +00:00
rustc_codegen_ssa LLVM: LLVM-20.0 removes MMX types 2024-07-25 17:58:37 +00:00
rustc_const_eval Rollup merge of #127950 - nnethercote:rustfmt-skip-on-use-decls, r=cuviper 2024-07-26 00:57:21 +02:00
rustc_data_structures Use dep: for crate dependencies 2024-07-15 12:40:10 -04:00
rustc_driver
rustc_driver_impl Move codegen_and_build_linker from Queries to Linker 2024-07-01 11:00:49 +00:00
rustc_error_codes Rollup merge of #126994 - Alexendoo:explain-markdown, r=tgross35 2024-07-23 19:42:35 +02:00
rustc_error_messages
rustc_errors Rollup merge of #127528 - estebank:ascii-control-chars, r=oli-obk 2024-07-25 04:43:19 +02:00
rustc_expand Rollup merge of #128133 - nnethercote:fix-cfg_attr-spans, r=petrochenkov 2024-07-24 18:00:41 +02:00
rustc_feature Support ?Trait bounds in supertraits and dyn Trait under a feature gate 2024-07-25 20:53:33 +03:00
rustc_fluent_macro Avoid ref when using format! in compiler 2024-07-19 14:52:07 -04:00
rustc_fs_util
rustc_graphviz
rustc_hir Auto merge of #121676 - Bryanskiy:polarity, r=petrochenkov 2024-07-26 20:14:16 +00:00
rustc_hir_analysis Auto merge of #121676 - Bryanskiy:polarity, r=petrochenkov 2024-07-26 20:14:16 +00:00
rustc_hir_pretty Auto merge of #121676 - Bryanskiy:polarity, r=petrochenkov 2024-07-26 20:14:16 +00:00
rustc_hir_typeck Rollup merge of #128140 - veera-sivarajan:remove-ident-to-str-conversions, r=compiler-errors 2024-07-24 22:22:18 +02:00
rustc_incremental
rustc_index Fix feature gating on rustc_index to not use implicit features 2024-07-15 12:44:24 -04:00
rustc_index_macros
rustc_infer Get rid of can_eq_shallow 2024-07-22 13:54:48 -04:00
rustc_interface Use dep: for crate dependencies 2024-07-15 12:40:10 -04:00
rustc_lexer
rustc_lint Auto merge of #121676 - Bryanskiy:polarity, r=petrochenkov 2024-07-26 20:14:16 +00:00
rustc_lint_defs Mark missing_fragment_specifier as FutureReleaseErrorReportInDeps 2024-07-24 13:16:46 -04:00
rustc_llvm LLVM: LLVM-20.0 removes MMX types 2024-07-25 17:58:37 +00:00
rustc_log
rustc_macros lift_to_tcx -> lift_to_interner 2024-07-17 10:46:10 -04:00
rustc_metadata Rollup merge of #127528 - estebank:ascii-control-chars, r=oli-obk 2024-07-25 04:43:19 +02:00
rustc_middle Auto merge of #128165 - saethlin:optimize-clone-shims, r=compiler-errors 2024-07-26 13:13:04 +00:00
rustc_mir_build Auto merge of #128034 - Nadrieril:explain-unreachable, r=compiler-errors 2024-07-26 10:51:04 +00:00
rustc_mir_dataflow Avoid ref when using format! in compiler 2024-07-19 14:52:07 -04:00
rustc_mir_transform Auto merge of #128165 - saethlin:optimize-clone-shims, r=compiler-errors 2024-07-26 13:13:04 +00:00
rustc_monomorphize Move compiler_builtin check to the use case 2024-07-15 23:43:52 +00:00
rustc_next_trait_solver Auto merge of #127042 - GrigorenkoPV:derivative, r=compiler-errors 2024-07-25 22:50:58 +00:00
rustc_parse Fix a span error when parsing a wrong param of function. 2024-07-25 22:33:45 +08:00
rustc_parse_format
rustc_passes Rollup merge of #127017 - mu001999-contrib:dead/enhance, r=pnkfelix 2024-07-26 02:20:29 -04:00
rustc_pattern_analysis Explain why a given pattern is considered unreachable 2024-07-24 08:02:55 +02:00
rustc_privacy
rustc_query_impl
rustc_query_system Be more accurate about calculating display_col from a BytePos 2024-07-18 20:08:38 +00:00
rustc_resolve Rollup merge of #127557 - linyihai:issue-126694, r=compiler-errors 2024-07-26 02:20:30 -04:00
rustc_sanitizers Rollup merge of #127980 - nyurik:compiler-refs, r=oli-obk 2024-07-20 07:13:45 +02:00
rustc_serialize chore: remove duplicate words 2024-07-02 11:25:31 +08:00
rustc_session Auto merge of #127670 - compiler-errors:no-type-length-limit, r=jackh726 2024-07-14 12:44:07 +00:00
rustc_smir Avoid comments that describe multiple use items. 2024-07-17 08:02:46 +10:00
rustc_span Auto merge of #121676 - Bryanskiy:polarity, r=petrochenkov 2024-07-26 20:14:16 +00:00
rustc_symbol_mangling
rustc_target Auto merge of #127755 - no1wudi:master, r=michaelwoerister 2024-07-23 09:45:28 +00:00
rustc_trait_selection Auto merge of #121676 - Bryanskiy:polarity, r=petrochenkov 2024-07-26 20:14:16 +00:00
rustc_traits Move all error reporting into rustc_trait_selection 2024-07-21 22:34:35 -04:00
rustc_transmute Use dep: for crate dependencies 2024-07-15 12:40:10 -04:00
rustc_ty_utils Make sure that args are compatible in resolve_associated_item 2024-07-24 22:59:57 -04:00
rustc_type_ir Rollup merge of #126575 - fmease:update-lint-type_alias_bounds, r=compiler-errors 2024-07-26 02:20:28 -04:00
rustc_type_ir_macros lift_to_tcx -> lift_to_interner 2024-07-17 10:46:10 -04:00
stable_mir Auto merge of #126963 - runtimeverification:smir_serde_derive, r=celinval 2024-07-25 20:27:51 +00:00