Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use std::collections::HashMap;
- struct MyStruct {
- my_vec: HashMap<i32, Box<MyCallback>>,
- val: String,
- }
- struct MyCallback;
- impl MyCallback {
- fn call(&self, my_struct: &MyStruct) {
- println!("{:?}", &my_struct.val);
- }
- }
- impl MyStruct {
- fn new() -> Self {
- let mut my_vec = HashMap::new();
- let my_callback = Box::new(MyCallback {});
- let my_callback2 = Box::new(MyCallback {});
- my_vec.insert(1i32, my_callback);
- my_vec.insert(2i32, my_callback2);
- Self {
- my_vec,
- val: "hello".to_string(),
- }
- }
- }
- fn main() {
- let my_struct = MyStruct::new();
- let vectorr = &my_struct.my_vec;
- let xx = vectorr.get(&1).unwrap();
- xx.call(&my_struct);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement