diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:03 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:03 +0000 |
commit | 64d98f8ee037282c35007b64c2649055c56af1db (patch) | |
tree | 5492bcf97fce41ee1c0b1cc2add283f3e66cdab0 /src/test/ui/associated-types/issue-67684.rs | |
parent | Adding debian version 1.67.1+dfsg1-1. (diff) | |
download | rustc-64d98f8ee037282c35007b64c2649055c56af1db.tar.xz rustc-64d98f8ee037282c35007b64c2649055c56af1db.zip |
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/ui/associated-types/issue-67684.rs')
-rw-r--r-- | src/test/ui/associated-types/issue-67684.rs | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/src/test/ui/associated-types/issue-67684.rs b/src/test/ui/associated-types/issue-67684.rs deleted file mode 100644 index 49efe8a1b..000000000 --- a/src/test/ui/associated-types/issue-67684.rs +++ /dev/null @@ -1,62 +0,0 @@ -// check-pass - -#![allow(dead_code)] - -trait ParseError { - type StreamError; -} - -impl<T> ParseError for T { - type StreamError = (); -} - -trait Stream { - type Item; - type Error: ParseError; -} - -trait Parser -where - <Self as Parser>::PartialState: Default, -{ - type PartialState; - fn parse_mode(_: &Self, _: Self::PartialState) { - loop {} - } -} - -impl Stream for () { - type Item = (); - type Error = (); -} - -impl Parser for () { - type PartialState = (); -} - -struct AndThen<A, B>(core::marker::PhantomData<(A, B)>); - -impl<A, B> Parser for AndThen<A, B> -where - A: Stream, - B: Into<<A::Error as ParseError>::StreamError>, -{ - type PartialState = (); -} - -fn expr<A>() -> impl Parser -where - A: Stream<Error = <A as Stream>::Item>, -{ - AndThen::<A, ()>(core::marker::PhantomData) -} - -fn parse_mode_impl<A>() -where - <A as Stream>::Error: ParseError, - A: Stream<Error = <A as Stream>::Item>, -{ - Parser::parse_mode(&expr::<A>(), Default::default()) -} - -fn main() {} |