diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:18:58 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:18:58 +0000 |
commit | a4b7ed7a42c716ab9f05e351f003d589124fd55d (patch) | |
tree | b620cd3f223850b28716e474e80c58059dca5dd4 /src/test/ui/associated-types/project-recursion-limit-non-fatal.rs | |
parent | Adding upstream version 1.67.1+dfsg1. (diff) | |
download | rustc-a4b7ed7a42c716ab9f05e351f003d589124fd55d.tar.xz rustc-a4b7ed7a42c716ab9f05e351f003d589124fd55d.zip |
Adding upstream version 1.68.2+dfsg1.upstream/1.68.2+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/ui/associated-types/project-recursion-limit-non-fatal.rs')
-rw-r--r-- | src/test/ui/associated-types/project-recursion-limit-non-fatal.rs | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/src/test/ui/associated-types/project-recursion-limit-non-fatal.rs b/src/test/ui/associated-types/project-recursion-limit-non-fatal.rs deleted file mode 100644 index 3e68b1401..000000000 --- a/src/test/ui/associated-types/project-recursion-limit-non-fatal.rs +++ /dev/null @@ -1,58 +0,0 @@ -// Regression test for #80953. Hitting the recursion limit in projection -// is non-fatal. The above code, minimised from wundergraph shows a case -// where this is relied on. - -// check-pass - -struct AlternateTable {} -struct AlternateQuery {} - -pub trait Query {} -pub trait AsQuery { - type Query; -} -impl<T: Query> AsQuery for T { - type Query = Self; -} -impl AsQuery for AlternateTable { - type Query = AlternateQuery; -} - -pub trait Table: AsQuery { - type PrimaryKey; -} -impl Table for AlternateTable { - type PrimaryKey = (); -} - -pub trait FilterDsl<Predicate> { - type Output; -} -pub type Filter<Source, Predicate> = <Source as FilterDsl<Predicate>>::Output; -impl<T, Predicate> FilterDsl<Predicate> for T -where - T: Table, - T::Query: FilterDsl<Predicate>, -{ - type Output = Filter<T::Query, Predicate>; -} -impl<Predicate> FilterDsl<Predicate> for AlternateQuery { - type Output = &'static str; -} - -pub trait HandleDelete { - type Filter; -} -impl<T> HandleDelete for T -where - T: Table, - T::Query: FilterDsl<T::PrimaryKey>, - Filter<T::Query, T::PrimaryKey>: , -{ - type Filter = Filter<T::Query, T::PrimaryKey>; -} - -fn main() { - let x: <AlternateTable as HandleDelete>::Filter = "Hello, world"; - println!("{}", x); -} |