os-rust/tests/ui/dyn-star/drop.rs
2024-11-20 16:36:12 +00:00

28 lines
510 B
Rust

//@ run-pass
//@ check-run-results
#![feature(dyn_star, pointer_like_trait)]
#![allow(incomplete_features)]
use std::fmt::Debug;
use std::marker::PointerLike;
#[derive(Debug)]
#[repr(transparent)]
struct Foo(#[allow(dead_code)] usize);
// FIXME(dyn_star): Make this into a derive.
impl PointerLike for Foo {}
impl Drop for Foo {
fn drop(&mut self) {
println!("destructor called");
}
}
fn make_dyn_star(i: Foo) {
let _dyn_i: dyn* Debug = i;
}
fn main() {
make_dyn_star(Foo(42));
}