你能根据目标指针宽度是否至少为某个值来有条件地在 Rust 中编译某些内容吗?

sch*_*ine 5 rust

I\xe2\x80\x99m 正在研究一个特征,其中包括一个测量类型属性的函数。返回类型Option<usize>允许值大于usize::MAX,但我包含了一个可重写的函数,该函数仅返回usize并发生恐慌,否则默认情况下通过安全函数实现。我现在想为 Rust 中已有的数字类型实现这个特性。usize我想以更快的实现覆盖其中包含的类型的恐慌函数。

\n

如何根据给定的数字类型是否完全包含在 中 有条件地编译特征函数usize?I\xe2\x80\x99ve 查看了,target_pointer_width但这不是向前兼容的,因为 I\xe2\x80\x99d 必须列出我当前期望存在的所有指针宽度并手动具有该属性。有什么方法可以自动完成吗?理想情况下,\xe2\x80\x99d 是 a#[cfg(target_pointer_width >= "64")]或其他东西,但没有\xe2\x80\x99t。

\n