mirror of https://github.com/rust-lang/rust.git
24 lines
623 B
Rust
24 lines
623 B
Rust
// Test that `dyn PointerLike` and `dyn* PointerLike` do not implement `PointerLike`.
|
|
// This used to ICE during codegen.
|
|
|
|
#![crate_type = "lib"]
|
|
|
|
#![feature(pointer_like_trait, dyn_star)]
|
|
#![feature(unsized_fn_params)]
|
|
#![expect(incomplete_features)]
|
|
#![expect(internal_features)]
|
|
|
|
use std::marker::PointerLike;
|
|
|
|
pub fn lol(x: dyn* PointerLike) {
|
|
foo(x); //~ ERROR `dyn* PointerLike` needs to have the same ABI as a pointer
|
|
}
|
|
|
|
pub fn uwu(x: dyn PointerLike) {
|
|
foo(x); //~ ERROR `dyn PointerLike` needs to have the same ABI as a pointer
|
|
}
|
|
|
|
fn foo<T: PointerLike + ?Sized>(x: T) {
|
|
let _: dyn* PointerLike = x;
|
|
}
|