# pin-utils [![crates-badge]][crates-url] [![docs-badge]][docs-url] [![license-badge]][license] [![rustc-badge]][rustc-url] [crates-badge]: https://img.shields.io/crates/v/pin-utils.svg [crates-url]: https://crates.io/crates/pin-utils [docs-badge]: https://docs.rs/pin-utils/badge.svg [docs-url]: https://docs.rs/pin-utils [license-badge]: https://img.shields.io/crates/l/pin-utils.svg [license]: #license [rustc-badge]: https://img.shields.io/badge/rustc-1.33+-lightgray.svg [rustc-url]: https://blog.rust-lang.org/2019/02/28/Rust-1.33.0.html Utilities for pinning [Documentation][docs-url] **Note:** Since Rust 1.68, all APIs in this crate are now soft-deprecated or deprecated: - `pin_utils::pin_mut!` is soft-deprecated in favor of [`pin!` macro in the standard library](https://doc.rust-lang.org/std/pin/macro.pin.html) that stabilized in Rust 1.68. - `pin_utils::{unsafe_pinned,unsafe_unpinned}` are **deprecated** in favor of safe alternatives: [pin-project](https://crates.io/crates/pin-project), [pin-project-lite](https://crates.io/crates/pin-project-lite) ## Usage First, add this to your `Cargo.toml`: ```toml [dependencies] pin-utils = "0.1" ``` Now, you can use it: ```rust use pin_utils::pin_mut; // And more... ``` The current pin-utils requires Rust 1.33 or later. # License This project is licensed under either of * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0) * MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT) at your option. ### Contribution Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in pin-utils by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.