test: avoid running rustfix on leaked writeln macro internals test
This test contains conflicting MaybeIncorrect suggestions which will cause the fixed file to not compile.
This commit is contained in:
parent
4606485d0c
commit
420e3f1d5c
@ -1,37 +0,0 @@
|
||||
//@ run-rustfix
|
||||
#![allow(dead_code)]
|
||||
|
||||
// https://github.com/rust-lang/rust/issues/112007
|
||||
fn bug_report<W: std::fmt::Write>(w: &mut W) -> std::fmt::Result {
|
||||
if true {
|
||||
writeln!(w, "`;?` here ->")?;
|
||||
} else {
|
||||
return writeln!(w, "but not here");
|
||||
//~^ ERROR mismatched types
|
||||
};
|
||||
Ok(())
|
||||
}
|
||||
|
||||
macro_rules! baz {
|
||||
($w: expr) => {
|
||||
bar!($w)
|
||||
}
|
||||
}
|
||||
|
||||
macro_rules! bar {
|
||||
($w: expr) => {
|
||||
writeln!($w, "but not here")
|
||||
//~^ ERROR mismatched types
|
||||
}
|
||||
}
|
||||
|
||||
fn foo<W: std::fmt::Write>(w: &mut W) -> std::fmt::Result {
|
||||
if true {
|
||||
writeln!(w, "`;?` here ->")?;
|
||||
} else {
|
||||
return baz!(w);
|
||||
};
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn main() {}
|
@ -1,8 +1,16 @@
|
||||
//@ run-rustfix
|
||||
#![allow(dead_code)]
|
||||
// Check that we don't leak stdlib implementation details through suggestions.
|
||||
// Also check that the suggestion provided tries as hard as it can to see through local macros.
|
||||
//
|
||||
// FIXME(jieyouxu): this test is NOT run-rustfix because this test contains conflicting
|
||||
// MaybeIncorrect suggestions:
|
||||
//
|
||||
// 1. `return ... ;`
|
||||
// 2. `?`
|
||||
//
|
||||
// when the suggestions are applied to the same file, it becomes uncompilable.
|
||||
|
||||
// https://github.com/rust-lang/rust/issues/112007
|
||||
fn bug_report<W: std::fmt::Write>(w: &mut W) -> std::fmt::Result {
|
||||
pub fn bug_report<W: std::fmt::Write>(w: &mut W) -> std::fmt::Result {
|
||||
if true {
|
||||
writeln!(w, "`;?` here ->")?;
|
||||
} else {
|
||||
@ -25,7 +33,7 @@ macro_rules! bar {
|
||||
}
|
||||
}
|
||||
|
||||
fn foo<W: std::fmt::Write>(w: &mut W) -> std::fmt::Result {
|
||||
pub fn foo<W: std::fmt::Write>(w: &mut W) -> std::fmt::Result {
|
||||
if true {
|
||||
writeln!(w, "`;?` here ->")?;
|
||||
} else {
|
||||
@ -34,4 +42,4 @@ fn foo<W: std::fmt::Write>(w: &mut W) -> std::fmt::Result {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
pub fn main() {}
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/issue-112007-leaked-writeln-macro-internals.rs:9:9
|
||||
--> $DIR/issue-112007-leaked-writeln-macro-internals.rs:17:9
|
||||
|
|
||||
LL | / if true {
|
||||
LL | | writeln!(w, "`;?` here ->")?;
|
||||
@ -21,9 +21,13 @@ help: you might have meant to return this value
|
||||
|
|
||||
LL | return writeln!(w, "but not here");
|
||||
| ++++++ +
|
||||
help: use the `?` operator to extract the `Result<(), std::fmt::Error>` value, propagating a `Result::Err` value to the caller
|
||||
|
|
||||
LL | writeln!(w, "but not here")?
|
||||
| +
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/issue-112007-leaked-writeln-macro-internals.rs:32:9
|
||||
--> $DIR/issue-112007-leaked-writeln-macro-internals.rs:40:9
|
||||
|
|
||||
LL | / if true {
|
||||
LL | | writeln!(w, "`;?` here ->")?;
|
||||
@ -44,6 +48,10 @@ help: you might have meant to return this value
|
||||
|
|
||||
LL | return baz!(w);
|
||||
| ++++++ +
|
||||
help: use the `?` operator to extract the `Result<(), std::fmt::Error>` value, propagating a `Result::Err` value to the caller
|
||||
|
|
||||
LL | writeln!($w, "but not here")?
|
||||
| +
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user