gpt4 book ai didi

generics - Rust:通用参数是否可以具有引用其他参数的范围?

转载 作者:行者123 更新时间:2023-12-03 11:40:59 28 4
gpt4 key购买 nike

我想创建一个函数,该函数接受两个可比较类型的数组,并按字典顺序对它们进行比较,如下所示

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>。还有其他语法可以做到这一点,以便可以在函数签名中指示 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

关于generics - Rust:通用参数是否可以具有引用其他参数的范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66394099/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com