rust/src/test/ui/object-safety
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
..
object-safety-associated-consts.curr.stderr Change wording for object unsafe because of assoc const 2020-02-03 10:54:16 -08:00
object-safety-associated-consts.object_safe_for_dispatch.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
object-safety-associated-consts.rs RFC 2027: "first draft" of implementation 2019-10-22 15:24:33 -04:00
object-safety-by-value-self-use.rs Update ui test suite to use dyn 2019-05-29 00:57:31 -04:00
object-safety-by-value-self-use.stderr update tests for migrate mode by default 2019-04-22 08:40:08 +01:00
object-safety-by-value-self.rs Migrate compile-pass annotations to build-pass 2019-07-03 06:30:28 +09:00
object-safety-generics.curr.stderr Wording changes to object unsafe trait errors 2020-02-02 11:53:10 -08:00
object-safety-generics.object_safe_for_dispatch.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
object-safety-generics.rs RFC 2027: "first draft" of implementation 2019-10-22 15:24:33 -04:00
object-safety-issue-22040.rs Update ui test suite to use dyn 2019-05-29 00:57:31 -04:00
object-safety-issue-22040.stderr Point at reason in object unsafe trait with Self in supertraits or where-clause 2020-02-02 13:45:41 -08:00
object-safety-mentions-Self.curr.stderr Use more appropriate spans on object unsafe traits and provide structured suggestions when possible 2020-02-02 11:53:10 -08:00
object-safety-mentions-Self.object_safe_for_dispatch.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
object-safety-mentions-Self.rs RFC 2027: "first draft" of implementation 2019-10-22 15:24:33 -04:00
object-safety-no-static.curr.stderr Use more appropriate spans on object unsafe traits and provide structured suggestions when possible 2020-02-02 11:53:10 -08:00
object-safety-no-static.object_safe_for_dispatch.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
object-safety-no-static.rs RFC 2027: "first draft" of implementation 2019-10-22 15:24:33 -04:00
object-safety-no-static.stderr On object safety violation, point at source when possible 2019-09-02 20:22:22 -07:00
object-safety-phantom-fn.rs Migrate compile-pass annotations to build-pass 2019-07-03 06:30:28 +09:00
object-safety-sized-2.curr.stderr Wording changes to object unsafe trait errors 2020-02-02 11:53:10 -08:00
object-safety-sized-2.object_safe_for_dispatch.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
object-safety-sized-2.rs RFC 2027: "first draft" of implementation 2019-10-22 15:24:33 -04:00
object-safety-sized.curr.stderr Wording changes to object unsafe trait errors 2020-02-02 11:53:10 -08:00
object-safety-sized.object_safe_for_dispatch.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
object-safety-sized.rs RFC 2027: "first draft" of implementation 2019-10-22 15:24:33 -04:00
object-safety-supertrait-mentions-Self.rs Update ui test suite to use dyn 2019-05-29 00:57:31 -04:00
object-safety-supertrait-mentions-Self.stderr Point at reason in object unsafe trait with Self in supertraits or where-clause 2020-02-02 13:45:41 -08:00