diff --git a/library/core/src/option.rs b/library/core/src/option.rs
index 9899014e85a..bdaeea66622 100644
--- a/library/core/src/option.rs
+++ b/library/core/src/option.rs
@@ -1475,7 +1475,7 @@ pub fn filter
(self, predicate: P) -> Self
#[stable(feature = "rust1", since = "1.0.0")]
pub fn or(self, optb: Option) -> Option {
match self {
- Some(x) => Some(x),
+ x @ Some(_) => x,
None => optb,
}
}
@@ -1500,7 +1500,7 @@ pub fn or_else(self, f: F) -> Option
F: FnOnce() -> Option,
{
match self {
- Some(x) => Some(x),
+ x @ Some(_) => x,
None => f(),
}
}
@@ -1530,8 +1530,8 @@ pub fn or_else(self, f: F) -> Option
#[stable(feature = "option_xor", since = "1.37.0")]
pub fn xor(self, optb: Option) -> Option {
match (self, optb) {
- (Some(a), None) => Some(a),
- (None, Some(b)) => Some(b),
+ (a @ Some(_), None) => a,
+ (None, b @ Some(_)) => b,
_ => None,
}
}