rust/src/test/ui/variance
Dan Aloni 07e7823c01 pretty: trim paths of unique symbols
If a symbol name can only be imported from one place for a type, and
as long as it was not glob-imported anywhere in the current crate, we
can trim its printed path and print only the name.

This has wide implications on error messages with types, for example,
shortening `std::vec::Vec` to just `Vec`, as long as there is no other
`Vec` importable anywhere.

This adds a new '-Z trim-diagnostic-paths=false' option to control this
feature.

On the good path, with no diagnosis printed, we should try to avoid
issuing this query, so we need to prevent trimmed_def_paths query on
several cases.

This change also relies on a previous commit that differentiates
between `Debug` and `Display` on various rustc types, where the latter
is trimmed and presented to the user and the former is not.
2020-09-02 22:26:37 +03:00
..
variance-associated-types.rs
variance-associated-types.stderr
variance-associated-types2.nll.stderr
variance-associated-types2.rs
variance-associated-types2.stderr
variance-btree-invariant-types.nll.stderr
variance-btree-invariant-types.rs
variance-btree-invariant-types.stderr
variance-cell-is-invariant.nll.stderr
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
variance-contravariant-arg-trait-match.nll.stderr
variance-contravariant-arg-trait-match.rs
variance-contravariant-arg-trait-match.stderr
variance-contravariant-self-trait-match.nll.stderr
variance-contravariant-self-trait-match.rs
variance-contravariant-self-trait-match.stderr
variance-covariant-arg-object.nll.stderr
variance-covariant-arg-object.rs
variance-covariant-arg-object.stderr
variance-covariant-arg-trait-match.nll.stderr
variance-covariant-arg-trait-match.rs
variance-covariant-arg-trait-match.stderr
variance-covariant-self-trait-match.nll.stderr
variance-covariant-self-trait-match.rs
variance-covariant-self-trait-match.stderr
variance-invariant-arg-object.nll.stderr
variance-invariant-arg-object.rs
variance-invariant-arg-object.stderr
variance-invariant-arg-trait-match.nll.stderr
variance-invariant-arg-trait-match.rs
variance-invariant-arg-trait-match.stderr
variance-invariant-self-trait-match.nll.stderr
variance-invariant-self-trait-match.rs
variance-invariant-self-trait-match.stderr
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 pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
variance-regions-unused-indirect.rs
variance-regions-unused-indirect.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
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 pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
variance-unused-type-param.rs
variance-unused-type-param.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
variance-use-contravariant-struct-1.nll.stderr
variance-use-contravariant-struct-1.rs
variance-use-contravariant-struct-1.stderr
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
variance-use-covariant-struct-2.rs
variance-use-invariant-struct-1.nll.stderr
variance-use-invariant-struct-1.rs
variance-use-invariant-struct-1.stderr