granite-rust/tests
bors 915e7eb9b9 Auto merge of - adetaylor:arbitrary-self-types-the-big-bit, r=compiler-errors,wesleywiser
Arbitrary self types v2: main compiler changes

This is the main PR in a series of PRs related to Arbitrary Self Types v2, tracked in . Specifically this is step 7 of the plan [described here](https://github.com/rust-lang/rust/issues/44874#issuecomment-2122179688), for [RFC 3519](https://github.com/rust-lang/rfcs/pull/3519).

Overall this PR:
* Switches from the `Deref` trait to the new `Receiver` trait when the unstable `arbitrary_self_types` feature is enabled (the simple bit)
* Introduces new algorithms to spot "shadowing"; that is, the case where a newly-added method in an outer smart pointer might end up overriding a pre-existing method in the pointee (the complex bit). Most of this bit was explored in [this earlier perf-testing PR](https://github.com/rust-lang/rust/pull/127812#issuecomment-2236911900).
* Lots of tests

This should not break compatibility for:
* Stable users, where it should have no effect
* Users of the existing `arbitrary_self_types` feature (because we implement `Receiver` for `T: Deref`) _unless_ those folks have added methods which may shadow methods in inner types, which we no longer want to allow

Subsequent PRs will add better diagnostics.

It's probably easiest to review this commit-by-commit.

r? `@wesleywiser`
2024-12-12 21:40:39 +00:00
..
assembly Auto merge of - matthiaskrgr:rollup-iav1wq7, r=matthiaskrgr 2024-12-04 00:47:09 +00:00
auxiliary Support input/output in vector registers of s390x inline assembly 2024-11-22 04:18:14 +09:00
codegen Auto merge of - folkertdev:naked-fn-asm, r=Amanieu 2024-12-11 21:51:07 +00:00
codegen-units Remove polymorphization 2024-12-06 16:42:09 -05:00
coverage coverage: Prefer to visit nodes whose predecessors have been visited 2024-12-07 12:13:12 +11:00
coverage-run-rustdoc coverage: Restrict empty-span expansion to only cover { and } 2024-11-08 20:43:08 +11:00
crashes Auto merge of - matthiaskrgr:debug_tests, r=jieyouxu 2024-12-12 16:08:06 +00:00
debuginfo Reformat Python code with ruff 2024-12-04 23:03:44 +01:00
incremental Add more info on type/trait mismatches for different crate versions 2024-12-07 18:18:08 +00:00
mir-opt Auto merge of - EliasHolzmann:formatting_options, r=m-ou-se 2024-12-06 22:28:42 +00:00
pretty Update tests to use new proc-macro header 2024-11-27 07:18:25 -08:00
run-make Rollup merge of - estebank:const-trait-errors, r=compiler-errors 2024-12-10 20:16:02 +01:00
rustdoc Add regression test for prelude types 2024-11-25 17:25:25 +01:00
rustdoc-gui Update GUI test after rebase 2024-12-05 22:50:21 +01:00
rustdoc-js rustdoc-search: add standalone trailing :: test 2024-11-17 08:07:16 -07:00
rustdoc-js-std rustdoc search: allow queries to end in an empty path segment 2024-11-15 16:32:40 -06:00
rustdoc-json Rollup merge of - aDotInTheVoid:rdj-dyn-link, r=GuillaumeGomez 2024-12-02 17:36:05 +01:00
rustdoc-ui rustdoc: rename issue-\d+.rs tests to have meaningful names 2024-12-08 21:59:23 -07:00
ui Auto merge of - adetaylor:arbitrary-self-types-the-big-bit, r=compiler-errors,wesleywiser 2024-12-12 21:40:39 +00:00
ui-fulldeps Rollup merge of - ehuss:unicode-version, r=jieyouxu 2024-12-09 23:39:05 +01:00
COMPILER_TESTS.md