-
Notifications
You must be signed in to change notification settings - Fork 12.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
correct E0619 span re method call receivers whose type must be known
Previously, when the type of a method receiver could not be determined, the error message would, potentially confusingly, highlight the span of the entire method call. Resolves #36598, resolves #42234.
- Loading branch information
1 parent
6c04c41
commit b55e07e
Showing
3 changed files
with
43 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
// 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. | ||
|
||
// When the type of a method call's receiver is unknown, the span should point | ||
// to the receiver (and not the entire call, as was previously the case before | ||
// the fix of which this tests). | ||
|
||
fn shines_a_beacon_through_the_darkness() { | ||
let x: Option<_> = None; | ||
x.unwrap().method_that_could_exist_on_some_type(); | ||
//~^ ERROR 17:5: 17:15: the type of this value must be known in this context | ||
} | ||
|
||
fn courier_to_des_moines_and_points_west(data: &[u32]) -> String { | ||
data.iter() //~ ERROR 22:5: 23:20: the type of this value must be known in this context | ||
.sum::<_>() | ||
.to_string() | ||
} | ||
|
||
fn main() {} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
error[E0619]: the type of this value must be known in this context | ||
--> $DIR/issue-42234-unknown-receiver-type.rs:17:5 | ||
| | ||
17 | x.unwrap().method_that_could_exist_on_some_type(); | ||
| ^^^^^^^^^^ | ||
|
||
error[E0619]: the type of this value must be known in this context | ||
--> $DIR/issue-42234-unknown-receiver-type.rs:22:5 | ||
| | ||
22 | / data.iter() //~ ERROR 22:5: 23:20: the type of this value must be known in this context | ||
23 | | .sum::<_>() | ||
| |___________________^ | ||
|
||
error: aborting due to 2 previous errors | ||
|