]> git.lizzy.rs Git - rust.git/blob - src/test/ui/specialization/README-rpass.md
Rollup merge of #98640 - cuviper:stable-rust-analyzer, r=Mark-Simulacrum
[rust.git] / src / test / ui / specialization / README-rpass.md
1 Tests that specialization is working correctly:
2
3 - Dispatch
4   - [On methods](specialization-basics.rs), includes:
5     - Specialization via adding a trait bound
6       - Including both remote and local traits
7     - Specialization via pure structure (e.g. `(T, U)` vs `(T, T)`)
8     - Specialization via concrete types vs unknown types
9       - In top level of the trait reference
10       - Embedded within another type (`Vec<T>` vs `Vec<i32>`)
11   - [Specialization based on super trait relationships](specialization-supertraits.rs)
12   - [On assoc fns](specialization-assoc-fns.rs)
13   - [Ensure that impl order doesn't matter](specialization-out-of-order.rs)
14
15 - Item inheritance
16   - [Correct default cascading for methods](specialization-default-methods.rs)
17   - Inheritance works across impls with varying generics
18     - [With projections](specialization-translate-projections.rs)
19     - [With projections that involve input types](specialization-translate-projections-with-params.rs)
20
21 - Normalization issues
22   - [Non-default assoc types can be projected](specialization-projection.rs)
23     - Including non-specialized cases
24     - Including specialized cases
25   - [Specialized Impls can happen on projections](specialization-on-projection.rs)
26   - [Projections and aliases play well together](specialization-projection-alias.rs)
27   - [Projections involving specialization allowed in the trait ref for impls, and overlap can still be determined](specialization-overlap-projection.rs)
28     - Only works for the simple case where the most specialized impl directly
29       provides a non-`default` associated type
30
31 - Across crates
32   - [For traits defined in upstream crate](specialization-allowed-cross-crate.rs)
33   - [Full method dispatch tests, drawing from upstream crate](specialization-cross-crate.rs)
34     - Including *additional* local specializations
35   - [Full method dispatch tests, *without* turning on specialization in local crate](specialization-cross-crate-no-gate.rs)
36   - [Test that defaults cascade correctly from upstream crates](specialization-cross-crate-defaults.rs)
37     - Including *additional* local use of defaults