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
12 lines
349 B
Rust
12 lines
349 B
Rust
// HIR ty lowering uses `FreshTy(0)` as a dummy `Self` type when instanciating trait objects.
|
|
// This `FreshTy(0)` can leak into substs, causing ICEs in several places.
|
|
|
|
#![feature(trait_alias)]
|
|
|
|
pub trait SelfInput = Fn(&mut Self);
|
|
|
|
pub fn f(_f: &dyn SelfInput) {}
|
|
//~^ ERROR the trait alias `SelfInput` is not dyn compatible [E0038]
|
|
|
|
fn main() {}
|