From b0514a6a0a420f640affed81eae1376bf2809f6e Mon Sep 17 00:00:00 2001 From: Cameron Steffen Date: Wed, 10 Mar 2021 08:48:09 -0600 Subject: [PATCH] Rename Option::get_or_insert_default --- compiler/rustc_mir/src/lib.rs | 2 +- .../rustc_mir/src/transform/coverage/graph.rs | 3 +- library/core/src/option.rs | 34 +++++++++---------- 3 files changed, 20 insertions(+), 19 deletions(-) diff --git a/compiler/rustc_mir/src/lib.rs b/compiler/rustc_mir/src/lib.rs index bbfcec5a76a43..93c17057590e6 100644 --- a/compiler/rustc_mir/src/lib.rs +++ b/compiler/rustc_mir/src/lib.rs @@ -25,7 +25,7 @@ Rust MIR: a lowered representation of Rust. #![feature(stmt_expr_attributes)] #![feature(trait_alias)] #![feature(option_expect_none)] -#![feature(option_get_or_default)] +#![feature(option_get_or_insert_default)] #![feature(or_patterns)] #![feature(once_cell)] #![feature(control_flow_enum)] diff --git a/compiler/rustc_mir/src/transform/coverage/graph.rs b/compiler/rustc_mir/src/transform/coverage/graph.rs index 8ad0d133b17e1..6f5fa858e2537 100644 --- a/compiler/rustc_mir/src/transform/coverage/graph.rs +++ b/compiler/rustc_mir/src/transform/coverage/graph.rs @@ -392,7 +392,8 @@ impl BasicCoverageBlockData { } } let operand = counter_kind.as_operand_id(); - if let Some(replaced) = self.edge_from_bcbs.get_or_default().insert(from_bcb, counter_kind) + if let Some(replaced) = + self.edge_from_bcbs.get_or_insert_default().insert(from_bcb, counter_kind) { Error::from_string(format!( "attempt to set an edge counter more than once; from_bcb: \ diff --git a/library/core/src/option.rs b/library/core/src/option.rs index 9478e7f06bdf3..f1a0f455cd091 100644 --- a/library/core/src/option.rs +++ b/library/core/src/option.rs @@ -854,19 +854,17 @@ impl Option { // Entry-like operations to insert if None and return a reference ///////////////////////////////////////////////////////////////////////// - /// Inserts the default value into the option if it is [`None`], then + /// Inserts `value` into the option if it is [`None`], then /// returns a mutable reference to the contained value. /// /// # Examples /// /// ``` - /// #![feature(option_get_or_default)] - /// /// let mut x = None; /// /// { - /// let y: &mut u32 = x.get_or_default(); - /// assert_eq!(y, &0); + /// let y: &mut u32 = x.get_or_insert(5); + /// assert_eq!(y, &5); /// /// *y = 7; /// } @@ -874,25 +872,24 @@ impl Option { /// assert_eq!(x, Some(7)); /// ``` #[inline] - #[unstable(feature = "option_get_or_default", issue = "82901")] - pub fn get_or_default(&mut self) -> &mut T - where - T: Default, - { - self.get_or_insert_with(Default::default) + #[stable(feature = "option_entry", since = "1.20.0")] + pub fn get_or_insert(&mut self, value: T) -> &mut T { + self.get_or_insert_with(|| value) } - /// Inserts `value` into the option if it is [`None`], then + /// Inserts the default value into the option if it is [`None`], then /// returns a mutable reference to the contained value. /// /// # Examples /// /// ``` + /// #![feature(option_get_or_insert_default)] + /// /// let mut x = None; /// /// { - /// let y: &mut u32 = x.get_or_insert(5); - /// assert_eq!(y, &5); + /// let y: &mut u32 = x.get_or_insert_default(); + /// assert_eq!(y, &0); /// /// *y = 7; /// } @@ -900,9 +897,12 @@ impl Option { /// assert_eq!(x, Some(7)); /// ``` #[inline] - #[stable(feature = "option_entry", since = "1.20.0")] - pub fn get_or_insert(&mut self, value: T) -> &mut T { - self.get_or_insert_with(|| value) + #[unstable(feature = "option_get_or_insert_default", issue = "82901")] + pub fn get_or_insert_default(&mut self) -> &mut T + where + T: Default, + { + self.get_or_insert_with(Default::default) } /// Inserts a value computed from `f` into the option if it is [`None`],