about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume.gomez@huawei.com>2022-12-08 13:46:51 +0100
committerGuillaume Gomez <guillaume.gomez@huawei.com>2022-12-08 13:46:51 +0100
commit183a77093b3f8dcc54727e0a815023277ee40bc7 (patch)
treedbd261e913aad6de65885d1a1702c41b576e4f0c /src
parent680648625e293b3fdf8846cb2c2ef69b48e2ad70 (diff)
Add regression test for #105404
Diffstat (limited to 'src')
-rw-r--r--src/test/rustdoc-ui/unable-fulfill-trait.rs13
-rw-r--r--src/test/rustdoc-ui/unable-fulfill-trait.stderr26
2 files changed, 39 insertions, 0 deletions
diff --git a/src/test/rustdoc-ui/unable-fulfill-trait.rs b/src/test/rustdoc-ui/unable-fulfill-trait.rs
new file mode 100644
index 00000000000..70357082248
--- /dev/null
+++ b/src/test/rustdoc-ui/unable-fulfill-trait.rs
@@ -0,0 +1,13 @@
+// This test ensures that it's not crashing rustdoc.
+
+pub struct Foo<'a, 'b, T> {
+    field1: dyn Bar<'a, 'b,>,
+    //~^ ERROR
+    //~^^ ERROR
+}
+
+pub trait Bar<'x, 's, U>
+    where U: 'x,
+    Self:'x,
+    Self:'s
+{}
diff --git a/src/test/rustdoc-ui/unable-fulfill-trait.stderr b/src/test/rustdoc-ui/unable-fulfill-trait.stderr
new file mode 100644
index 00000000000..a16b5b6eb2f
--- /dev/null
+++ b/src/test/rustdoc-ui/unable-fulfill-trait.stderr
@@ -0,0 +1,26 @@
+error[E0107]: this trait takes 1 generic argument but 0 generic arguments were supplied
+  --> $DIR/unable-fulfill-trait.rs:4:17
+   |
+LL |     field1: dyn Bar<'a, 'b,>,
+   |                 ^^^ expected 1 generic argument
+   |
+note: trait defined here, with 1 generic parameter: `U`
+  --> $DIR/unable-fulfill-trait.rs:9:11
+   |
+LL | pub trait Bar<'x, 's, U>
+   |           ^^^         -
+help: add missing generic argument
+   |
+LL |     field1: dyn Bar<'a, 'b, U,>,
+   |                           +++
+
+error[E0227]: ambiguous lifetime bound, explicit lifetime bound required
+  --> $DIR/unable-fulfill-trait.rs:4:13
+   |
+LL |     field1: dyn Bar<'a, 'b,>,
+   |             ^^^^^^^^^^^^^^^^
+
+error: aborting due to 2 previous errors
+
+Some errors have detailed explanations: E0107, E0227.
+For more information about an error, try `rustc --explain E0107`.