• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..--

readme.rsD25-Apr-2025506 3022

readme.rs

1 #[macro_use(defer)]
2 extern crate scopeguard;
3 
4 use scopeguard::guard;
5 
f()6 fn 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()16 fn 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()26 fn main() {
27     f();
28     g();
29 }
30