summaryrefslogtreecommitdiffstats
path: root/src/test/ui/impl-trait/issues/issue-83929-impl-trait-in-generic-default.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/impl-trait/issues/issue-83929-impl-trait-in-generic-default.rs')
-rw-r--r--src/test/ui/impl-trait/issues/issue-83929-impl-trait-in-generic-default.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/test/ui/impl-trait/issues/issue-83929-impl-trait-in-generic-default.rs b/src/test/ui/impl-trait/issues/issue-83929-impl-trait-in-generic-default.rs
new file mode 100644
index 000000000..344f35952
--- /dev/null
+++ b/src/test/ui/impl-trait/issues/issue-83929-impl-trait-in-generic-default.rs
@@ -0,0 +1,12 @@
+struct Foo<T = impl Copy>(T);
+//~^ ERROR `impl Trait` only allowed in function and inherent method return types
+
+type Result<T, E = impl std::error::Error> = std::result::Result<T, E>;
+//~^ ERROR `impl Trait` only allowed in function and inherent method return types
+
+// should not cause ICE
+fn x() -> Foo {
+ Foo(0)
+}
+
+fn main() -> Result<()> {}