mirror of https://github.com/rust-lang/rust
39 lines
657 B
Rust
39 lines
657 B
Rust
// Regression test for #62988
|
|
|
|
//@ check-pass
|
|
|
|
#![feature(impl_trait_in_assoc_type)]
|
|
|
|
trait MyTrait {
|
|
type AssocType: Send;
|
|
fn ret(&self) -> Self::AssocType;
|
|
}
|
|
|
|
impl MyTrait for () {
|
|
type AssocType = impl Send;
|
|
fn ret(&self) -> Self::AssocType {
|
|
()
|
|
}
|
|
}
|
|
|
|
impl<'a> MyTrait for &'a () {
|
|
type AssocType = impl Send;
|
|
fn ret(&self) -> Self::AssocType {
|
|
()
|
|
}
|
|
}
|
|
|
|
trait MyLifetimeTrait<'a> {
|
|
type AssocType: Send + 'a;
|
|
fn ret(&self) -> Self::AssocType;
|
|
}
|
|
|
|
impl<'a> MyLifetimeTrait<'a> for &'a () {
|
|
type AssocType = impl Send + 'a;
|
|
fn ret(&self) -> Self::AssocType {
|
|
*self
|
|
}
|
|
}
|
|
|
|
fn main() {}
|