summaryrefslogtreecommitdiffstats
path: root/src/test/ui/generic-associated-types/issue-70304.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:13 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:13 +0000
commit218caa410aa38c29984be31a5229b9fa717560ee (patch)
treec54bd55eeb6e4c508940a30e94c0032fbd45d677 /src/test/ui/generic-associated-types/issue-70304.rs
parentReleasing progress-linux version 1.67.1+dfsg1-1~progress7.99u1. (diff)
downloadrustc-218caa410aa38c29984be31a5229b9fa717560ee.tar.xz
rustc-218caa410aa38c29984be31a5229b9fa717560ee.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-70304.rs')
-rw-r--r--src/test/ui/generic-associated-types/issue-70304.rs55
1 files changed, 0 insertions, 55 deletions
diff --git a/src/test/ui/generic-associated-types/issue-70304.rs b/src/test/ui/generic-associated-types/issue-70304.rs
deleted file mode 100644
index 8898d4c7d..000000000
--- a/src/test/ui/generic-associated-types/issue-70304.rs
+++ /dev/null
@@ -1,55 +0,0 @@
-trait Document {
- type Cursor<'a>: DocCursor<'a>;
- //~^ ERROR: missing required bound on `Cursor`
-
- 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 }
- }
-}
-
-fn create_doc() -> impl Document<Cursor<'_> = DocCursorImpl<'_>> {
- //~^ ERROR `'_` cannot be used here [E0637]
- //~| ERROR: missing lifetime specifier
- DocumentImpl {}
-}
-
-pub fn main() {
- let doc = create_doc();
- let lexer: Lexer<'_, DocCursorImpl<'_>> = Lexer::from(&doc);
-}