簡體   English   中英

Rust:泛型參數能否具有引用其他參數的界限?

[英]Rust: Can a generic parameter have bounds referencing other parameters?

我想創建一個 function ,它需要兩個類似類型的 arrays 並按字典順序比較它們,就像這樣

use std::cmp::Eq;

fn compare_arrays<T : Eq<U>, U>(a1: &[T], a2: &[U]) -> bool {
    //Comparison code here
    return false
}

但是,Rust 編譯器不接受T: Eq<U> 是否有其他語法可以做到這一點,以便我可以在 function 簽名中指出TU的可比性?

是的,類型約束可以使用其他類型參數。 您看到的錯誤是因為Eq不是通用的。

error[E0107]: wrong number of type arguments: expected 0, found 1
 --> src/lib.rs:3:26
  |
3 | fn compare_arrays<T : Eq<U>, U>(a1: &[T], a2: &[U]) -> bool {
  |                          ^ unexpected type argument

請改用PartialEq

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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