Move /src/test to /tests
This commit is contained in:
parent
ca855e6e42
commit
cf2dff2b1e
27592 changed files with 0 additions and 0 deletions
48
tests/ui/impl-trait/in-trait/opaque-in-impl.rs
Normal file
48
tests/ui/impl-trait/in-trait/opaque-in-impl.rs
Normal file
|
@ -0,0 +1,48 @@
|
|||
// check-pass
|
||||
|
||||
#![feature(return_position_impl_trait_in_trait)]
|
||||
#![allow(incomplete_features)]
|
||||
|
||||
use std::fmt::Debug;
|
||||
|
||||
trait Foo {
|
||||
fn foo(&self) -> impl Debug;
|
||||
}
|
||||
|
||||
impl Foo for () {
|
||||
fn foo(&self) -> impl Debug {
|
||||
"Hello, world"
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: Default + Debug> Foo for std::marker::PhantomData<T> {
|
||||
fn foo(&self) -> impl Debug {
|
||||
T::default()
|
||||
}
|
||||
}
|
||||
|
||||
trait Bar {
|
||||
fn bar<T>(&self) -> impl Debug;
|
||||
}
|
||||
|
||||
impl Bar for () {
|
||||
fn bar<T>(&self) -> impl Debug {
|
||||
format!("Hello with generic {}", std::any::type_name::<T>())
|
||||
}
|
||||
}
|
||||
|
||||
trait Baz {
|
||||
fn baz(&self) -> impl Debug + '_;
|
||||
}
|
||||
|
||||
impl Baz for String {
|
||||
fn baz(&self) -> impl Debug + '_ {
|
||||
(self,)
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
println!("{:?}", ().foo());
|
||||
println!("{:?}", ().bar::<u64>());
|
||||
println!("{:?}", "hi".to_string().baz());
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue