mirror of
https://github.com/rust-lang/rust.git
synced 2025-06-05 11:48:30 +00:00

This CL makes a number of small changes to dyn compatibility errors: - "object safety" has been renamed to "dyn-compatibility" throughout - "Convert to enum" suggestions are no longer generated when there exists a type-generic impl of the trait or an impl for `dyn OtherTrait` - Several error messages are reorganized for user readability Additionally, the dyn compatibility error creation code has been split out into functions. cc #132713 cc #133267
19 lines
414 B
Rust
19 lines
414 B
Rust
// Test that the dyn-compatibility diagnostics for GATs refer first to the
|
|
// user-named trait, not the GAT-containing supertrait.
|
|
//
|
|
// NOTE: this test is currently broken, and first reports:
|
|
// "the trait `Super` is not dyn compatible"
|
|
//
|
|
//@ edition:2018
|
|
|
|
trait Super {
|
|
type Assoc<'a>;
|
|
}
|
|
|
|
trait Child: Super {}
|
|
|
|
fn take_dyn(_: &dyn Child) {}
|
|
//~^ ERROR the trait `Super` is not dyn compatible
|
|
|
|
fn main() {}
|