Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -117,7 +117,7 @@ pub fn is_const_evaluatable<'cx, 'tcx>(
{
err.span_help(
tcx.def_span(def.did),
&format!("try adding a `where` bound using this expression: where [u8; {}]: Sized", snippet),
&format!("try adding a `where` bound using this expression: `where [u8; {}]: Sized`", snippet),
);
} else {
err.span_help(
Original file line number Diff line number Diff line change
@@ -1780,7 +1780,7 @@ impl<'a, 'tcx> InferCtxtPrivExt<'tcx> for InferCtxt<'a, 'tcx> {
multispan.push_span_label(
sp,
format!(
"...if indirection was used here: `Box<{}>`",
"...if indirection were used here: `Box<{}>`",
param.name.ident(),
),
);
Original file line number Diff line number Diff line change
@@ -1103,7 +1103,7 @@ impl<'a, 'tcx> InferCtxtExt<'tcx> for InferCtxt<'a, 'tcx> {
// This is currently not possible to trigger because E0038 takes precedence, but
// leave it in for completeness in case anything changes in an earlier stage.
err.note(&format!(
"if trait `{}` was object safe, you could return a trait object",
"if trait `{}` were object-safe, you could return a trait object",
trait_obj,
));
}
2 changes: 1 addition & 1 deletion compiler/rustc_typeck/src/check/mod.rs
Original file line number Diff line number Diff line change
@@ -838,7 +838,7 @@ fn missing_items_err(
// Obtain the level of indentation ending in `sugg_sp`.
let indentation = tcx.sess.source_map().span_to_margin(sugg_sp).unwrap_or(0);
// Make the whitespace that will make the suggestion have the right indentation.
let padding: String = (0..indentation).map(|_| " ").collect();
let padding: String = std::iter::repeat(" ").take(indentation).collect();

for trait_item in missing_items {
let snippet = suggestion_signature(&trait_item, tcx);
Original file line number Diff line number Diff line change
@@ -4,7 +4,7 @@ error: unconstrained generic constant
LL | let _ = const_evaluatable_lib::test1::<T>();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: try adding a `where` bound using this expression: where [u8; std::mem::size_of::<T>() - 1]: Sized
help: try adding a `where` bound using this expression: `where [u8; std::mem::size_of::<T>() - 1]: Sized`
--> $DIR/auxiliary/const_evaluatable_lib.rs:6:10
|
LL | [u8; std::mem::size_of::<T>() - 1]: Sized,
@@ -16,7 +16,7 @@ error: unconstrained generic constant
LL | let _ = const_evaluatable_lib::test1::<T>();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: try adding a `where` bound using this expression: where [u8; std::mem::size_of::<T>() - 1]: Sized
help: try adding a `where` bound using this expression: `where [u8; std::mem::size_of::<T>() - 1]: Sized`
--> $DIR/auxiliary/const_evaluatable_lib.rs:4:27
|
LL | pub fn test1<T>() -> [u8; std::mem::size_of::<T>() - 1]
@@ -28,7 +28,7 @@ error: unconstrained generic constant
LL | let _ = const_evaluatable_lib::test1::<T>();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: try adding a `where` bound using this expression: where [u8; std::mem::size_of::<T>() - 1]: Sized
help: try adding a `where` bound using this expression: `where [u8; std::mem::size_of::<T>() - 1]: Sized`
--> $DIR/auxiliary/const_evaluatable_lib.rs:6:10
|
LL | [u8; std::mem::size_of::<T>() - 1]: Sized,
@@ -40,7 +40,7 @@ error: unconstrained generic constant
LL | let _ = const_evaluatable_lib::test1::<T>();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: try adding a `where` bound using this expression: where [u8; std::mem::size_of::<T>() - 1]: Sized
help: try adding a `where` bound using this expression: `where [u8; std::mem::size_of::<T>() - 1]: Sized`
--> $DIR/auxiliary/const_evaluatable_lib.rs:4:27
|
LL | pub fn test1<T>() -> [u8; std::mem::size_of::<T>() - 1]
Original file line number Diff line number Diff line change
@@ -4,7 +4,7 @@ error: unconstrained generic constant
LL | [0; size_of::<Foo<T>>()]
| ^^^^^^^^^^^^^^^^^^^
|
help: try adding a `where` bound using this expression: where [u8; size_of::<Foo<T>>()]: Sized
help: try adding a `where` bound using this expression: `where [u8; size_of::<Foo<T>>()]: Sized`
--> $DIR/different-fn.rs:10:9
|
LL | [0; size_of::<Foo<T>>()]
2 changes: 1 addition & 1 deletion src/test/ui/const_evaluatable/needs_where_clause.stderr
Original file line number Diff line number Diff line change
@@ -4,7 +4,7 @@ error: unconstrained generic constant
LL | b: [f32; complex_maths::<T>(N)],
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: try adding a `where` bound using this expression: where [u8; complex_maths::<T>(N)]: Sized
help: try adding a `where` bound using this expression: `where [u8; complex_maths::<T>(N)]: Sized`
--> $DIR/needs_where_clause.rs:11:12
|
LL | b: [f32; complex_maths::<T>(N)],
2 changes: 1 addition & 1 deletion src/test/ui/const_evaluatable/no_where_clause.stderr
Original file line number Diff line number Diff line change
@@ -4,7 +4,7 @@ error: unconstrained generic constant
LL | b: [f32; complex_maths(N)],
| ^^^^^^^^^^^^^^^^^^^^^^^
|
help: try adding a `where` bound using this expression: where [u8; complex_maths(N)]: Sized
help: try adding a `where` bound using this expression: `where [u8; complex_maths(N)]: Sized`
--> $DIR/no_where_clause.rs:10:12
|
LL | b: [f32; complex_maths(N)],
2 changes: 1 addition & 1 deletion src/test/ui/issues/issue-18919.stderr
Original file line number Diff line number Diff line change
@@ -14,7 +14,7 @@ help: you could relax the implicit `Sized` bound on `T` if it were used through
LL | enum Option<T> {
| ^ this could be changed to `T: ?Sized`...
LL | Some(T),
| - ...if indirection was used here: `Box<T>`
| - ...if indirection were used here: `Box<T>`

error: aborting due to previous error

2 changes: 1 addition & 1 deletion src/test/ui/issues/issue-23281.stderr
Original file line number Diff line number Diff line change
@@ -14,7 +14,7 @@ help: you could relax the implicit `Sized` bound on `T` if it were used through
LL | struct Vec<T> {
| ^ this could be changed to `T: ?Sized`...
LL | t: T,
| - ...if indirection was used here: `Box<T>`
| - ...if indirection were used here: `Box<T>`

error: aborting due to previous error

Original file line number Diff line number Diff line change
@@ -13,7 +13,7 @@ help: you could relax the implicit `Sized` bound on `T` if it were used through
--> $DIR/adt-param-with-implicit-sized-bound.rs:18:10
|
LL | struct X<T>(T);
| ^ - ...if indirection was used here: `Box<T>`
| ^ - ...if indirection were used here: `Box<T>`
| |
| this could be changed to `T: ?Sized`...

@@ -68,7 +68,7 @@ help: you could relax the implicit `Sized` bound on `T` if it were used through
LL | struct Struct3<T>{
| ^ this could be changed to `T: ?Sized`...
LL | _t: T,
| - ...if indirection was used here: `Box<T>`
| - ...if indirection were used here: `Box<T>`
help: consider further restricting `Self`
|
LL | fn func3() -> Struct3<Self> where Self: Sized;
2 changes: 1 addition & 1 deletion src/test/ui/unsized/unsized-enum.stderr
Original file line number Diff line number Diff line change
@@ -13,7 +13,7 @@ help: you could relax the implicit `Sized` bound on `U` if it were used through
--> $DIR/unsized-enum.rs:4:10
|
LL | enum Foo<U> { FooSome(U), FooNone }
| ^ - ...if indirection was used here: `Box<U>`
| ^ - ...if indirection were used here: `Box<U>`
| |
| this could be changed to `U: ?Sized`...

2 changes: 1 addition & 1 deletion src/test/ui/unsized/unsized-inherent-impl-self-type.stderr
Original file line number Diff line number Diff line change
@@ -13,7 +13,7 @@ help: you could relax the implicit `Sized` bound on `Y` if it were used through
--> $DIR/unsized-inherent-impl-self-type.rs:5:11
|
LL | struct S5<Y>(Y);
| ^ - ...if indirection was used here: `Box<Y>`
| ^ - ...if indirection were used here: `Box<Y>`
| |
| this could be changed to `Y: ?Sized`...

2 changes: 1 addition & 1 deletion src/test/ui/unsized/unsized-struct.stderr
Original file line number Diff line number Diff line change
@@ -13,7 +13,7 @@ help: you could relax the implicit `Sized` bound on `T` if it were used through
--> $DIR/unsized-struct.rs:4:12
|
LL | struct Foo<T> { data: T }
| ^ - ...if indirection was used here: `Box<T>`
| ^ - ...if indirection were used here: `Box<T>`
| |
| this could be changed to `T: ?Sized`...

2 changes: 1 addition & 1 deletion src/test/ui/unsized/unsized-trait-impl-self-type.stderr
Original file line number Diff line number Diff line change
@@ -13,7 +13,7 @@ help: you could relax the implicit `Sized` bound on `Y` if it were used through
--> $DIR/unsized-trait-impl-self-type.rs:8:11
|
LL | struct S5<Y>(Y);
| ^ - ...if indirection was used here: `Box<Y>`
| ^ - ...if indirection were used here: `Box<Y>`
| |
| this could be changed to `Y: ?Sized`...

2 changes: 1 addition & 1 deletion src/test/ui/wf/wf-fn-where-clause.stderr
Original file line number Diff line number Diff line change
@@ -28,7 +28,7 @@ help: you could relax the implicit `Sized` bound on `T` if it were used through
LL | struct Vec<T> {
| ^ this could be changed to `T: ?Sized`...
LL | t: T,
| - ...if indirection was used here: `Box<T>`
| - ...if indirection were used here: `Box<T>`

error[E0038]: the trait `Copy` cannot be made into an object
--> $DIR/wf-fn-where-clause.rs:12:16