about summary refs log tree commit diff
path: root/src/test/rustdoc
diff options
context:
space:
mode:
authorGary Guo <gary@garyguo.net>2020-08-07 00:48:24 +0100
committerGary Guo <gary@garyguo.net>2020-08-07 23:35:07 +0100
commit63c0d9ca51bb471189a0d5529c8ee5491fb4e102 (patch)
treef452dc41505ef63d2cd543c816a375be00659796 /src/test/rustdoc
parentc15bae53b5c40db2682211836f892a5a44065e10 (diff)
downloadrust-63c0d9ca51bb471189a0d5529c8ee5491fb4e102.tar.gz
rust-63c0d9ca51bb471189a0d5529c8ee5491fb4e102.zip
Display elided lifetime for non-reference type in doc
Diffstat (limited to 'src/test/rustdoc')
-rw-r--r--src/test/rustdoc/elided-lifetime.rs33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/test/rustdoc/elided-lifetime.rs b/src/test/rustdoc/elided-lifetime.rs
new file mode 100644
index 00000000000..641866aaf3c
--- /dev/null
+++ b/src/test/rustdoc/elided-lifetime.rs
@@ -0,0 +1,33 @@
+#![crate_name = "foo"]
+
+// rust-lang/rust#75225
+//
+// Since Rust 2018 we encourage writing out <'_> explicitly to make it clear
+// that borrowing is occuring. Make sure rustdoc is following the same idiom.
+
+pub struct Ref<'a>(&'a u32);
+type ARef<'a> = Ref<'a>;
+
+// @has foo/fn.test1.html
+// @matches - "Ref</a>&lt;'_&gt;"
+pub fn test1(a: &u32) -> Ref {
+    Ref(a)
+}
+
+// @has foo/fn.test2.html
+// @matches - "Ref</a>&lt;'_&gt;"
+pub fn test2(a: &u32) -> Ref<'_> {
+    Ref(a)
+}
+
+// @has foo/fn.test3.html
+// @matches - "Ref</a>&lt;'_&gt;"
+pub fn test3(a: &u32) -> ARef {
+    Ref(a)
+}
+
+// @has foo/fn.test4.html
+// @matches - "Ref</a>&lt;'_&gt;"
+pub fn test4(a: &u32) -> ARef<'_> {
+    Ref(a)
+}