about summary refs log tree commit diff
path: root/tests/ui/generics
diff options
context:
space:
mode:
authorKivooeo <Kivooeo123@gmail.com>2025-06-09 01:39:32 +0500
committerKivooeo <Kivooeo123@gmail.com>2025-06-11 17:49:03 +0500
commit09940635d58804bbe913202b19ded0d2a27c7c05 (patch)
treebe9e7fe76ec2b55c9ca8f6a4cd26fd5af5ef4904 /tests/ui/generics
parent8072811356a178dbdf8ca09b1635cfafd4661971 (diff)
downloadrust-09940635d58804bbe913202b19ded0d2a27c7c05.tar.gz
rust-09940635d58804bbe913202b19ded0d2a27c7c05.zip
cleaned up some tests
Diffstat (limited to 'tests/ui/generics')
-rw-r--r--tests/ui/generics/empty-generic-brackets-equiv.rs27
-rw-r--r--tests/ui/generics/empty-generic-brackets-equiv.stderr10
2 files changed, 37 insertions, 0 deletions
diff --git a/tests/ui/generics/empty-generic-brackets-equiv.rs b/tests/ui/generics/empty-generic-brackets-equiv.rs
new file mode 100644
index 00000000000..d84498a60f8
--- /dev/null
+++ b/tests/ui/generics/empty-generic-brackets-equiv.rs
@@ -0,0 +1,27 @@
+//! Test that empty type parameter list <> is equivalent to no type parameters
+//!
+//! Checks` that empty angle brackets <> are syntactically valid and equivalent
+//! to omitting type parameters entirely across various language constructs.
+
+//@ run-pass
+
+struct S<>;
+trait T<> {} //~ WARN trait `T` is never used
+enum E<> {
+    V
+}
+impl<> T<> for S<> {}
+impl T for E {}
+fn foo<>() {}
+fn bar() {}
+fn main() {
+    let _ = S;
+    let _ = S::<>;
+    let _ = E::V;
+    let _ = E::<>::V;
+    foo();
+    foo::<>();
+    // Test that we can supply <> to non-generic things
+    bar::<>();
+    let _: i32<>;
+}
diff --git a/tests/ui/generics/empty-generic-brackets-equiv.stderr b/tests/ui/generics/empty-generic-brackets-equiv.stderr
new file mode 100644
index 00000000000..151ee4697b4
--- /dev/null
+++ b/tests/ui/generics/empty-generic-brackets-equiv.stderr
@@ -0,0 +1,10 @@
+warning: trait `T` is never used
+  --> $DIR/empty-generic-brackets-equiv.rs:9:7
+   |
+LL | trait T<> {}
+   |       ^
+   |
+   = note: `#[warn(dead_code)]` on by default
+
+warning: 1 warning emitted
+