[英]Rust constraints for generic types Item
在查看flatten的文檔時。
pub struct Flatten<I>
where
I: Iterator,
<I as Iterator>::Item: IntoIterator,
我想知道為什么需要這樣做——最后一行。 以下還不夠嗎?
I::Item: IntoIterator,
畢竟I
被限制為Iterator
就行了。
事實上,這不是必需的,實際代碼完全使用另一種形式(不穩定的Trait<Assoc: Trait>
語法,類似於相等語法Trait<Assoc = Type>
)。 這只是 rustdoc 顯示的,因為理論上你可以有一個類型參數來實現兩個具有相同關聯項的特征。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.