Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | - | - | ||||
readme.rs | D | 25-Apr-2025 | 506 | 30 | 22 |
readme.rs
1 #[macro_use(defer)] 2 extern crate scopeguard; 3 4 use scopeguard::guard; 5 f()6fn f() { 7 defer! { 8 println!("Called at return or panic"); 9 } 10 panic!(); 11 } 12 13 use std::fs::File; 14 use std::io::Write; 15 g()16fn g() { 17 let f = File::create("newfile.txt").unwrap(); 18 let mut file = guard(f, |f| { 19 // write file at return or panic 20 let _ = f.sync_all(); 21 }); 22 // access the file through the scope guard itself 23 file.write_all(b"test me\n").unwrap(); 24 } 25 main()26fn main() { 27 f(); 28 g(); 29 } 30