#alias #impl-block #type #impl

local-type-alias

impl 块中的局部类型别名

5 个版本

0.1.5 2024 年 3 月 4 日
0.1.4 2024 年 2 月 26 日

17#impl-block

Download history 1/week @ 2024-05-19

每月 356 次下载
用于 peano-axioms

MIT 许可证

18KB
389

局部类型别名

local-type-alias 提供了一个属性宏,用于在项目项中创建有作用域的类型和特质别名。

示例

#[local_alias]
#[alias(type X = i32)]
struct MyType<T>
where
    X: for<'a> Add<&'a T>,
{
    value: T,
}
#[local_alias]
#[alias(
    type X = [T; 4],
    type Y = *mut X,
    type Z = fn(X) -> Y,
    trait A = PartialEq<fn([u8; 4]) -> *mut [u8; 4]>,
)]
impl<T> MyType<T>
where
    Z: A,
{
    // ...
}

lib.rs:

local-type-aliases 允许在项目项中创建有作用域的类型和特质别名。

示例

#
#
#[local_alias]
#[alias(type X = i32)]
struct MyType<T>
where
    X: for<'a> Add<&'a T>,
{
    value: T,
}
#
#
#[local_alias]
#[alias(
    type X = [u8; 4],
    type Y = *mut X,
    type Z = fn(X) -> Y,
    trait A = PartialEq<fn([u8; 4]) -> *mut X>,
)]
impl<T> MyType<T>
where
    Z: A,
{
    // ...
}

依赖项

~225–660KB
~16K SLoC