rust/compiler
Adrian Taylor ecfcd0879c Arbitrary self types v2: (unused) Receiver trait
This commit contains a new Receiver trait, which is the basis for the
Arbitrary Self Types v2 RFC. This allows smart pointers to be method
receivers even if they're not Deref.

This is currently unused by the compiler - a subsequent PR will start to
use this for method resolution if the arbitrary_self_types feature gate
is enabled. This is being landed first simply to make review
simpler: if people feel this should all be in an atomic PR let me know.

This is a part of the arbitrary self types v2 project,
https://github.com/rust-lang/rfcs/pull/3519
https://github.com/rust-lang/rust/issues/44874

r? @wesleywiser
2024-10-25 16:30:47 +00:00
..
rustc disable size asserts in the compiler when randomizing layouts 2024-08-31 23:56:45 +02:00
rustc_abi Make rustc_abi compile on stable again 2024-10-21 15:11:20 +02:00
rustc_arena move strict provenance lints to new feature gate, remove old feature gates 2024-10-21 15:22:17 +01:00
rustc_ast Represent TraitBoundModifiers as distinct parts in HIR 2024-10-22 19:48:44 +00:00
rustc_ast_ir Add sugar for &pin (const|mut) types 2024-10-07 11:15:04 -07:00
rustc_ast_lowering nightly feature tracking: get rid of the per-feature bool fields 2024-10-23 09:14:41 +01:00
rustc_ast_passes nightly feature tracking: get rid of the per-feature bool fields 2024-10-23 09:14:41 +01:00
rustc_ast_pretty Print safety correctly in extern static items 2024-10-24 00:41:27 +00:00
rustc_attr fix a couple clippy:complexitys 2024-10-23 22:15:59 +02:00
rustc_baked_icu_data Don't add warn(unreachable_pub) to rustc_baked_icu. 2024-08-16 08:46:52 +10:00
rustc_borrowck Rollup merge of #131756 - compiler-errors:deeply-normalize-type-err, r=lcnr 2024-10-24 14:19:55 +11:00
rustc_builtin_macros nightly feature tracking: get rid of the per-feature bool fields 2024-10-23 09:14:41 +01:00
rustc_codegen_cranelift Rename Receiver -> LegacyReceiver 2024-10-22 12:55:16 +00:00
rustc_codegen_gcc Rollup merge of #130225 - adetaylor:rename-old-receiver, r=wesleywiser 2024-10-24 14:19:53 +11:00
rustc_codegen_llvm Rollup merge of #131956 - Zalathar:llvm-counters, r=compiler-errors,Swatinem 2024-10-24 14:19:57 +11:00
rustc_codegen_ssa Rollup merge of #132060 - joshtriplett:innermost-outermost, r=jieyouxu 2024-10-23 22:11:05 +02:00
rustc_const_eval nightly feature tracking: get rid of the per-feature bool fields 2024-10-23 09:14:41 +01:00
rustc_data_structures Replace an FTP link in comments with an equivalent HTTPS link 2024-10-24 17:02:11 +11:00
rustc_driver
rustc_driver_impl Rollup merge of #130899 - bjorn3:wasi_bootstrap_fixes, r=davidtwco 2024-10-07 11:10:53 -07:00
rustc_error_codes terminology: #[feature] *enables* a feature (instead of "declaring" or "activating" it) 2024-10-22 07:37:54 +01:00
rustc_error_messages Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_errors "innermost", "outermost", "leftmost", and "rightmost" don't need hyphens 2024-10-23 02:45:24 -07:00
rustc_expand Rollup merge of #132060 - joshtriplett:innermost-outermost, r=jieyouxu 2024-10-23 22:11:05 +02:00
rustc_feature rustc_feature::Features: explain what that 'Option<Symbol>' is about 2024-10-24 08:15:28 +02:00
rustc_fluent_macro use tracked_path in rustc_fluent_macro 2024-10-19 22:32:38 +08:00
rustc_fs_util Couple of changes to make it easier to compile rustc for wasm 2024-09-26 19:51:14 +00:00
rustc_graphviz Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_hir Arbitrary self types v2: (unused) Receiver trait 2024-10-25 16:30:47 +00:00
rustc_hir_analysis Rollup merge of #131756 - compiler-errors:deeply-normalize-type-err, r=lcnr 2024-10-24 14:19:55 +11:00
rustc_hir_pretty Represent TraitBoundModifiers as distinct parts in HIR 2024-10-22 19:48:44 +00:00
rustc_hir_typeck Rollup merge of #131898 - lukas-code:ptr-cast-cleanup, r=compiler-errors 2024-10-24 14:19:55 +11:00
rustc_incremental nightly feature tracking: get rid of the per-feature bool fields 2024-10-23 09:14:41 +01:00
rustc_index Rollup merge of #130625 - heiseish:issue-124028-fix, r=jieyouxu 2024-10-10 12:49:18 +02:00
rustc_index_macros Remove 'apostrophes' from rustc_parse_format 2024-10-14 23:22:51 +02:00
rustc_infer clone range in a more obvious way 2024-10-23 22:22:58 +02:00
rustc_interface rust_for_linux: -Zregparm=<N> commandline flag for X86 (#116972) 2024-10-18 00:29:31 +07:00
rustc_lexer Reserve guarded string literals (RFC 3593) 2024-10-08 18:21:16 -06:00
rustc_lint Rollup merge of #129248 - compiler-errors:raw-ref-deref, r=nnethercote 2024-10-24 10:35:39 +02:00
rustc_lint_defs Auto merge of #129935 - RalfJung:unsupported_calling_conventions, r=compiler-errors 2024-10-22 03:24:40 +00:00
rustc_llvm Rollup merge of #131956 - Zalathar:llvm-counters, r=compiler-errors,Swatinem 2024-10-24 14:19:57 +11:00
rustc_log Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_macros Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_metadata nightly feature tracking: get rid of the per-feature bool fields 2024-10-23 09:14:41 +01:00
rustc_middle Rollup merge of #131623 - matthiaskrgr:clippy_sat, r=Nadrieril 2024-10-24 14:19:54 +11:00
rustc_mir_build Rollup merge of #129248 - compiler-errors:raw-ref-deref, r=nnethercote 2024-10-24 10:35:39 +02:00
rustc_mir_dataflow "innermost", "outermost", "leftmost", and "rightmost" don't need hyphens 2024-10-23 02:45:24 -07:00
rustc_mir_transform fix a couple clippy:complexitys 2024-10-23 22:15:59 +02:00
rustc_monomorphize Add fast-path when computing the default visibility 2024-10-14 16:37:54 +02:00
rustc_next_trait_solver remove unused field 2024-10-22 08:30:09 +02:00
rustc_parse "innermost", "outermost", "leftmost", and "rightmost" don't need hyphens 2024-10-23 02:45:24 -07:00
rustc_parse_format Remove 'apostrophes' from rustc_parse_format 2024-10-14 23:22:51 +02:00
rustc_passes Plumb through param_env to note_type_err 2024-10-24 02:48:08 +00:00
rustc_pattern_analysis nightly feature tracking: get rid of the per-feature bool fields 2024-10-23 09:14:41 +01:00
rustc_privacy Rollup merge of #131049 - compiler-errors:more-validation, r=spastorino 2024-10-22 15:28:38 +02:00
rustc_query_impl Handle rustc_query_impl cases of rustc::potential_query_instability lint 2024-10-03 12:47:08 +03:00
rustc_query_system stop hashing compile-time constant 2024-10-23 19:46:52 +02:00
rustc_resolve nightly feature tracking: get rid of the per-feature bool fields 2024-10-23 09:14:41 +01:00
rustc_sanitizers Rollup merge of #131049 - compiler-errors:more-validation, r=spastorino 2024-10-22 15:28:38 +02:00
rustc_serialize Fix explicit_iter_loop in rustc_serialize 2024-10-16 15:44:16 +02:00
rustc_session Limited -Zregparm support (no Rust calling conv) descriptions 2024-10-20 18:18:01 +07:00
rustc_smir Rollup merge of #131049 - compiler-errors:more-validation, r=spastorino 2024-10-22 15:28:38 +02:00
rustc_span Arbitrary self types v2: (unused) Receiver trait 2024-10-25 16:30:47 +00:00
rustc_symbol_mangling nightly feature tracking: get rid of the per-feature bool fields 2024-10-23 09:14:41 +01:00
rustc_target Rollup merge of #131169 - madsmtm:target-info-nto-vendor, r=wesleywiser 2024-10-24 14:19:53 +11:00
rustc_trait_selection Rollup merge of #132084 - compiler-errors:param-env-with-err, r=lcnr,estebank 2024-10-24 10:35:40 +02:00
rustc_traits move defining_opaque_types out of Canonical 2024-10-17 10:22:52 +02:00
rustc_transmute Fix transmute goal 2024-10-19 18:07:35 +00:00
rustc_ty_utils Rollup merge of #131955 - SpriteOvO:riscv-int-arg-attr, r=workingjubilee 2024-10-23 22:11:03 +02:00
rustc_type_ir Rollup merge of #131979 - compiler-errors:compare-pred-entail, r=fmease 2024-10-23 22:11:04 +02:00
rustc_type_ir_macros do not relate Abi and Safety 2024-10-22 23:13:04 +02:00
stable_mir Rollup merge of #131778 - practicalrs:fix_needless_lifetimes, r=jieyouxu 2024-10-16 20:15:56 +02:00