mirror of https://github.com/rust-lang/rust.git
29 lines
358 B
Rust
29 lines
358 B
Rust
//@ check-pass
|
|
|
|
#![feature(const_deref)]
|
|
#![feature(const_trait_impl)]
|
|
|
|
use std::ops::Deref;
|
|
|
|
struct Wrap<T>(T);
|
|
struct Foo;
|
|
|
|
impl Foo {
|
|
const fn call(&self) {}
|
|
}
|
|
|
|
impl<T> const Deref for Wrap<T> {
|
|
type Target = T;
|
|
|
|
fn deref(&self) -> &Self::Target {
|
|
&self.0
|
|
}
|
|
}
|
|
|
|
const fn foo() {
|
|
let x = Wrap(Foo);
|
|
x.call();
|
|
}
|
|
|
|
fn main() {}
|