mirror of
https://git.proxmox.com/git/rustc
synced 2025-08-17 12:54:57 +00:00
41 lines
730 B
Rust
41 lines
730 B
Rust
#![allow(dead_code)]
|
|
|
|
use std::convert::From;
|
|
|
|
use derive_builder::Builder;
|
|
|
|
#[derive(PartialEq, Default, Debug, Clone)]
|
|
struct Uuid(i32);
|
|
#[derive(PartialEq, Default, Debug, Clone)]
|
|
struct Authentication(i32);
|
|
|
|
impl From<i32> for Uuid {
|
|
fn from(x: i32) -> Uuid {
|
|
Uuid(x)
|
|
}
|
|
}
|
|
|
|
impl From<i32> for Authentication {
|
|
fn from(x: i32) -> Authentication {
|
|
Authentication(x)
|
|
}
|
|
}
|
|
|
|
#[derive(Debug, Default, Builder)]
|
|
#[builder(setter(into))]
|
|
struct Channel {
|
|
id: Uuid,
|
|
token: Authentication,
|
|
special_info: i32,
|
|
}
|
|
|
|
fn main() {
|
|
let ch = ChannelBuilder::default()
|
|
.special_info(42)
|
|
.id(0)
|
|
.token(5_494_192)
|
|
.build()
|
|
.unwrap();
|
|
println!("{:?}", ch);
|
|
}
|