Avoid ICE of attempt to add with overflow in emitter
This commit is contained in:
parent
c90eb4825a
commit
cbb8066321
@ -331,7 +331,7 @@ impl CodeSuggestion {
|
||||
});
|
||||
buf.push_str(&part.snippet);
|
||||
let cur_hi = sm.lookup_char_pos(part.span.hi());
|
||||
if cur_hi.line == cur_lo.line {
|
||||
if cur_hi.line == cur_lo.line && !part.snippet.is_empty() {
|
||||
// Account for the difference between the width of the current code and the
|
||||
// snippet being suggested, so that the *later* suggestions are correctly
|
||||
// aligned on the screen.
|
||||
|
12
tests/ui/suggestions/issue-109396.rs
Normal file
12
tests/ui/suggestions/issue-109396.rs
Normal file
@ -0,0 +1,12 @@
|
||||
fn main() {
|
||||
{
|
||||
let mut mutex = std::mem::zeroed(
|
||||
//~^ ERROR this function takes 0 arguments but 4 arguments were supplied
|
||||
file.as_raw_fd(),
|
||||
//~^ ERROR expected value, found macro `file`
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
);
|
||||
}
|
||||
}
|
34
tests/ui/suggestions/issue-109396.stderr
Normal file
34
tests/ui/suggestions/issue-109396.stderr
Normal file
@ -0,0 +1,34 @@
|
||||
error[E0423]: expected value, found macro `file`
|
||||
--> $DIR/issue-109396.rs:5:13
|
||||
|
|
||||
LL | file.as_raw_fd(),
|
||||
| ^^^^ not a value
|
||||
|
||||
error[E0061]: this function takes 0 arguments but 4 arguments were supplied
|
||||
--> $DIR/issue-109396.rs:3:25
|
||||
|
|
||||
LL | let mut mutex = std::mem::zeroed(
|
||||
| ^^^^^^^^^^^^^^^^
|
||||
LL |
|
||||
LL | file.as_raw_fd(),
|
||||
| ---------------- unexpected argument
|
||||
LL |
|
||||
LL | 0,
|
||||
| - unexpected argument of type `{integer}`
|
||||
LL | 0,
|
||||
| - unexpected argument of type `{integer}`
|
||||
LL | 0,
|
||||
| - unexpected argument of type `{integer}`
|
||||
|
|
||||
note: function defined here
|
||||
--> $SRC_DIR/core/src/mem/mod.rs:LL:COL
|
||||
help: remove the extra arguments
|
||||
|
|
||||
LL - file.as_raw_fd(),
|
||||
LL + ,
|
||||
|
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
Some errors have detailed explanations: E0061, E0423.
|
||||
For more information about an error, try `rustc --explain E0061`.
|
Loading…
x
Reference in New Issue
Block a user