Note type mismatch on ConstArgHasType
This commit is contained in:
parent
e55f73ae47
commit
6c6bd01421
4 changed files with 15 additions and 5 deletions
|
@ -1282,10 +1282,20 @@ impl<'tcx> TypeErrCtxtExt<'tcx> for TypeErrCtxt<'_, 'tcx> {
|
||||||
),
|
),
|
||||||
|
|
||||||
ty::PredicateKind::Clause(ty::Clause::ConstArgHasType(ct, ty)) => {
|
ty::PredicateKind::Clause(ty::Clause::ConstArgHasType(ct, ty)) => {
|
||||||
self.tcx.sess.struct_span_err(
|
let mut diag = self.tcx.sess.struct_span_err(
|
||||||
span,
|
span,
|
||||||
&format!("the constant `{}` is not of type `{}`", ct, ty),
|
&format!("the constant `{}` is not of type `{}`", ct, ty),
|
||||||
)
|
);
|
||||||
|
self.note_type_err(
|
||||||
|
&mut diag,
|
||||||
|
&obligation.cause,
|
||||||
|
None,
|
||||||
|
None,
|
||||||
|
TypeError::Sorts(ty::error::ExpectedFound::new(true, ty, ct.ty())),
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
);
|
||||||
|
diag
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@ error: the constant `N` is not of type `u8`
|
||||||
--> $DIR/type_mismatch.rs:2:11
|
--> $DIR/type_mismatch.rs:2:11
|
||||||
|
|
|
|
||||||
LL | bar::<N>()
|
LL | bar::<N>()
|
||||||
| ^
|
| ^ expected `u8`, found `usize`
|
||||||
|
|
|
|
||||||
note: required by a bound in `bar`
|
note: required by a bound in `bar`
|
||||||
--> $DIR/type_mismatch.rs:6:8
|
--> $DIR/type_mismatch.rs:6:8
|
||||||
|
|
|
@ -2,7 +2,7 @@ error: the constant `N` is not of type `usize`
|
||||||
--> $DIR/bad-const-wf-doesnt-specialize.rs:8:29
|
--> $DIR/bad-const-wf-doesnt-specialize.rs:8:29
|
||||||
|
|
|
|
||||||
LL | impl<const N: i32> Copy for S<N> {}
|
LL | impl<const N: i32> Copy for S<N> {}
|
||||||
| ^^^^
|
| ^^^^ expected `usize`, found `i32`
|
||||||
|
|
|
|
||||||
note: required by a bound in `S`
|
note: required by a bound in `S`
|
||||||
--> $DIR/bad-const-wf-doesnt-specialize.rs:6:10
|
--> $DIR/bad-const-wf-doesnt-specialize.rs:6:10
|
||||||
|
|
|
@ -8,7 +8,7 @@ error: the constant `ASSUME_ALIGNMENT` is not of type `Assume`
|
||||||
--> $DIR/issue-101739-1.rs:8:14
|
--> $DIR/issue-101739-1.rs:8:14
|
||||||
|
|
|
|
||||||
LL | Dst: BikeshedIntrinsicFrom<Src, Context, ASSUME_ALIGNMENT>,
|
LL | Dst: BikeshedIntrinsicFrom<Src, Context, ASSUME_ALIGNMENT>,
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Assume`, found `bool`
|
||||||
|
|
|
|
||||||
note: required by a bound in `BikeshedIntrinsicFrom`
|
note: required by a bound in `BikeshedIntrinsicFrom`
|
||||||
--> $SRC_DIR/core/src/mem/transmutability.rs:LL:COL
|
--> $SRC_DIR/core/src/mem/transmutability.rs:LL:COL
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue