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
13 lines
309 B
Rust
13 lines
309 B
Rust
// `ty` matcher accepts trait object types
|
|
|
|
macro_rules! m {
|
|
($t: ty) => ( let _: $t; )
|
|
}
|
|
|
|
fn main() {
|
|
m!(dyn Copy + Send + 'static);
|
|
//~^ ERROR the trait `Copy` is not dyn compatible
|
|
m!(dyn 'static + Send);
|
|
m!(dyn 'static +); //~ ERROR at least one trait is required for an object type
|
|
}
|