簡體   English   中英

泛型類型的 Rust 約束項

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM