diff options
author | Valentin Popov <valentin@popov.link> | 2024-07-19 15:37:58 +0300 |
---|---|---|
committer | Valentin Popov <valentin@popov.link> | 2024-07-19 15:37:58 +0300 |
commit | a990de90fe41456a23e58bd087d2f107d321f3a1 (patch) | |
tree | 15afc392522a9e85dc3332235e311b7d39352ea9 /vendor/scopeguard/README.md | |
parent | 3d48cd3f81164bbfc1a755dc1d4a9a02f98c8ddd (diff) | |
download | fparkan-a990de90fe41456a23e58bd087d2f107d321f3a1.tar.xz fparkan-a990de90fe41456a23e58bd087d2f107d321f3a1.zip |
Deleted vendor folder
Diffstat (limited to 'vendor/scopeguard/README.md')
-rw-r--r-- | vendor/scopeguard/README.md | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/vendor/scopeguard/README.md b/vendor/scopeguard/README.md deleted file mode 100644 index 01fa68c..0000000 --- a/vendor/scopeguard/README.md +++ /dev/null @@ -1,102 +0,0 @@ -# scopeguard - -Rust crate for a convenient RAII scope guard that will run a given closure when -it goes out of scope, even if the code between panics (assuming unwinding panic). - -The `defer!` macro and `guard` are `no_std` compatible (require only `core`), -but the on unwinding / not on unwinding strategies require linking to `std`. -By default, the `use_std` crate feature is enabled. Disable the default features -for `no_std` support. - -Please read the [API documentation here](https://docs.rs/scopeguard/). - -Minimum supported Rust version: 1.20 - -[![build_status](https://github.com/bluss/scopeguard/actions/workflows/ci.yaml/badge.svg)](https://github.com/bluss/scopeguard/actions/workflows/ci.yaml) -[![crates](https://img.shields.io/crates/v/scopeguard.svg)](https://crates.io/crates/scopeguard) - -## How to use - -```rs -#[macro_use(defer)] -extern crate scopeguard; - -use scopeguard::guard; - -fn f() { - defer! { - println!("Called at return or panic"); - } - panic!(); -} - -use std::fs::File; -use std::io::Write; - -fn g() { - let f = File::create("newfile.txt").unwrap(); - let mut file = guard(f, |f| { - // write file at return or panic - let _ = f.sync_all(); - }); - // access the file through the scope guard itself - file.write_all(b"test me\n").unwrap(); -} -``` - -## Recent Changes - -- 1.2.0 - - - Use ManuallyDrop instead of mem::forget in into_inner. (by @willtunnels) - - Warn if the guard is not assigned to a variable and is dropped immediately - instead of at the scope's end. (by @sergey-v-galtsev) - -- 1.1.0 - - - Change macros (`defer!`, `defer_on_success!` and `defer_on_unwind!`) - to accept statements. (by @konsumlamm) - -- 1.0.0 - - - Change the closure type from `FnMut(&mut T)` to `FnOnce(T)`: - Passing the inner value by value instead of a mutable reference is a - breaking change, but allows the guard closure to consume it. (by @tormol) - - - Add `defer_on_success!`, `guard_on_success()` and `OnSuccess` - strategy, which triggers when scope is exited *without* panic. It's the - opposite to `defer_on_unwind!` / `guard_on_unwind()` / `OnUnwind`. - - - Add `ScopeGuard::into_inner()`, which "defuses" the guard and returns the - guarded value. (by @tormol) - - - Implement `Sync` for guards with non-`Sync` closures. - - - Require Rust 1.20 - -- 0.3.3 - - - Use `#[inline]` on a few more functions by @stjepang (#14) - - Add examples to crate documentation - -- 0.3.2 - - - Add crate categories - -- 0.3.1 - - - Add `defer_on_unwind!`, `Strategy` trait - - Rename `Guard` → `ScopeGuard` - - Add `ScopeGuard::with_strategy`. - - `ScopeGuard` now implements `Debug`. - - Require Rust 1.11 - -- 0.2.0 - - - Require Rust 1.6 - - Use `no_std` unconditionally - - No other changes - -- 0.1.2 - - - Add macro `defer!` |