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/generic-associated-types/issue-70303.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/generic-associated-types/issue-70303.rs')
-rw-r--r-- | src/test/ui/generic-associated-types/issue-70303.rs | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/src/test/ui/generic-associated-types/issue-70303.rs b/src/test/ui/generic-associated-types/issue-70303.rs deleted file mode 100644 index 0edff5e4e..000000000 --- a/src/test/ui/generic-associated-types/issue-70303.rs +++ /dev/null @@ -1,57 +0,0 @@ -// check-pass - -trait Document { - type Cursor<'a>: DocCursor<'a> where Self: 'a; - - fn cursor(&self) -> Self::Cursor<'_>; -} - -struct DocumentImpl {} - -impl Document for DocumentImpl { - type Cursor<'a> = DocCursorImpl<'a>; - - fn cursor(&self) -> Self::Cursor<'_> { - DocCursorImpl { - document: &self, - } - } -} - - -trait DocCursor<'a> {} - -struct DocCursorImpl<'a> { - document: &'a DocumentImpl, -} - -impl<'a> DocCursor<'a> for DocCursorImpl<'a> {} - -struct Lexer<'d, Cursor> -where - Cursor: DocCursor<'d>, -{ - cursor: Cursor, - _phantom: std::marker::PhantomData<&'d ()>, -} - - -impl<'d, Cursor> Lexer<'d, Cursor> -where - Cursor: DocCursor<'d>, -{ - pub fn from<Doc>(document: &'d Doc) -> Lexer<'d, Cursor> - where - Doc: Document<Cursor<'d> = Cursor>, - { - Lexer { - cursor: document.cursor(), - _phantom: std::marker::PhantomData, - } - } -} - -pub fn main() { - let doc = DocumentImpl {}; - let lexer: Lexer<'_, DocCursorImpl<'_>> = Lexer::from(&doc); -} |