diff options
| author | Ilya Bobyr <ilya.bobyr@gmail.com> | 2020-06-04 23:15:35 -0700 |
|---|---|---|
| committer | Ilya Bobyr <ilya.bobyr@gmail.com> | 2020-06-07 01:27:06 -0700 |
| commit | ebb8722ea7b184ade7015fd1094475a18e1198f7 (patch) | |
| tree | cebb59e39a5af47f25dbe0274f57f1ab528bd3b0 | |
| parent | 8f4dfa88399320eba07e9717f60a5c32d73299a3 (diff) | |
| download | rust-ebb8722ea7b184ade7015fd1094475a18e1198f7.tar.gz rust-ebb8722ea7b184ade7015fd1094475a18e1198f7.zip | |
unstable book: default_free_fn
| -rw-r--r-- | src/doc/unstable-book/src/library-features/default-free-fn.md | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/doc/unstable-book/src/library-features/default-free-fn.md b/src/doc/unstable-book/src/library-features/default-free-fn.md new file mode 100644 index 00000000000..5dff73a94dd --- /dev/null +++ b/src/doc/unstable-book/src/library-features/default-free-fn.md @@ -0,0 +1,45 @@ +# `default_free_fn` + +The tracking issue for this feature is: [#73014] + +[#73014]: https://github.com/rust-lang/rust/issues/73014 + +------------------------ + +Adds a free `default()` function to the `std::default` module. This function +just forwards to [`Default::default()`], but may remove repetition of the word +"default" from the call site. + +Here is an example: + +```rust +#![feature(default_free_fn)] +use std::default::default; + +#[derive(Default)] +struct AppConfig { + foo: FooConfig, + bar: BarConfig, +} + +#[derive(Default)] +struct FooConfig { + foo: i32, +} + +#[derive(Default)] +struct BarConfig { + bar: f32, + baz: u8, +} + +fn main() { + let options = AppConfig { + foo: default(), + bar: BarConfig { + bar: 10.1, + ..default() + }, + }; +} +``` |
