tree 4100b1df011ff2f1740e249071715745f0388ba3
parent 3bc6ea5673e3e292db1e5b6ecaaaa883ca5af0b8
parent c1b51dd002ee13514355987ce77fa600584eb3a5
author Rust timing bot <rust-timer@users.noreply.github.com> 1773150707 +0100
committer GitHub <noreply@github.com> 1773150707 +0100
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJpsCHzCRC1aQ7uu5UhlAAAcyUQAHUmPtA0HFXu3/c87VxHeoFJ
 CNWK1DGrXYSaJxLzx/JzrZnR/1MawupZc97+KlWxjwxWgyYV8+e4HoadkC1FDasF
 /vcIjoO4oIkucw2CXohFU5hm1Ug6CfRP+s2uK4rOOCY0ZskLzYPG93Mft736w1AS
 vKNtYN9ka7V+pq3wB3uZt9DsS5mtWZTrwZvIc4XDnQmQ0Rz+PCnW2+Q7HwU0jVT3
 f3LXw+aOdvwsM+NbS3yYnQzMntcc3IIG5ws9KBAVf71ObuoH5ISc3SHKzDvSBwWp
 bwFqZn7XfyFv4ugnrrSRR0WE/K3yDWP6VumEXvXh7DNpm/hjyzbNU8tRgPHqQdaS
 LBEZDLvpq4MNYSlhZNTxgU1ljzHxBeM3PSlMC9QHpe0JYZrGPNy4xJAKoo28asKw
 sSq1x3+cQ/R19VwMTjRkqGBp0WKYUZCdXMxJxTh6x/avxn9xHMmVJYTv0yGi3dJ+
 icasKzgOfMlAtvrIaxEFS9Z0j8T/o15IWPotvpKlCbevODSxbMyKoKt9Wwn9QQ9M
 hPgVA/BtQqCQvvceAg5yq89uBS3k95dTMlfQsSQ8p1DhwH5bqyQkg0Ra7pugjWU3
 nJhmMHN1qOAGFRAyntksIiTe3mOZPG6etJb2nzNbmWzUNFdSDcw/yMN9SPTzlFq1
 2oPPdVP+eS/kDU0URBXR
 =H8Jd
 -----END PGP SIGNATURE-----
 

Unrolled build for #148562
Rollup merge of #148562 - kpreid:get-init-drop, r=oli-obk

In `Option::get_or_insert_with()`, forget the `None` instead of dropping it.

Per https://github.com/rust-lang/rust/pull/148486#issuecomment-3493665688

In `Option::get_or_insert_with()`, after replacing the `None` with `Some`, forget the `None` instead of dropping it.

This allows eliminating the `T: [const] Destruct` bounds, making the functions more flexible in (unstable) const contexts, and avoids generating an implicit `drop_in_place::<Option<T>>()` that will never do anything (and which might even persist after optimization).
