mirror of https://github.com/KaiserY/trpl-zh-cn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
399 B
29 lines
399 B
use std::ops::Deref;
|
|
|
|
impl<T> Deref for MyBox<T> {
|
|
type Target = T;
|
|
|
|
fn deref(&self) -> &T {
|
|
&self.0
|
|
}
|
|
}
|
|
|
|
struct MyBox<T>(T);
|
|
|
|
impl<T> MyBox<T> {
|
|
fn new(x: T) -> MyBox<T> {
|
|
MyBox(x)
|
|
}
|
|
}
|
|
|
|
fn hello(name: &str) {
|
|
println!("Hello, {name}!");
|
|
}
|
|
|
|
// ANCHOR: here
|
|
fn main() {
|
|
let m = MyBox::new(String::from("Rust"));
|
|
hello(&(*m)[..]);
|
|
}
|
|
// ANCHOR_END: here
|