diff options
| author | Esteban Küber <esteban@kuber.com.ar> | 2020-04-04 11:38:22 -0700 |
|---|---|---|
| committer | Esteban Küber <esteban@kuber.com.ar> | 2020-04-09 17:46:26 -0700 |
| commit | a2a65a88fc009dfd156a9de446e1bca2747493fd (patch) | |
| tree | b722f33f7335a9cde5ed96520694ea80fb86ae5f /src/test | |
| parent | 6387b09153939b2a104cd63148598a5f458de2c2 (diff) | |
| download | rust-a2a65a88fc009dfd156a9de446e1bca2747493fd.tar.gz rust-a2a65a88fc009dfd156a9de446e1bca2747493fd.zip | |
Consider methods on fundamental `impl` when method is not found on numeric type
Fix #47759.
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/issues/issue-29181.rs | 2 | ||||
| -rw-r--r-- | src/test/ui/issues/issue-29181.stderr | 16 |
2 files changed, 16 insertions, 2 deletions
diff --git a/src/test/ui/issues/issue-29181.rs b/src/test/ui/issues/issue-29181.rs index 45752ad4f62..70e5bc01920 100644 --- a/src/test/ui/issues/issue-29181.rs +++ b/src/test/ui/issues/issue-29181.rs @@ -4,4 +4,6 @@ extern crate issue_29181 as foo; fn main() { 0.homura(); //~ ERROR no method named `homura` found + // Issue #47759, detect existing method on the fundamental impl: + let _ = |x: f64| x * 2.0.exp(); //~ ERROR can't call method `exp` on ambiguous numeric type } diff --git a/src/test/ui/issues/issue-29181.stderr b/src/test/ui/issues/issue-29181.stderr index 250b158ab8e..b66dcb88d00 100644 --- a/src/test/ui/issues/issue-29181.stderr +++ b/src/test/ui/issues/issue-29181.stderr @@ -4,6 +4,18 @@ error[E0599]: no method named `homura` found for type `{integer}` in the current LL | 0.homura(); | ^^^^^^ method not found in `{integer}` -error: aborting due to previous error +error[E0689]: can't call method `exp` on ambiguous numeric type `{float}` + --> $DIR/issue-29181.rs:8:30 + | +LL | let _ = |x: f64| x * 2.0.exp(); + | ^^^ + | +help: you must specify a concrete type for this numeric value, like `f32` + | +LL | let _ = |x: f64| x * 2.0_f32.exp(); + | ^^^^^^^ + +error: aborting due to 2 previous errors -For more information about this error, try `rustc --explain E0599`. +Some errors have detailed explanations: E0599, E0689. +For more information about an error, try `rustc --explain E0599`. |
