Avoid ICE of attempt to add with overflow in emitter
This commit is contained in:
parent
c90eb4825a
commit
cbb8066321
3 changed files with 47 additions and 1 deletions
|
@ -331,7 +331,7 @@ impl CodeSuggestion {
|
||||||
});
|
});
|
||||||
buf.push_str(&part.snippet);
|
buf.push_str(&part.snippet);
|
||||||
let cur_hi = sm.lookup_char_pos(part.span.hi());
|
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
|
// Account for the difference between the width of the current code and the
|
||||||
// snippet being suggested, so that the *later* suggestions are correctly
|
// snippet being suggested, so that the *later* suggestions are correctly
|
||||||
// aligned on the screen.
|
// 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…
Add table
Add a link
Reference in a new issue