mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-27 09:14:20 +00:00
23 lines
487 B
Rust
23 lines
487 B
Rust
|
// edition:2018
|
||
|
|
||
|
#![feature(ptr_metadata)]
|
||
|
#![feature(type_alias_impl_trait)]
|
||
|
|
||
|
type Opaque = impl std::fmt::Debug + ?Sized;
|
||
|
|
||
|
fn opaque() -> &'static Opaque {
|
||
|
&[1] as &[i32]
|
||
|
}
|
||
|
|
||
|
fn a<T: ?Sized>() {
|
||
|
is_thin::<T>();
|
||
|
//~^ ERROR type mismatch resolving `<T as Pointee>::Metadata == ()`
|
||
|
|
||
|
is_thin::<Opaque>();
|
||
|
//~^ ERROR type mismatch resolving `<impl Debug + ?Sized as Pointee>::Metadata == ()`
|
||
|
}
|
||
|
|
||
|
fn is_thin<T: std::ptr::Pointee<Metadata = ()> + ?Sized>() {}
|
||
|
|
||
|
fn main() {}
|