1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2015年12月18日 |
---|
7 在 #unchecked
3KB
有时共享某些内容并避免运行时成本很重要。此包就是为了这个目的
示例
extern crate unchecked_mutable;
use std::borrow::BorrowMut;
use unchecked_mutable::UncheckedMutable;
trait Drawable {
fn draw(&mut self);
}
struct Image;
impl Drawable for Image {
fn draw(&mut self) {
println!("Draw image");
}
}
fn show_example<'a>() {
let data = {
let image: UncheckedMutable<Image> = UncheckedMutable::new(Image);
image.data()
};
let mut drawable: UncheckedMutable<Drawable> = UncheckedMutable::from_rc(data);
let drawable: &mut (Drawable + 'a) = drawable.borrow_mut();
drawable.draw();
}
fn main() {
show_example();
}