summaryrefslogtreecommitdiffstats
path: root/tests/ui/associated-consts
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/associated-consts')
-rw-r--r--tests/ui/associated-consts/infer-placeholder-in-non-suggestable-pos.rs10
-rw-r--r--tests/ui/associated-consts/infer-placeholder-in-non-suggestable-pos.stderr9
-rw-r--r--tests/ui/associated-consts/issue-110933.rs20
3 files changed, 39 insertions, 0 deletions
diff --git a/tests/ui/associated-consts/infer-placeholder-in-non-suggestable-pos.rs b/tests/ui/associated-consts/infer-placeholder-in-non-suggestable-pos.rs
new file mode 100644
index 000000000..40896c32e
--- /dev/null
+++ b/tests/ui/associated-consts/infer-placeholder-in-non-suggestable-pos.rs
@@ -0,0 +1,10 @@
+trait Trait {
+ const ASSOC: i32;
+}
+
+impl Trait for () {
+ const ASSOC: &dyn Fn(_) = 1i32;
+ //~^ ERROR the placeholder `_` is not allowed within types on item signatures for associated constants
+}
+
+fn main() {}
diff --git a/tests/ui/associated-consts/infer-placeholder-in-non-suggestable-pos.stderr b/tests/ui/associated-consts/infer-placeholder-in-non-suggestable-pos.stderr
new file mode 100644
index 000000000..993a08fab
--- /dev/null
+++ b/tests/ui/associated-consts/infer-placeholder-in-non-suggestable-pos.stderr
@@ -0,0 +1,9 @@
+error[E0121]: the placeholder `_` is not allowed within types on item signatures for associated constants
+ --> $DIR/infer-placeholder-in-non-suggestable-pos.rs:6:26
+ |
+LL | const ASSOC: &dyn Fn(_) = 1i32;
+ | ^ not allowed in type signatures
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0121`.
diff --git a/tests/ui/associated-consts/issue-110933.rs b/tests/ui/associated-consts/issue-110933.rs
new file mode 100644
index 000000000..aa4882ae5
--- /dev/null
+++ b/tests/ui/associated-consts/issue-110933.rs
@@ -0,0 +1,20 @@
+// check-pass
+
+#![feature(associated_const_equality)]
+
+pub trait Trait {
+ const ASSOC: usize;
+}
+
+pub fn foo<
+ T: Trait<
+ ASSOC = {
+ let a = 10_usize;
+ let b: &'_ usize = &a;
+ *b
+ },
+ >,
+>() {
+}
+
+fn main() {}