Skip to content

Commit

Permalink
Auto merge of #84606 - JohnTitor:test-84408, r=lcnr
Browse files Browse the repository at this point in the history
Add a regression test for issue-84408

Closes #84408
r? `@lcnr`
  • Loading branch information
bors committed Apr 27, 2021
2 parents e188693 + f1239e1 commit dc8cb63
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 0 deletions.
38 changes: 38 additions & 0 deletions src/test/ui/const-generics/issues/issue-84408.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
// Regression test for #84408.
// check-pass

#![feature(const_generics, const_evaluatable_checked)]
#![allow(incomplete_features)]

trait Melon<const X: usize> {
fn new(arr: [i32; X]) -> Self;
fn change<T: Melon<X>>(self) -> T;
}

struct Foo([i32; 5]);
struct Bar<const A: usize, const B: usize>([i32; A + B])
where
[(); A + B]: ;

impl Melon<5> for Foo {
fn new(arr: [i32; 5]) -> Self {
Foo(arr)
}
fn change<T: Melon<5>>(self) -> T {
T::new(self.0)
}
}

impl<const A: usize, const B: usize> Melon<{ A + B }> for Bar<A, B>
where
[(); A + B]: ,
{
fn new(arr: [i32; A + B]) -> Self {
Bar(arr)
}
fn change<T: Melon<{ A + B }>>(self) -> T {
T::new(self.0)
}
}

fn main() {}

0 comments on commit dc8cb63

Please sign in to comment.