#pointers #data #unique #non #basic #type #multiple

no-std 可重命名

基本可重命名(非唯一指针)类型

4 个版本

0.1.3 2021年1月10日
0.1.2 2020年12月8日
0.1.1 2020年12月8日
0.1.0 2020年12月7日

#313数据结构

Download history 179499/week @ 2024-03-14 168528/week @ 2024-03-21 196183/week @ 2024-03-28 178317/week @ 2024-04-04 186286/week @ 2024-04-11 191690/week @ 2024-04-18 182257/week @ 2024-04-25 177233/week @ 2024-05-02 179591/week @ 2024-05-09 186154/week @ 2024-05-16 180354/week @ 2024-05-23 241917/week @ 2024-05-30 276608/week @ 2024-06-06 245088/week @ 2024-06-13 275638/week @ 2024-06-20 261669/week @ 2024-06-27

1,114,425 每月下载量
673 包(4 个直接使用)中使用

MIT 许可证

25KB
526

Build Status Coverage Status Crate Docs

rust-aliasable

Rust 库,提供基本可重命名(非 core::ptr::Unique)类型
文档托管在 docs.rs

aliasable = "0.1"

为什么?

当多个原始指针可能指向相同数据时,用于逃离 noalias

目标

aliasable 并非旨在提供完整的容器类型接口,而是仅仅提供对它们所有数据进行解引用的可重命名(非 core::ptr::Unique)替代方案。当从唯一类型转换到可重命名替代方案时,引用的数据不会被修改(除了非 core::ptr::Unique 指针之外,内部表示一对一)。

使用方法

use aliasable::vec::AliasableVec;

// Re-exported via `aliasable::vec::UniqueVec`
let unique = Vec::from(&[1, 2, 3][..]);
let aliasable = AliasableVec::from(unique);

依赖项