summaryrefslogtreecommitdiffstats
path: root/tests/ui/typeck
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:57:31 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:57:31 +0000
commitdc0db358abe19481e475e10c32149b53370f1a1c (patch)
treeab8ce99c4b255ce46f99ef402c27916055b899ee /tests/ui/typeck
parentReleasing progress-linux version 1.71.1+dfsg1-2~progress7.99u1. (diff)
downloadrustc-dc0db358abe19481e475e10c32149b53370f1a1c.tar.xz
rustc-dc0db358abe19481e475e10c32149b53370f1a1c.zip
Merging upstream version 1.72.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/ui/typeck')
-rw-r--r--tests/ui/typeck/dont-record-adjustments-when-pointing-at-arg.rs29
-rw-r--r--tests/ui/typeck/dont-record-adjustments-when-pointing-at-arg.stderr17
-rw-r--r--tests/ui/typeck/issue-106929.rs13
-rw-r--r--tests/ui/typeck/issue-106929.stderr15
-rw-r--r--tests/ui/typeck/issue-112252-ptr-arithmetics-help.fixed10
-rw-r--r--tests/ui/typeck/issue-112252-ptr-arithmetics-help.rs10
-rw-r--r--tests/ui/typeck/issue-112252-ptr-arithmetics-help.stderr54
-rw-r--r--tests/ui/typeck/issue-112385-while-assign-lhs-place-expr-ice.rs9
-rw-r--r--tests/ui/typeck/issue-112385-while-assign-lhs-place-expr-ice.stderr14
-rw-r--r--tests/ui/typeck/issue-1871.rs12
-rw-r--r--tests/ui/typeck/issue-1871.stderr9
-rw-r--r--tests/ui/typeck/issue-2063-resource.rs14
-rw-r--r--tests/ui/typeck/issue-2063.rs22
-rw-r--r--tests/ui/typeck/issue-81293.stderr4
-rw-r--r--tests/ui/typeck/issue-86721-return-expr-ice.rs2
-rw-r--r--tests/ui/typeck/issue-89856.stderr2
-rw-r--r--tests/ui/typeck/issue-90101.stderr2
-rw-r--r--tests/ui/typeck/ptr-null-mutability-suggestions.fixed11
-rw-r--r--tests/ui/typeck/ptr-null-mutability-suggestions.rs11
-rw-r--r--tests/ui/typeck/ptr-null-mutability-suggestions.stderr21
-rw-r--r--tests/ui/typeck/return-dyn-type-mismatch-2.rs11
-rw-r--r--tests/ui/typeck/return-dyn-type-mismatch-2.stderr15
-rw-r--r--tests/ui/typeck/return-dyn-type-mismatch.rs21
-rw-r--r--tests/ui/typeck/return-dyn-type-mismatch.stderr15
-rw-r--r--tests/ui/typeck/type-placeholder-fn-in-const.rs3
-rw-r--r--tests/ui/typeck/type-placeholder-fn-in-const.stderr10
-rw-r--r--tests/ui/typeck/typeck_type_placeholder_item.rs8
-rw-r--r--tests/ui/typeck/typeck_type_placeholder_item.stderr8
-rw-r--r--tests/ui/typeck/typeck_type_placeholder_item_help.rs4
-rw-r--r--tests/ui/typeck/typeck_type_placeholder_item_help.stderr4
30 files changed, 360 insertions, 20 deletions
diff --git a/tests/ui/typeck/dont-record-adjustments-when-pointing-at-arg.rs b/tests/ui/typeck/dont-record-adjustments-when-pointing-at-arg.rs
new file mode 100644
index 000000000..0c2d71707
--- /dev/null
+++ b/tests/ui/typeck/dont-record-adjustments-when-pointing-at-arg.rs
@@ -0,0 +1,29 @@
+pub trait NSWindow: Sized {
+ fn frame(self) -> () {
+ unimplemented!()
+ }
+ fn setFrame_display_(self, display: ()) {}
+}
+impl NSWindow for () {}
+
+pub struct NSRect {}
+
+use std::ops::Deref;
+struct MainThreadSafe<T = ()>(T);
+impl<T> Deref for MainThreadSafe<T> {
+ type Target = T;
+
+ fn deref(&self) -> &T {
+ unimplemented!()
+ }
+}
+
+fn main() {
+ || {
+ let ns_window = MainThreadSafe(());
+ // Don't record adjustments twice for `*ns_window`
+ (*ns_window).frame();
+ ns_window.setFrame_display_(0);
+ //~^ ERROR mismatched types
+ };
+}
diff --git a/tests/ui/typeck/dont-record-adjustments-when-pointing-at-arg.stderr b/tests/ui/typeck/dont-record-adjustments-when-pointing-at-arg.stderr
new file mode 100644
index 000000000..02e87d701
--- /dev/null
+++ b/tests/ui/typeck/dont-record-adjustments-when-pointing-at-arg.stderr
@@ -0,0 +1,17 @@
+error[E0308]: mismatched types
+ --> $DIR/dont-record-adjustments-when-pointing-at-arg.rs:26:37
+ |
+LL | ns_window.setFrame_display_(0);
+ | ----------------- ^ expected `()`, found integer
+ | |
+ | arguments to this method are incorrect
+ |
+note: method defined here
+ --> $DIR/dont-record-adjustments-when-pointing-at-arg.rs:5:8
+ |
+LL | fn setFrame_display_(self, display: ()) {}
+ | ^^^^^^^^^^^^^^^^^ -----------
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0308`.
diff --git a/tests/ui/typeck/issue-106929.rs b/tests/ui/typeck/issue-106929.rs
new file mode 100644
index 000000000..91342229a
--- /dev/null
+++ b/tests/ui/typeck/issue-106929.rs
@@ -0,0 +1,13 @@
+struct Client;
+
+impl Client {
+ fn post<T: std::ops::Add>(&self, _: T, _: T) {}
+}
+
+fn f() {
+ let c = Client;
+ post(c, ());
+ //~^ ERROR cannot find function `post` in this scope
+}
+
+fn main() {}
diff --git a/tests/ui/typeck/issue-106929.stderr b/tests/ui/typeck/issue-106929.stderr
new file mode 100644
index 000000000..f744e5a41
--- /dev/null
+++ b/tests/ui/typeck/issue-106929.stderr
@@ -0,0 +1,15 @@
+error[E0425]: cannot find function `post` in this scope
+ --> $DIR/issue-106929.rs:9:5
+ |
+LL | post(c, ());
+ | ^^^^ not found in this scope
+ |
+help: use the `.` operator to call the method `post` on `&Client`
+ |
+LL - post(c, ());
+LL + c.post(());
+ |
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0425`.
diff --git a/tests/ui/typeck/issue-112252-ptr-arithmetics-help.fixed b/tests/ui/typeck/issue-112252-ptr-arithmetics-help.fixed
new file mode 100644
index 000000000..bdb884f54
--- /dev/null
+++ b/tests/ui/typeck/issue-112252-ptr-arithmetics-help.fixed
@@ -0,0 +1,10 @@
+// run-rustfix
+
+fn main() {
+ let _ptr1: *const u32 = std::ptr::null();
+ let _ptr2: *const u32 = std::ptr::null();
+ let _a = _ptr1.wrapping_add(5); //~ ERROR cannot add
+ let _b = _ptr1.wrapping_sub(5); //~ ERROR cannot subtract
+ let _c = unsafe { _ptr2.offset_from(_ptr1) }; //~ ERROR cannot subtract
+ let _d = _ptr1.wrapping_add(5); //~ ERROR cannot index
+}
diff --git a/tests/ui/typeck/issue-112252-ptr-arithmetics-help.rs b/tests/ui/typeck/issue-112252-ptr-arithmetics-help.rs
new file mode 100644
index 000000000..cf68850cc
--- /dev/null
+++ b/tests/ui/typeck/issue-112252-ptr-arithmetics-help.rs
@@ -0,0 +1,10 @@
+// run-rustfix
+
+fn main() {
+ let _ptr1: *const u32 = std::ptr::null();
+ let _ptr2: *const u32 = std::ptr::null();
+ let _a = _ptr1 + 5; //~ ERROR cannot add
+ let _b = _ptr1 - 5; //~ ERROR cannot subtract
+ let _c = _ptr2 - _ptr1; //~ ERROR cannot subtract
+ let _d = _ptr1[5]; //~ ERROR cannot index
+}
diff --git a/tests/ui/typeck/issue-112252-ptr-arithmetics-help.stderr b/tests/ui/typeck/issue-112252-ptr-arithmetics-help.stderr
new file mode 100644
index 000000000..c55930da2
--- /dev/null
+++ b/tests/ui/typeck/issue-112252-ptr-arithmetics-help.stderr
@@ -0,0 +1,54 @@
+error[E0369]: cannot add `{integer}` to `*const u32`
+ --> $DIR/issue-112252-ptr-arithmetics-help.rs:6:20
+ |
+LL | let _a = _ptr1 + 5;
+ | ----- ^ - {integer}
+ | |
+ | *const u32
+ |
+help: consider using `wrapping_add` or `add` for pointer + {integer}
+ |
+LL | let _a = _ptr1.wrapping_add(5);
+ | ~~~~~~~~~~~~~~ +
+
+error[E0369]: cannot subtract `{integer}` from `*const u32`
+ --> $DIR/issue-112252-ptr-arithmetics-help.rs:7:20
+ |
+LL | let _b = _ptr1 - 5;
+ | ----- ^ - {integer}
+ | |
+ | *const u32
+ |
+help: consider using `wrapping_sub` or `sub` for pointer - {integer}
+ |
+LL | let _b = _ptr1.wrapping_sub(5);
+ | ~~~~~~~~~~~~~~ +
+
+error[E0369]: cannot subtract `*const u32` from `*const u32`
+ --> $DIR/issue-112252-ptr-arithmetics-help.rs:8:20
+ |
+LL | let _c = _ptr2 - _ptr1;
+ | ----- ^ ----- *const u32
+ | |
+ | *const u32
+ |
+help: consider using `offset_from` for pointer - pointer if the pointers point to the same allocation
+ |
+LL | let _c = unsafe { _ptr2.offset_from(_ptr1) };
+ | ++++++++ ~~~~~~~~~~~~~ +++
+
+error[E0608]: cannot index into a value of type `*const u32`
+ --> $DIR/issue-112252-ptr-arithmetics-help.rs:9:14
+ |
+LL | let _d = _ptr1[5];
+ | ^^^^^^^^
+ |
+help: consider using `wrapping_add` or `add` for indexing into raw pointer
+ |
+LL | let _d = _ptr1.wrapping_add(5);
+ | ~~~~~~~~~~~~~~ ~
+
+error: aborting due to 4 previous errors
+
+Some errors have detailed explanations: E0369, E0608.
+For more information about an error, try `rustc --explain E0369`.
diff --git a/tests/ui/typeck/issue-112385-while-assign-lhs-place-expr-ice.rs b/tests/ui/typeck/issue-112385-while-assign-lhs-place-expr-ice.rs
new file mode 100644
index 000000000..3cb011dc0
--- /dev/null
+++ b/tests/ui/typeck/issue-112385-while-assign-lhs-place-expr-ice.rs
@@ -0,0 +1,9 @@
+// Previously, the while loop with an assignment statement (mistakenly) as the condition
+// which has a place expr as the LHS would trigger an ICE in typeck.
+// Reduced from https://github.com/rust-lang/rust/issues/112385.
+
+fn main() {
+ let foo = Some(());
+ while Some(foo) = None {}
+ //~^ ERROR mismatched types
+}
diff --git a/tests/ui/typeck/issue-112385-while-assign-lhs-place-expr-ice.stderr b/tests/ui/typeck/issue-112385-while-assign-lhs-place-expr-ice.stderr
new file mode 100644
index 000000000..cf2648d08
--- /dev/null
+++ b/tests/ui/typeck/issue-112385-while-assign-lhs-place-expr-ice.stderr
@@ -0,0 +1,14 @@
+error[E0308]: mismatched types
+ --> $DIR/issue-112385-while-assign-lhs-place-expr-ice.rs:7:11
+ |
+LL | while Some(foo) = None {}
+ | ^^^^^^^^^^^^^^^^ expected `bool`, found `()`
+ |
+help: consider adding `let`
+ |
+LL | while let Some(foo) = None {}
+ | +++
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0308`.
diff --git a/tests/ui/typeck/issue-1871.rs b/tests/ui/typeck/issue-1871.rs
new file mode 100644
index 000000000..f7a2bdd56
--- /dev/null
+++ b/tests/ui/typeck/issue-1871.rs
@@ -0,0 +1,12 @@
+// Tests that we don't generate a spurious error about f.honk's type
+// being undeterminable
+fn main() {
+ let f = 42;
+
+ let _g = if f < 5 {
+ f.honk() //~ ERROR no method named `honk` found
+ }
+ else {
+ ()
+ };
+}
diff --git a/tests/ui/typeck/issue-1871.stderr b/tests/ui/typeck/issue-1871.stderr
new file mode 100644
index 000000000..b774ca22d
--- /dev/null
+++ b/tests/ui/typeck/issue-1871.stderr
@@ -0,0 +1,9 @@
+error[E0599]: no method named `honk` found for type `{integer}` in the current scope
+ --> $DIR/issue-1871.rs:7:9
+ |
+LL | f.honk()
+ | ^^^^ method not found in `{integer}`
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0599`.
diff --git a/tests/ui/typeck/issue-2063-resource.rs b/tests/ui/typeck/issue-2063-resource.rs
new file mode 100644
index 000000000..1d0527447
--- /dev/null
+++ b/tests/ui/typeck/issue-2063-resource.rs
@@ -0,0 +1,14 @@
+// check-pass
+#![allow(dead_code)]
+// test that autoderef of a type like this does not
+// cause compiler to loop. Note that no instances
+// of such a type could ever be constructed.
+
+struct S {
+ x: X,
+ to_str: (),
+}
+
+struct X(Box<S>);
+
+fn main() {}
diff --git a/tests/ui/typeck/issue-2063.rs b/tests/ui/typeck/issue-2063.rs
new file mode 100644
index 000000000..f08f9d4cf
--- /dev/null
+++ b/tests/ui/typeck/issue-2063.rs
@@ -0,0 +1,22 @@
+// run-pass
+// test that autoderef of a type like this does not
+// cause compiler to loop. Note that no instances
+// of such a type could ever be constructed.
+
+struct T(#[allow(unused_tuple_struct_fields)] Box<T>);
+
+trait ToStr2 {
+ fn my_to_string(&self) -> String;
+}
+
+impl ToStr2 for T {
+ fn my_to_string(&self) -> String { "t".to_string() }
+}
+
+#[allow(dead_code)]
+fn new_t(x: T) {
+ x.my_to_string();
+}
+
+fn main() {
+}
diff --git a/tests/ui/typeck/issue-81293.stderr b/tests/ui/typeck/issue-81293.stderr
index 6976be711..292c63070 100644
--- a/tests/ui/typeck/issue-81293.stderr
+++ b/tests/ui/typeck/issue-81293.stderr
@@ -21,10 +21,10 @@ LL | a = c + b * 5;
|
= help: the trait `Add<u16>` is not implemented for `usize`
= help: the following other types implement trait `Add<Rhs>`:
+ <usize as Add>
+ <usize as Add<&usize>>
<&'a usize as Add<usize>>
<&usize as Add<&usize>>
- <usize as Add<&usize>>
- <usize as Add>
error: aborting due to 3 previous errors
diff --git a/tests/ui/typeck/issue-86721-return-expr-ice.rs b/tests/ui/typeck/issue-86721-return-expr-ice.rs
index cd7135f18..4f882f7a3 100644
--- a/tests/ui/typeck/issue-86721-return-expr-ice.rs
+++ b/tests/ui/typeck/issue-86721-return-expr-ice.rs
@@ -2,7 +2,7 @@
// revisions: rev1 rev2
#![cfg_attr(any(), rev1, rev2)]
-#![crate_type="lib"]
+#![crate_type = "lib"]
#[cfg(any(rev1))]
trait T {
diff --git a/tests/ui/typeck/issue-89856.stderr b/tests/ui/typeck/issue-89856.stderr
index bd76f1724..0db3e67ed 100644
--- a/tests/ui/typeck/issue-89856.stderr
+++ b/tests/ui/typeck/issue-89856.stderr
@@ -13,7 +13,7 @@ note: function defined here
|
LL | fn take_str_maybe(_: Option<&str>) { }
| ^^^^^^^^^^^^^^ ---------------
-help: try converting the passed type into a `&str`
+help: try using `.as_deref()` to convert `Option<String>` to `Option<&str>`
|
LL | take_str_maybe(option.as_deref());
| +++++++++++
diff --git a/tests/ui/typeck/issue-90101.stderr b/tests/ui/typeck/issue-90101.stderr
index d2729d853..484089f9e 100644
--- a/tests/ui/typeck/issue-90101.stderr
+++ b/tests/ui/typeck/issue-90101.stderr
@@ -7,11 +7,11 @@ LL | func(Path::new("hello").to_path_buf().to_string_lossy(), "world")
| required by a bound introduced by this call
|
= help: the following other types implement trait `From<T>`:
- <PathBuf as From<&T>>
<PathBuf as From<Box<Path>>>
<PathBuf as From<Cow<'a, Path>>>
<PathBuf as From<OsString>>
<PathBuf as From<String>>
+ <PathBuf as From<&T>>
= note: required for `Cow<'_, str>` to implement `Into<PathBuf>`
note: required by a bound in `func`
--> $DIR/issue-90101.rs:3:20
diff --git a/tests/ui/typeck/ptr-null-mutability-suggestions.fixed b/tests/ui/typeck/ptr-null-mutability-suggestions.fixed
new file mode 100644
index 000000000..d00536b29
--- /dev/null
+++ b/tests/ui/typeck/ptr-null-mutability-suggestions.fixed
@@ -0,0 +1,11 @@
+// run-rustfix
+
+#[allow(unused_imports)]
+use std::ptr;
+
+fn expecting_null_mut(_: *mut u8) {}
+
+fn main() {
+ expecting_null_mut(core::ptr::null_mut());
+ //~^ ERROR mismatched types
+}
diff --git a/tests/ui/typeck/ptr-null-mutability-suggestions.rs b/tests/ui/typeck/ptr-null-mutability-suggestions.rs
new file mode 100644
index 000000000..ea3066d22
--- /dev/null
+++ b/tests/ui/typeck/ptr-null-mutability-suggestions.rs
@@ -0,0 +1,11 @@
+// run-rustfix
+
+#[allow(unused_imports)]
+use std::ptr;
+
+fn expecting_null_mut(_: *mut u8) {}
+
+fn main() {
+ expecting_null_mut(ptr::null());
+ //~^ ERROR mismatched types
+}
diff --git a/tests/ui/typeck/ptr-null-mutability-suggestions.stderr b/tests/ui/typeck/ptr-null-mutability-suggestions.stderr
new file mode 100644
index 000000000..705b029bd
--- /dev/null
+++ b/tests/ui/typeck/ptr-null-mutability-suggestions.stderr
@@ -0,0 +1,21 @@
+error[E0308]: mismatched types
+ --> $DIR/ptr-null-mutability-suggestions.rs:9:24
+ |
+LL | expecting_null_mut(ptr::null());
+ | ------------------ ^^^^^^^^^^^
+ | | |
+ | | types differ in mutability
+ | | help: consider using `core::ptr::null_mut` instead: `core::ptr::null_mut()`
+ | arguments to this function are incorrect
+ |
+ = note: expected raw pointer `*mut u8`
+ found raw pointer `*const _`
+note: function defined here
+ --> $DIR/ptr-null-mutability-suggestions.rs:6:4
+ |
+LL | fn expecting_null_mut(_: *mut u8) {}
+ | ^^^^^^^^^^^^^^^^^^ ----------
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0308`.
diff --git a/tests/ui/typeck/return-dyn-type-mismatch-2.rs b/tests/ui/typeck/return-dyn-type-mismatch-2.rs
new file mode 100644
index 000000000..328f154dc
--- /dev/null
+++ b/tests/ui/typeck/return-dyn-type-mismatch-2.rs
@@ -0,0 +1,11 @@
+trait Trait<T> {}
+
+fn foo<T>() -> dyn Trait<T>
+where
+ dyn Trait<T>: Sized, // pesky sized predicate
+{
+ 42
+ //~^ ERROR mismatched types
+}
+
+fn main() {}
diff --git a/tests/ui/typeck/return-dyn-type-mismatch-2.stderr b/tests/ui/typeck/return-dyn-type-mismatch-2.stderr
new file mode 100644
index 000000000..9c368e838
--- /dev/null
+++ b/tests/ui/typeck/return-dyn-type-mismatch-2.stderr
@@ -0,0 +1,15 @@
+error[E0308]: mismatched types
+ --> $DIR/return-dyn-type-mismatch-2.rs:7:5
+ |
+LL | fn foo<T>() -> dyn Trait<T>
+ | ------------ expected `(dyn Trait<T> + 'static)` because of return type
+...
+LL | 42
+ | ^^ expected `dyn Trait`, found integer
+ |
+ = note: expected trait object `(dyn Trait<T> + 'static)`
+ found type `{integer}`
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0308`.
diff --git a/tests/ui/typeck/return-dyn-type-mismatch.rs b/tests/ui/typeck/return-dyn-type-mismatch.rs
new file mode 100644
index 000000000..93718f70f
--- /dev/null
+++ b/tests/ui/typeck/return-dyn-type-mismatch.rs
@@ -0,0 +1,21 @@
+pub trait TestTrait {
+ type MyType;
+
+ fn func() -> Option<Self>
+ where
+ Self: Sized;
+}
+
+impl<T> dyn TestTrait<MyType = T>
+where
+ Self: Sized, // pesky sized predicate
+{
+ fn other_func() -> dyn TestTrait<MyType = T> {
+ match Self::func() {
+ None => None,
+ //~^ ERROR mismatched types
+ }
+ }
+}
+
+fn main() {}
diff --git a/tests/ui/typeck/return-dyn-type-mismatch.stderr b/tests/ui/typeck/return-dyn-type-mismatch.stderr
new file mode 100644
index 000000000..9d0a609d8
--- /dev/null
+++ b/tests/ui/typeck/return-dyn-type-mismatch.stderr
@@ -0,0 +1,15 @@
+error[E0308]: mismatched types
+ --> $DIR/return-dyn-type-mismatch.rs:15:21
+ |
+LL | fn other_func() -> dyn TestTrait<MyType = T> {
+ | ------------------------- expected `(dyn TestTrait<MyType = T> + 'static)` because of return type
+LL | match Self::func() {
+LL | None => None,
+ | ^^^^ expected `dyn TestTrait`, found `Option<_>`
+ |
+ = note: expected trait object `(dyn TestTrait<MyType = T> + 'static)`
+ found enum `Option<_>`
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0308`.
diff --git a/tests/ui/typeck/type-placeholder-fn-in-const.rs b/tests/ui/typeck/type-placeholder-fn-in-const.rs
index ab2e2d8c5..bbb95a579 100644
--- a/tests/ui/typeck/type-placeholder-fn-in-const.rs
+++ b/tests/ui/typeck/type-placeholder-fn-in-const.rs
@@ -3,12 +3,13 @@ struct MyStruct;
trait Test {
const TEST: fn() -> _;
//~^ ERROR: the placeholder `_` is not allowed within types on item signatures for functions [E0121]
- //~| ERROR: the placeholder `_` is not allowed within types on item signatures for constants [E0121]
+ //~| ERROR: the placeholder `_` is not allowed within types on item signatures for associated constants [E0121]
}
impl Test for MyStruct {
const TEST: fn() -> _ = 42;
//~^ ERROR: the placeholder `_` is not allowed within types on item signatures for functions [E0121]
+ //~| ERROR: the placeholder `_` is not allowed within types on item signatures for associated constants [E0121]
}
fn main() {}
diff --git a/tests/ui/typeck/type-placeholder-fn-in-const.stderr b/tests/ui/typeck/type-placeholder-fn-in-const.stderr
index e7b2e554a..302359d25 100644
--- a/tests/ui/typeck/type-placeholder-fn-in-const.stderr
+++ b/tests/ui/typeck/type-placeholder-fn-in-const.stderr
@@ -4,7 +4,7 @@ error[E0121]: the placeholder `_` is not allowed within types on item signatures
LL | const TEST: fn() -> _;
| ^ not allowed in type signatures
-error[E0121]: the placeholder `_` is not allowed within types on item signatures for constants
+error[E0121]: the placeholder `_` is not allowed within types on item signatures for associated constants
--> $DIR/type-placeholder-fn-in-const.rs:4:25
|
LL | const TEST: fn() -> _;
@@ -16,6 +16,12 @@ error[E0121]: the placeholder `_` is not allowed within types on item signatures
LL | const TEST: fn() -> _ = 42;
| ^ not allowed in type signatures
-error: aborting due to 3 previous errors
+error[E0121]: the placeholder `_` is not allowed within types on item signatures for associated constants
+ --> $DIR/type-placeholder-fn-in-const.rs:10:25
+ |
+LL | const TEST: fn() -> _ = 42;
+ | ^ not allowed in type signatures
+
+error: aborting due to 4 previous errors
For more information about this error, try `rustc --explain E0121`.
diff --git a/tests/ui/typeck/typeck_type_placeholder_item.rs b/tests/ui/typeck/typeck_type_placeholder_item.rs
index 46aed0f60..4eba14f5a 100644
--- a/tests/ui/typeck/typeck_type_placeholder_item.rs
+++ b/tests/ui/typeck/typeck_type_placeholder_item.rs
@@ -190,9 +190,9 @@ trait Qux {
type B = _;
//~^ ERROR the placeholder `_` is not allowed within types on item signatures for associated types
const C: _;
- //~^ ERROR the placeholder `_` is not allowed within types on item signatures for constants
+ //~^ ERROR the placeholder `_` is not allowed within types on item signatures for associated constants
const D: _ = 42;
- //~^ ERROR the placeholder `_` is not allowed within types on item signatures for constants
+ //~^ ERROR the placeholder `_` is not allowed within types on item signatures for associated constants
// type E: _; // FIXME: make the parser propagate the existence of `B`
type F: std::ops::Fn(_);
//~^ ERROR the placeholder `_` is not allowed within types on item signatures for associated types
@@ -203,10 +203,10 @@ impl Qux for Struct {
type B = _;
//~^ ERROR the placeholder `_` is not allowed within types on item signatures for associated types
const C: _;
- //~^ ERROR the placeholder `_` is not allowed within types on item signatures for constants
+ //~^ ERROR the placeholder `_` is not allowed within types on item signatures for associated constants
//~| ERROR associated constant in `impl` without body
const D: _ = 42;
- //~^ ERROR the placeholder `_` is not allowed within types on item signatures for constants
+ //~^ ERROR the placeholder `_` is not allowed within types on item signatures for associated constants
}
fn map<T>(_: fn() -> Option<&'static T>) -> Option<T> {
diff --git a/tests/ui/typeck/typeck_type_placeholder_item.stderr b/tests/ui/typeck/typeck_type_placeholder_item.stderr
index bc02547c6..0c5e7e3ce 100644
--- a/tests/ui/typeck/typeck_type_placeholder_item.stderr
+++ b/tests/ui/typeck/typeck_type_placeholder_item.stderr
@@ -525,13 +525,13 @@ error[E0121]: the placeholder `_` is not allowed within types on item signatures
LL | type B = _;
| ^ not allowed in type signatures
-error[E0121]: the placeholder `_` is not allowed within types on item signatures for constants
+error[E0121]: the placeholder `_` is not allowed within types on item signatures for associated constants
--> $DIR/typeck_type_placeholder_item.rs:192:14
|
LL | const C: _;
| ^ not allowed in type signatures
-error[E0121]: the placeholder `_` is not allowed within types on item signatures for constants
+error[E0121]: the placeholder `_` is not allowed within types on item signatures for associated constants
--> $DIR/typeck_type_placeholder_item.rs:194:14
|
LL | const D: _ = 42;
@@ -642,13 +642,13 @@ error[E0121]: the placeholder `_` is not allowed within types on item signatures
LL | type B = _;
| ^ not allowed in type signatures
-error[E0121]: the placeholder `_` is not allowed within types on item signatures for constants
+error[E0121]: the placeholder `_` is not allowed within types on item signatures for associated constants
--> $DIR/typeck_type_placeholder_item.rs:205:14
|
LL | const C: _;
| ^ not allowed in type signatures
-error[E0121]: the placeholder `_` is not allowed within types on item signatures for constants
+error[E0121]: the placeholder `_` is not allowed within types on item signatures for associated constants
--> $DIR/typeck_type_placeholder_item.rs:208:14
|
LL | const D: _ = 42;
diff --git a/tests/ui/typeck/typeck_type_placeholder_item_help.rs b/tests/ui/typeck/typeck_type_placeholder_item_help.rs
index c459d8c3c..914f8a2b2 100644
--- a/tests/ui/typeck/typeck_type_placeholder_item_help.rs
+++ b/tests/ui/typeck/typeck_type_placeholder_item_help.rs
@@ -16,14 +16,14 @@ const TEST4: fn() -> _ = 42;
trait Test5 {
const TEST5: _ = 42;
- //~^ ERROR the placeholder `_` is not allowed within types on item signatures for constants
+ //~^ ERROR the placeholder `_` is not allowed within types on item signatures for associated constants
}
struct Test6;
impl Test6 {
const TEST6: _ = 13;
- //~^ ERROR the placeholder `_` is not allowed within types on item signatures for constants
+ //~^ ERROR the placeholder `_` is not allowed within types on item signatures for associated constants
}
pub fn main() {
diff --git a/tests/ui/typeck/typeck_type_placeholder_item_help.stderr b/tests/ui/typeck/typeck_type_placeholder_item_help.stderr
index 07a5dbd93..ed6f40880 100644
--- a/tests/ui/typeck/typeck_type_placeholder_item_help.stderr
+++ b/tests/ui/typeck/typeck_type_placeholder_item_help.stderr
@@ -37,7 +37,7 @@ error[E0121]: the placeholder `_` is not allowed within types on item signatures
LL | const TEST4: fn() -> _ = 42;
| ^ not allowed in type signatures
-error[E0121]: the placeholder `_` is not allowed within types on item signatures for constants
+error[E0121]: the placeholder `_` is not allowed within types on item signatures for associated constants
--> $DIR/typeck_type_placeholder_item_help.rs:18:18
|
LL | const TEST5: _ = 42;
@@ -46,7 +46,7 @@ LL | const TEST5: _ = 42;
| not allowed in type signatures
| help: replace with the correct type: `i32`
-error[E0121]: the placeholder `_` is not allowed within types on item signatures for constants
+error[E0121]: the placeholder `_` is not allowed within types on item signatures for associated constants
--> $DIR/typeck_type_placeholder_item_help.rs:25:18
|
LL | const TEST6: _ = 13;