2个版本
0.2.1 | 2021年7月10日 |
---|---|
0.2.0 | 2021年7月8日 |
0.1.0 |
|
1164 在 进程宏
8KB
60 行
简单地址比较
一系列宏,允许您的类型根据它们在内存中的存储位置进行比较。当两个类型的实例在字面上是相同的实例时,除非它们是相同的实例,否则不应认为它们是相等的。
使用此crate,您可以根据需要推导出AddressEq
、AddressOrd
或AddressHash
。
用法
use address_cmp::AddressEq;
#[derive(AddressEq, Debug)]
struct A {
pub a: u8,
}
let a1 = A { a: 0 };
let a2 = A { a: 0 };
assert_ne!(a1, a2);
assert_eq!(a1, a1);
lib.rs
:
简单地址比较
一系列宏,允许您的类型根据它们在内存中的存储位置进行比较。当两个类型的实例在字面上是相同的实例时,除非它们是相同的实例,否则不应认为它们是相等的。
使用此crate,您可以根据需要推导出AddressEq
、AddressOrd
或AddressHash
。
用法
use address_cmp::AddressEq;
#[derive(AddressEq, Debug)]
struct A {
pub a: u8,
}
let a1 = A { a: 0 };
let a2 = A { a: 0 };
assert_ne!(a1, a2);
assert_eq!(a1, a1);
依赖项
~1.5MB
~35K SLoC