summaryrefslogtreecommitdiffstats
path: root/src/test/ui/generic-associated-types/issue-70303.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:03 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:03 +0000
commit64d98f8ee037282c35007b64c2649055c56af1db (patch)
tree5492bcf97fce41ee1c0b1cc2add283f3e66cdab0 /src/test/ui/generic-associated-types/issue-70303.rs
parentAdding debian version 1.67.1+dfsg1-1. (diff)
downloadrustc-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.rs57
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);
-}