diff --git a/tests/rustdoc-json/trait_alias.rs b/tests/rustdoc-json/trait_alias.rs
new file mode 100644
index 00000000000..dc930550ef1
--- /dev/null
+++ b/tests/rustdoc-json/trait_alias.rs
@@ -0,0 +1,18 @@
+// ignore-tidy-linelength
+#![feature(trait_alias)]
+
+// @set StrLike = "$.index[*][?(@.name=='StrLike')].id"
+// @is "$.index[*][?(@.name=='StrLike')].visibility" \"public\"
+// @has "$.index[*][?(@.name=='StrLike')].inner.trait_alias"
+// @is "$.index[*][?(@.name=='StrLike')].span.filename" $FILE
+pub trait StrLike = AsRef<str>;
+
+// @is "$.index[*][?(@.name=='f')].inner.function.decl.output.impl_trait[0].trait_bound.trait.id" $StrLike
+pub fn f() -> impl StrLike {
+    "heya"
+}
+
+// @!is "$.index[*][?(@.name=='g')].inner.function.decl.output.impl_trait[0].trait_bound.trait.id" $StrLike
+pub fn g() -> impl AsRef<str> {
+    "heya"
+}
diff --git a/tests/rustdoc-json/type_alias.rs b/tests/rustdoc-json/type_alias.rs
new file mode 100644
index 00000000000..7a938c50ba0
--- /dev/null
+++ b/tests/rustdoc-json/type_alias.rs
@@ -0,0 +1,15 @@
+// @set IntVec = "$.index[*][?(@.name=='IntVec')].id"
+// @is "$.index[*][?(@.name=='IntVec')].visibility" \"public\"
+// @has "$.index[*][?(@.name=='IntVec')].inner.type_alias"
+// @is "$.index[*][?(@.name=='IntVec')].span.filename" $FILE
+pub type IntVec = Vec<u32>;
+
+// @is "$.index[*][?(@.name=='f')].inner.function.decl.output.resolved_path.id" $IntVec
+pub fn f() -> IntVec {
+    vec![0; 32]
+}
+
+// @!is "$.index[*][?(@.name=='g')].inner.function.decl.output.resolved_path.id" $IntVec
+pub fn g() -> Vec<u32> {
+    vec![0; 32]
+}