#owned #async #lifetime #borrow

no-std visiting_ref

Container types that asynchronously return ownership of a value to another context upon exiting scope

2 unstable releases

0.2.0 Dec 30, 2019
0.1.0 Dec 9, 2019

#770 in Asynchronous

MIT/Apache

34KB
218 lines

visiting_ref

Container types that asynchronously return ownership of a value to another context upon exiting scope.

Latest Version Released API docs MIT/Apache-2.0 licensed Rustc Version 1.25+ Build Status

This crate provides VisitingRef and VisitingMut, two container types that effectively allow for safe "borrowing" of values through temporary transference of ownership between two separate contexts. These types wrap a given value, only allowing a reference to the value to be taken while the container is active. Upon exiting scope, the owned value is automatically sent back to another context asynchronously.

Usage

Add this to your Cargo.toml:

[dependencies]
visiting_ref = "0.2"

Now you can use VisitingRef and VisitingMut types in your code:

use visiting_ref::VisitingRef;

More details and example code can be found in the crate documentation.

Rust Version Support

The minimum supported Rust version is 1.39 due to use of futures channels.

no_std Support

This crate does not require std, but it does require alloc due to the use of futures oneshot channels. No features need to be disabled for use with no_std crates.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~775KB
~15K SLoC