Rollup merge of #51920 - euclio:concrete-type-suggestion, r=estebank
use literal span for concrete type suggestion Fixes #51874. r? @estebank
This commit is contained in:
commit
3f5d2fd850
|
@ -245,12 +245,11 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> {
|
|||
"f32"
|
||||
};
|
||||
match expr.node {
|
||||
hir::ExprLit(_) => { // numeric literal
|
||||
let snippet = tcx.sess.codemap().span_to_snippet(expr.span)
|
||||
hir::ExprLit(ref lit) => { // numeric literal
|
||||
let snippet = tcx.sess.codemap().span_to_snippet(lit.span)
|
||||
.unwrap_or("<numeric literal>".to_string());
|
||||
// FIXME: use the literal for missing snippet
|
||||
|
||||
err.span_suggestion(expr.span,
|
||||
err.span_suggestion(lit.span,
|
||||
&format!("you must specify a concrete type for \
|
||||
this numeric value, like `{}`",
|
||||
concrete_type),
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
fn main() {
|
||||
let a = (1.0).pow(1.0); //~ ERROR can't call method `pow` on ambiguous numeric type
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
error[E0689]: can't call method `pow` on ambiguous numeric type `{float}`
|
||||
--> $DIR/issue-51874.rs:12:19
|
||||
|
|
||||
LL | let a = (1.0).pow(1.0); //~ ERROR can't call method `pow` on ambiguous numeric type
|
||||
| ^^^
|
||||
help: you must specify a concrete type for this numeric value, like `f32`
|
||||
|
|
||||
LL | let a = (1.0_f32).pow(1.0); //~ ERROR can't call method `pow` on ambiguous numeric type
|
||||
| ^^^^^^^
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0689`.
|
Loading…
Reference in New Issue