Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pub trait Backend {
- fn add(&self, op1: i32, op2: i32) -> i32;
- }
- struct MyBackend {}
- impl Backend for MyBackend {
- fn add(&self, op1: i32, op2: i32) -> i32 {
- op1 + op2
- }
- }
- struct Basic {
- backend: Box<dyn Backend>
- }
- use std::ops::Deref;
- impl Deref for Basic {
- type Target = Box<dyn Backend>;
- fn deref(&self) -> &Self::Target {
- &self.backend
- }
- }
- fn main() {
- let x = Basic {
- backend: Box::new(MyBackend {})
- };
- println!("{}", x.add(1, 2));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement