about summary refs log tree commit diff
path: root/src/test/rustdoc-ui
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume.gomez@huawei.com>2021-10-22 22:39:33 +0200
committerGuillaume Gomez <guillaume.gomez@huawei.com>2021-10-29 14:25:15 +0200
commit0c38f31bf23506ad33bbd922ea6095f1010712df (patch)
treed3c6ee062db7dba2780aee58b41846db38749aa7 /src/test/rustdoc-ui
parent8a473ca3469340741a7108d52dd488c799f70fad (diff)
downloadrust-0c38f31bf23506ad33bbd922ea6095f1010712df.tar.gz
rust-0c38f31bf23506ad33bbd922ea6095f1010712df.zip
Add tests for recursive deref
Diffstat (limited to 'src/test/rustdoc-ui')
-rw-r--r--src/test/rustdoc-ui/recursive-deref-ice.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/rustdoc-ui/recursive-deref-ice.rs b/src/test/rustdoc-ui/recursive-deref-ice.rs
new file mode 100644
index 00000000000..c44fd27f403
--- /dev/null
+++ b/src/test/rustdoc-ui/recursive-deref-ice.rs
@@ -0,0 +1,19 @@
+// check-pass
+
+// ICE found in https://github.com/rust-lang/rust/issues/83123
+
+pub struct Attribute;
+
+pub struct Map<'hir> {}
+impl<'hir> Map<'hir> {
+    pub fn attrs(&self) -> &'hir [Attribute] { &[] }
+}
+
+pub struct List<T>(T);
+
+impl<T> std::ops::Deref for List<T> {
+    type Target = [T];
+    fn deref(&self) -> &[T] {
+        &[]
+    }
+}