diff options
Diffstat (limited to 'src/test/ui/traits/issue-104322.rs')
-rw-r--r-- | src/test/ui/traits/issue-104322.rs | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/src/test/ui/traits/issue-104322.rs b/src/test/ui/traits/issue-104322.rs deleted file mode 100644 index dcc27f1f0..000000000 --- a/src/test/ui/traits/issue-104322.rs +++ /dev/null @@ -1,80 +0,0 @@ -// build-pass -// -// Tests that overflows do not occur in certain situations -// related to generic diesel code - -use mini_diesel::*; - -pub trait HandleDelete<K> {} - -pub fn handle_delete<D, R>() -where - R: HasTable, - R::Table: HandleDelete<D> + 'static, -{ -} - -impl<K, T> HandleDelete<K> for T -where - T: Table + HasTable<Table = T> + 'static, - K: 'static, - &'static K: Identifiable<Table = T>, - T::PrimaryKey: EqAll<<&'static K as Identifiable>::Id>, - T::Query: FilterDsl<<T::PrimaryKey as EqAll<<&'static K as Identifiable>::Id>>::Output>, - Filter<T::Query, <T::PrimaryKey as EqAll<<&'static K as Identifiable>::Id>>::Output>: - IntoUpdateTarget<Table = T>, -{ -} - -mod mini_diesel { - pub trait HasTable { - type Table: Table; - } - - pub trait Identifiable: HasTable { - type Id; - } - - pub trait EqAll<Rhs> { - type Output; - } - - pub trait IntoUpdateTarget: HasTable { - type WhereClause; - } - - pub trait Query { - type SqlType; - } - - pub trait AsQuery { - type Query: Query; - } - impl<T: Query> AsQuery for T { - type Query = Self; - } - - pub trait FilterDsl<Predicate> { - type Output; - } - - impl<T, Predicate> FilterDsl<Predicate> for T - where - T: Table, - T::Query: FilterDsl<Predicate>, - { - type Output = Filter<T::Query, Predicate>; - } - - pub trait QuerySource { - type FromClause; - } - - pub trait Table: QuerySource + AsQuery + Sized { - type PrimaryKey; - } - - pub type Filter<Source, Predicate> = <Source as FilterDsl<Predicate>>::Output; -} - -fn main() {} |