Rollup merge of #128467 - estebank:unsized-args, r=cjgillot
Detect `*` operator on `!Sized` expression The suggestion is new: ``` error[E0277]: the size for values of type `str` cannot be known at compilation time --> $DIR/unsized-str-in-return-expr-arg-and-local.rs:15:9 | LL | let x = *""; | ^ doesn't have a size known at compile-time | = help: the trait `Sized` is not implemented for `str` = note: all local variables must have a statically known size = help: unsized locals are gated as an unstable feature help: references to `!Sized` types like `&str` are `Sized`; consider not dereferencing the expression | LL - let x = *""; LL + let x = ""; | ``` Fix #128199.
This commit is contained in:
commit
00308920ae
10 changed files with 187 additions and 9 deletions
|
@ -353,7 +353,7 @@ pub enum ObligationCauseCode<'tcx> {
|
|||
ReturnValue(HirId),
|
||||
|
||||
/// Opaque return type of this function
|
||||
OpaqueReturnType(Option<(Ty<'tcx>, Span)>),
|
||||
OpaqueReturnType(Option<(Ty<'tcx>, HirId)>),
|
||||
|
||||
/// Block implicit return
|
||||
BlockTailExpression(HirId, hir::MatchSource),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue