Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use std::ops::Deref;
- pub trait Trait1 { }
- pub trait Trait2 { }
- impl<T> Trait2 for T where T: Trait1 { }
- fn foo<D, T>(obj: D)
- where
- D: Deref<Target=T>,
- T: Trait2 + ?Sized,
- {
- }
- fn main() {
- let a: Option<Box<dyn Trait1>> = None;
- if let Some(obj) = a {
- foo(obj);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement