Skip to content

Commit 751585c

Browse files
authored
Merge pull request #411 from rust-osdev/optional-take
Add a `take` method to `Optional`
2 parents 7d2a579 + 2db7ae2 commit 751585c

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

Diff for: api/src/info.rs

+5
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,11 @@ impl<T> Optional<T> {
341341
Self::None => None,
342342
}
343343
}
344+
345+
/// Takes the value out of the `Optional`, leaving a `None` in its place.
346+
pub fn take(&mut self) -> Option<T> {
347+
core::mem::replace(self, Optional::None).into_option()
348+
}
344349
}
345350

346351
impl<T> From<Option<T>> for Optional<T> {

0 commit comments

Comments
 (0)