aboutsummaryrefslogtreecommitdiff
path: root/vendor/scopeguard/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/scopeguard/README.md')
-rw-r--r--vendor/scopeguard/README.md102
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!`