rust/src/test/ui/variance
Aaron Hill b15cb29a4a
Refactor variance diagnostics to work with more types
Instead of special-casing mutable pointers/references, we
now support general generic types (currently, we handle
`ty::Ref`, `ty::RawPtr`, and `ty::Adt`)

When a `ty::Adt` is involved, we show an additional note
explaining which of the type's generic parameters is
invariant (e.g. the `T` in `Cell<T>`). Currently, we don't
explain *why* a particular generic parameter ends up becoming
invariant. In the general case, this could require printing
a long 'backtrace' of types, so doing this would be
more suitable for a follow-up PR.

We still only handle the case where our variance switches
to `ty::Invariant`.
2021-12-29 18:53:40 -05:00
..
variance-associated-consts.rs Add UI test for the variance of types appearing in consts 2021-10-12 21:50:44 +02:00
variance-associated-consts.stderr Add UI test for the variance of types appearing in consts 2021-10-12 21:50:44 +02:00
variance-associated-types.rs
variance-associated-types.stderr
variance-associated-types2.nll.stderr Don't suggest replacing region with 'static in NLL 2021-10-03 21:53:48 -05:00
variance-associated-types2.rs
variance-associated-types2.stderr Remove textual span from diagnostic string 2021-10-13 10:53:44 +00:00
variance-btree-invariant-types.nll.stderr Refactor variance diagnostics to work with more types 2021-12-29 18:53:40 -05:00
variance-btree-invariant-types.rs
variance-btree-invariant-types.stderr Remove textual span from diagnostic string 2021-10-13 10:53:44 +00:00
variance-cell-is-invariant.nll.stderr Refactor variance diagnostics to work with more types 2021-12-29 18:53:40 -05:00
variance-cell-is-invariant.rs
variance-cell-is-invariant.stderr
variance-contravariant-arg-object.nll.stderr
variance-contravariant-arg-object.rs
variance-contravariant-arg-object.stderr Remove textual span from diagnostic string 2021-10-13 10:53:44 +00:00
variance-contravariant-arg-trait-match.nll.stderr
variance-contravariant-arg-trait-match.rs
variance-contravariant-arg-trait-match.stderr Remove textual span from diagnostic string 2021-10-13 10:53:44 +00:00
variance-contravariant-self-trait-match.nll.stderr
variance-contravariant-self-trait-match.rs
variance-contravariant-self-trait-match.stderr Remove textual span from diagnostic string 2021-10-13 10:53:44 +00:00
variance-covariant-arg-object.nll.stderr
variance-covariant-arg-object.rs
variance-covariant-arg-object.stderr Remove textual span from diagnostic string 2021-10-13 10:53:44 +00:00
variance-covariant-arg-trait-match.nll.stderr
variance-covariant-arg-trait-match.rs
variance-covariant-arg-trait-match.stderr Remove textual span from diagnostic string 2021-10-13 10:53:44 +00:00
variance-covariant-self-trait-match.nll.stderr
variance-covariant-self-trait-match.rs
variance-covariant-self-trait-match.stderr Remove textual span from diagnostic string 2021-10-13 10:53:44 +00:00
variance-invariant-arg-object.nll.stderr
variance-invariant-arg-object.rs
variance-invariant-arg-object.stderr Remove textual span from diagnostic string 2021-10-13 10:53:44 +00:00
variance-invariant-arg-trait-match.nll.stderr
variance-invariant-arg-trait-match.rs
variance-invariant-arg-trait-match.stderr Remove textual span from diagnostic string 2021-10-13 10:53:44 +00:00
variance-invariant-self-trait-match.nll.stderr
variance-invariant-self-trait-match.rs
variance-invariant-self-trait-match.stderr Remove textual span from diagnostic string 2021-10-13 10:53:44 +00:00
variance-issue-20533.rs
variance-issue-20533.stderr
variance-object-types.rs
variance-object-types.stderr
variance-regions-direct.rs
variance-regions-direct.stderr
variance-regions-indirect.rs
variance-regions-indirect.stderr
variance-regions-unused-direct.rs
variance-regions-unused-direct.stderr
variance-regions-unused-indirect.rs
variance-regions-unused-indirect.stderr
variance-trait-bounds.rs
variance-trait-bounds.stderr
variance-trait-matching.nll.stderr
variance-trait-matching.rs
variance-trait-matching.stderr
variance-trait-object-bound.rs
variance-trait-object-bound.stderr
variance-types-bounds.rs
variance-types-bounds.stderr
variance-types.rs
variance-types.stderr
variance-unused-region-param.rs
variance-unused-region-param.stderr
variance-unused-type-param.rs
variance-unused-type-param.stderr
variance-use-contravariant-struct-1.nll.stderr
variance-use-contravariant-struct-1.rs
variance-use-contravariant-struct-1.stderr Remove textual span from diagnostic string 2021-10-13 10:53:44 +00:00
variance-use-contravariant-struct-2.rs
variance-use-covariant-struct-1.nll.stderr
variance-use-covariant-struct-1.rs
variance-use-covariant-struct-1.stderr Remove textual span from diagnostic string 2021-10-13 10:53:44 +00:00
variance-use-covariant-struct-2.rs
variance-use-invariant-struct-1.nll.stderr Refactor variance diagnostics to work with more types 2021-12-29 18:53:40 -05:00
variance-use-invariant-struct-1.rs
variance-use-invariant-struct-1.stderr Remove textual span from diagnostic string 2021-10-13 10:53:44 +00:00