Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //#![allow(unused)]
- use core::fmt::Debug;
- #[derive(Debug, Clone, Copy)]
- struct MyStruct(i32);
- #[derive(Debug, Clone, Copy)]
- enum MyEnum{FOO, BAR}
- fn by_val<T: Debug + Copy>(arg1:T) {
- println!("by_val");
- dbg!(arg1);
- }
- fn by_ref<T: Debug>(arg1:& T) {
- println!("by_ref");
- dbg!(arg1);
- }
- fn by_mut<T: Debug>(arg1:&mut T) {
- println!("by_mute_ref");
- dbg!(arg1);
- }
- fn set_to_bar(arg: &mut MyEnum) {
- arg = MyEnum::BAR;
- }
- fn main() {
- let mut myarg = MyStruct(33);
- by_ref(&myarg);
- by_mut(&mut myarg);
- by_val(myarg);
- let mut myint = 31;
- by_val(myint);
- by_mut(&mut myint);
- by_ref(&myint);
- let mut myenum = MyEnum::FOO;
- by_mut(&mut myenum);
- set_to_bar(&mut myenum);
- by_ref(&myenum);
- by_val(myenum);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement