error[E0308]: mismatched types
  --> $DIR/issue-112007-leaked-writeln-macro-internals.rs:17:9
   |
LL | /     if true {
LL | |         writeln!(w, "`;?` here ->")?;
LL | |     } else {
LL | |         writeln!(w, "but not here")
   | |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found `Result<(), Error>`
LL | |
LL | |     }
   | |_____- expected this to be `()`
   |
   = note: expected unit type `()`
                   found enum `Result<(), std::fmt::Error>`
   = note: this error originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider using a semicolon here
   |
LL |     };
   |      +
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:40:9
   |
LL | /     if true {
LL | |         writeln!(w, "`;?` here ->")?;
LL | |     } else {
LL | |         baz!(w)
   | |         ^^^^^^^ expected `()`, found `Result<(), Error>`
LL | |     }
   | |_____- expected this to be `()`
   |
   = note: expected unit type `()`
                   found enum `Result<(), std::fmt::Error>`
   = note: this error originates in the macro `writeln` which comes from the expansion of the macro `baz` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider using a semicolon here
   |
LL |     };
   |      +
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

For more information about this error, try `rustc --explain E0308`.
