mirror of
https://git.proxmox.com/git/rustc
synced 2025-11-03 11:20:59 +00:00
25 lines
501 B
Rust
25 lines
501 B
Rust
// NOTE: generate fully expanded version with `cargo expand`.
|
|
//
|
|
// cargo expand --example readme_example
|
|
#![allow(dead_code)]
|
|
|
|
#[macro_use]
|
|
extern crate derive_builder;
|
|
|
|
#[derive(Default, Builder, Debug)]
|
|
#[builder(setter(into))]
|
|
struct Channel {
|
|
token: i32,
|
|
special_info: i32,
|
|
}
|
|
|
|
fn main() {
|
|
// builder pattern, go, go, go!...
|
|
let ch = ChannelBuilder::default()
|
|
.special_info(42u8)
|
|
.token(19_124)
|
|
.build()
|
|
.unwrap();
|
|
println!("{:?}", ch);
|
|
}
|