Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rollup merge of rust-lang#34828 - seanmonstar:into-opton, r=alexcrichton
core: impl From<T> for Option<T> First, the semantics of this `impl` seem spot on. If I have a value `T`, and I wish to make a `Option<T>`, then `Option::from(val)` should always give `Some(val)`. Second, this allows improvement for several APIs that currently take `Option<T>` as arguments. Consider: ```rust fn set_read_timeout(&mut self, timeout: Option<u32>) { // ... } x.set_read_timeout(Some(30)); x.set_read_timeout(Some(10)); x.set_read_timeout(None); ``` With this `impl`: ```rust fn set_read_timeout<T: Into<Option<u32>>>(&mut self, timeout: T) { let timeout = timeout.into(); // ... } x.set_read_timeout(30); x.set_read_timeout(10); x.set_read_timeout(Some(10)); // backwards compatible x.set_read_timeout(None); ``` The change to those methods aren't included, but could be modified later. r? @sfackler
- Loading branch information