Generics 'my_func<;T:MyTrait>;`vs`my_func<;T>;其中T:MyTrait`

Generics 'my_func<;T:MyTrait>;`vs`my_func<;T>;其中T:MyTrait`,generics,rust,traits,Generics,Rust,Traits,两者之间有什么区别 my_func<T: MyTrait>(...) {...} my_func(…){…} 及 myfunc(…)其中T:MyTrait{…} 一个是用显式的where子句编写的,另一个不是 好,好,;如果你想挑剔,区别在于: 不能使用where子句引入泛型参数 在泛型参数列表中,除泛型参数外,不能约束任何其他参数 但是,当您将约束从泛型参数列表移动到where子句时,它们的变化是相同的。一个是用显式where子句编写的,另一个不是 好,好,;如果你想挑剔

两者之间有什么区别

my_func<T: MyTrait>(...) {...}
my_func(…){…}

myfunc(…)其中T:MyTrait{…}

一个是用显式的
where
子句编写的,另一个不是

好,好,;如果你想挑剔,区别在于:

  • 不能使用
    where
    子句引入泛型参数
  • 在泛型参数列表中,除泛型参数外,不能约束任何其他参数

但是,当您将约束从泛型参数列表移动到
where
子句时,它们的变化是相同的。

一个是用显式
where
子句编写的,另一个不是

好,好,;如果你想挑剔,区别在于:

  • 不能使用
    where
    子句引入泛型参数
  • 在泛型参数列表中,除泛型参数外,不能约束任何其他参数

但是,当您将约束从泛型参数列表移动到
where
子句时,它们会发生什么变化呢?它们完全可以互换?是的。。。假设我们首先讨论的是通用参数列表中有效的东西。我已经扩展了答案。好吧,这就是我想知道的;谢谢就是这个?它们完全可以互换?是的。。。假设我们首先讨论的是通用参数列表中有效的东西。我已经扩展了答案。好吧,这就是我想知道的;谢谢
my_func<T>(...) where T: MyTrait {...}