-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The following major revision is applied to the pinned vector: * pinned elements guarantee is formalized and documented, * unsafe methods such as `clone` or `insert` are now safe. pinned vector on its own cannot build inter-element references; hence, these methods are not unsafe. this responsibility is passed to the struct enabling these references, namely, orx_selfref_col. * in addition to being a marker trait, this crate now provides `test_pinned_vec` function which is essential in asserting that a pinned vector implementation satisfies the required guarantees.
- Loading branch information
1 parent
9ba3256
commit 0c83db0
Showing
22 changed files
with
936 additions
and
880 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,3 +12,5 @@ Cargo.lock | |
|
||
# MSVC Windows builds of rustc generate these, which store debugging information | ||
*.pdb | ||
|
||
.vscode/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,14 @@ | ||
[package] | ||
name = "orx-pinned-vec" | ||
version = "1.0.1" | ||
version = "2.0.0" | ||
edition = "2021" | ||
authors = ["orxfun <[email protected]>"] | ||
description = "`PinnedVec` trait defines the interface for vectors which guarantee that elements are pinned to their memory locations with the aim to enable convenient self-referential collections." | ||
description = "`PinnedVec` trait defines the interface for vectors which guarantee that elements added to the vector are pinned to their memory locations unless explicitly changed." | ||
license = "MIT" | ||
repository = "https://github.com/orxfun/orx-pinned-vec/" | ||
keywords = ["vec", "array", "vector", "pinned", "memory"] | ||
categories = ["data-structures", "rust-patterns"] | ||
|
||
[dependencies] | ||
rand = "0.8.5" | ||
rand_chacha = "0.3.1" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.