Add test.
This commit is contained in:
parent
84f0c3f79a
commit
fdf56cfc7c
@ -0,0 +1,65 @@
|
||||
// revisions: rpass1 rpass2
|
||||
|
||||
pub fn foo() {
|
||||
bar();
|
||||
baz::<()>();
|
||||
}
|
||||
|
||||
fn bar()
|
||||
where
|
||||
<() as Table>::AllColumns:,
|
||||
{
|
||||
}
|
||||
|
||||
fn baz<W>()
|
||||
where
|
||||
W: AsQuery,
|
||||
<W as AsQuery>::Query:,
|
||||
{
|
||||
}
|
||||
|
||||
trait AsQuery {
|
||||
type Query;
|
||||
}
|
||||
|
||||
trait UnimplementedTrait {}
|
||||
|
||||
impl<T> AsQuery for T
|
||||
where
|
||||
T: UnimplementedTrait,
|
||||
{
|
||||
type Query = ();
|
||||
}
|
||||
|
||||
struct Wrapper<Expr>(Expr);
|
||||
|
||||
impl<Ret> AsQuery for Wrapper<Ret> {
|
||||
type Query = ();
|
||||
}
|
||||
|
||||
impl AsQuery for ()
|
||||
where
|
||||
Wrapper<<() as Table>::AllColumns>: AsQuery,
|
||||
{
|
||||
type Query = ();
|
||||
}
|
||||
|
||||
trait Table {
|
||||
type AllColumns;
|
||||
}
|
||||
|
||||
#[cfg(rpass1)]
|
||||
impl Table for () {
|
||||
type AllColumns = Checksum1;
|
||||
}
|
||||
#[cfg(rpass1)]
|
||||
struct Checksum1;
|
||||
|
||||
#[cfg(rpass2)]
|
||||
impl Table for () {
|
||||
type AllColumns = Checksum2;
|
||||
}
|
||||
#[cfg(rpass2)]
|
||||
struct Checksum2;
|
||||
|
||||
fn main() {}
|
Loading…
Reference in New Issue
Block a user