这个结构体包含一个需要有很多不同特征的字段。
struct ManyRequirements<T>
where
T:Ord,
T:Copy,
T:Clone,
T:Iterator,
T:Display
{
something: T
}
我想为它写一个方法,不管T如何工作,比如一个“new”方法。我只想能够说ManyRequirements::new()并让它正常工作。但是如果我尝试了,
impl ManyRequirements {
fn new() {
}
}
或
impl<T> ManyRequirements<T> {
fn new() {
}
}
我得到
the trait bound `T: Ord` is not satisfied
the trait `Ord` is not implemented for `T`
对于每个trait T都重复执行。唯一起作用的是
impl <T> ManyRequirements<T>
where
T:Ord,
T:Copy,
T:Clone,
T:Iterator,
T:Display
{
}
有没有更短的方法来表达“T可以是任何东西”?比如
impl <_> ManyRequirements<_>
{
}
1条答案
按热度按时间7kqas0il1#
此功能在此处停止:https://github.com/rust-lang/rust/issues/44491.dhardy建议使用impl_tools::impl_scope!
副本: