Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use std::sync::Arc;
- trait A {
- fn as_b(&self) -> Option<&B> { None }
- }
- #[derive(Default)]
- struct B;
- impl A for B {
- fn as_b(&self) -> Option<&B> { Some(self) }
- }
- fn main() {
- let obj: Arc<A> = Arc::new(B::default());
- let casted = obj.as_b();
- assert!(casted.is_some());
- }
Add Comment
Please, Sign In to add comment