Skip to content

Commit

Permalink
Add some test for ATB issues
Browse files Browse the repository at this point in the history
  • Loading branch information
jackh726 committed Jan 28, 2021
1 parent 643a79a commit fe1fc36
Show file tree
Hide file tree
Showing 4 changed files with 73 additions and 0 deletions.
25 changes: 25 additions & 0 deletions src/test/ui/associated-types/issue-38917.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
// check-pass

use std::borrow::Borrow;

trait TNode: Sized {
type ConcreteElement: TElement<ConcreteNode = Self>;
}

trait TElement: Sized {
type ConcreteNode: TNode<ConcreteElement = Self>;
}

trait DomTraversal<N: TNode> {
type BorrowElement: Borrow<N::ConcreteElement>;
}

#[allow(dead_code)]
fn recalc_style_at<E, D>()
where
E: TElement,
D: DomTraversal<E::ConcreteNode>,
{
}

fn main() {}
14 changes: 14 additions & 0 deletions src/test/ui/associated-types/issue-40093.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// check-pass

pub trait Test {
type Item;
type Bundle: From<Self::Item>;
}

fn fails<T>()
where
T: Test<Item = String>,
{
}

fn main() {}
10 changes: 10 additions & 0 deletions src/test/ui/associated-types/issue-43475.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// check-pass

trait Foo { type FooT: Foo; }
impl Foo for () { type FooT = (); }
trait Bar<T: Foo> { type BarT: Bar<T::FooT>; }
impl Bar<()> for () { type BarT = (); }

#[allow(dead_code)]
fn test<C: Bar<()>>() { }
fn main() { }
24 changes: 24 additions & 0 deletions src/test/ui/associated-types/issue-63591.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
// check-pass

#![feature(associated_type_bounds)]
#![feature(type_alias_impl_trait)]

fn main() {}

trait Bar { type Assoc; }

trait Thing {
type Out;
fn func() -> Self::Out;
}

struct AssocIsCopy;
impl Bar for AssocIsCopy { type Assoc = u8; }

impl Thing for AssocIsCopy {
type Out = impl Bar<Assoc: Copy>;

fn func() -> Self::Out {
AssocIsCopy
}
}

0 comments on commit fe1fc36

Please sign in to comment.