Revert write! and writeln! to late drop temporaries#99689
Revert write! and writeln! to late drop temporaries#99689bors merged 4 commits intorust-lang:masterfrom
write! and writeln! to late drop temporaries#99689Conversation
|
Hey! It looks like you've submitted a new PR for the library teams! If this PR contains changes to any Examples of
|
|
r? @kennytm (rust-highfive has picked a reviewer for you, use r? to override) |
|
r=me, but we may want a T-libs-api FCP here? It seems like a minimal fix to the regressions, not sure if this was already discussed in some capacity. Will leave that up to you, @dtolnay :) |
|
I think they'll agree with me that regressing async-std's There is room for someone to suggest (see table at top) reverting even more of the macros to "late" than necessary, but:
(@rust-lang/libs-api) @bors r=Mark-Simulacrum |
|
@dtolnay We discussed it in the meeting yesterday, and yeah, the revert seems reasonable to avoid a regression. |
Rollup of 6 pull requests Successful merges: - rust-lang#99628 (add more docs regarding ideographic numbers) - rust-lang#99689 (Revert `write!` and `writeln!` to late drop temporaries) - rust-lang#99807 (Fix PermissionDenied UI tests on WSL) - rust-lang#99817 (rustdoc: remove Clean trait impls for more items) - rust-lang#99851 (Fix small typo in Cargo.toml comment) - rust-lang#99856 (fix: remove fake no_dead_strip for osx) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
…mulacrum [beta] Rollup of beta backports Includes the following PRs: * rustc-docs: Be less specific about the representation of +bundle rust-lang#100074 * Fix backwards-compatibility check for tests with +whole-archive rust-lang#100068 * Revert write! and writeln! to late drop temporaries rust-lang#99689 * Upgrade indexmap and thorin-dwp to use hashbrown 0.12 rust-lang#99251 * rustdoc: avoid inlining modules with duplicate names rust-lang#99738 r? `@ghost`
Closes (on master, but not on beta) #99684 by reverting the
write!andwriteln!parts of #96455.#94868
#94868
#96455
this PR
(unimplementable)
write!($tmp, "…", …)write!(…, "…", $tmp)writeln!($tmp, "…", …)writeln!(…, "…", $tmp)print!("…", $tmp)println!("…", $tmp)eprint!("…", $tmp)eprintln!("…", $tmp)panic!("…", $tmp)"Late drop" refers to dropping temporaries at the nearest semicolon outside of the macro invocation.
"Early drop" refers to dropping temporaries inside of the macro invocation.