Skip to content

Commit

Permalink
Rollup merge of #103704 - xxchan:xxchan/applicable-bug, r=compiler-er…
Browse files Browse the repository at this point in the history
…rors

Add a test for TAIT used with impl/dyn Trait inside RPIT

close #101750
  • Loading branch information
matthiaskrgr committed Oct 29, 2022
2 parents 2ea6611 + 6bc5fdd commit cc8040e
Showing 1 changed file with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions src/test/ui/type-alias-impl-trait/issue-101750.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#![feature(type_alias_impl_trait)]

// check-pass

trait Trait {}

type TAIT = impl Trait;

struct Concrete;
impl Trait for Concrete {}

fn tait() -> TAIT {
Concrete
}

trait OuterTrait {
type Item;
}
struct Dummy<T> {
t: T,
}
impl<T> OuterTrait for Dummy<T> {
type Item = T;
}

fn tait_and_impl_trait() -> impl OuterTrait<Item = (TAIT, impl Trait)> {
Dummy {
t: (tait(), Concrete),
}
}

fn tait_and_dyn_trait() -> impl OuterTrait<Item = (TAIT, Box<dyn Trait>)> {
let b: Box<dyn Trait> = Box::new(Concrete);
Dummy { t: (tait(), b) }
}

fn main() {}

0 comments on commit cc8040e

Please sign in to comment.