Skip to content

Commit

Permalink
Add @weiznich's regression test
Browse files Browse the repository at this point in the history
  • Loading branch information
Aaron1011 committed Jan 17, 2020
1 parent c431cd7 commit 3fef3d8
Showing 1 changed file with 43 additions and 0 deletions.
43 changes: 43 additions & 0 deletions src/test/ui/consts/issue-68264-overflow.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
// check-pass
// compile-flags: --emit=mir,link
// Regression test for issue #68264
// Checks that we don't encounter overflow
// when running const-prop on functions with
// complicated bounds
pub trait Query {}

pub trait AsQuery {
type Query: Query;
}
pub trait Table: AsQuery + Sized {}

pub trait LimitDsl {
type Output;
}

pub(crate) trait LoadQuery<Conn, U>: RunQueryDsl<Conn> {}

impl<T: Query> AsQuery for T {
type Query = Self;
}

impl<T> LimitDsl for T
where
T: Table,
T::Query: LimitDsl,
{
type Output = <T::Query as LimitDsl>::Output;
}

pub(crate) trait RunQueryDsl<Conn>: Sized {
fn first<U>(self, _conn: &Conn) -> U
where
Self: LimitDsl,
Self::Output: LoadQuery<Conn, U>,
{
// Overflow is caused by this function body
unimplemented!()
}
}

fn main() {}

0 comments on commit 3fef3d8

Please sign in to comment.