G.GEN.01 不要在泛型位置上使用内建类型

【级别】 建议

【描述】

这样做虽然会导致编译错误,但是这种错误会使开发者感到困惑,反而无法找到问题所在。

【反例】

这里 u32 会被认为是一个类型参数。


#![allow(unused)]
fn main() {
// 不符合
impl<u32> Foo<u32> {
    fn impl_func(&self) -> u32 {
        42
    }
}
}

【正例】


#![allow(unused)]
fn main() {
// 符合
impl<T> Foo<T> {
    fn impl_func(&self) -> T {
        42
    }
}
}

【Lint 检测】

lint nameClippy 可检测Rustc 可检测Lint Grouplevel
builtin_type_shadowyesnostylewarn