first commit
This commit is contained in:
commit
4cd2267497
10 changed files with 644 additions and 0 deletions
26
examples/private_field_deref.rs
Normal file
26
examples/private_field_deref.rs
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
mod private {
|
||||
pub struct Foo {
|
||||
field: i32,
|
||||
bar: Bar,
|
||||
}
|
||||
|
||||
pub struct Bar {
|
||||
pub field: u32,
|
||||
}
|
||||
|
||||
impl std::ops::Deref for Foo {
|
||||
type Target = Bar;
|
||||
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.bar
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
use private::Foo;
|
||||
|
||||
fn example(f: Foo) {
|
||||
let a: i32 = f.field;
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
Loading…
Add table
Add a link
Reference in a new issue