gpt4 book ai didi

rust - 如何命名一组类型边界?

转载 作者:行者123 更新时间:2023-12-04 13:07:50 24 4
gpt4 key购买 nike

如果我有一长串必须在很多地方重复的类型边界,我该如何给它们起个名字?

例如,如果不是:

fn foo<T: Thing>(t: T) -> T
where T: Copy, T: Debug { ... }

我想写:

fn foo<T: Thing>(t: T) -> T
where T: CopyDebug { ... }

其中CopyDebug被定义为Copy+Debug

最佳答案

如果你使用的是夜间 Rust,你可以使用夜间功能 trait_alias (https://doc.rust-lang.org/unstable-book/language-features/trait-alias.html)

trait CopyDebug = Copy + Debug;

然后任何同时满足CopyDebug的类型也会自动满足CopyDebug

因为这个功能是每晚的,你需要把 #![feature(trait_alias)] 放在你的 crate 主文件的顶部。

关于rust - 如何命名一组类型边界?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68575064/

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