泛型中的加号(+)是什么意思?

3

我正在阅读《Rust编程语言》的第19章,看到了这段代码:

Box<dyn Fn() + Send + 'static>

这是干什么用的?为什么里面有加号(+)?我不记得在上一章中遇到过这个。

Box::new(|| println!("hi")) 怎么成为一个 Box<dyn Fn() + Send + 'static>


3
请参阅Rust by Example,您还应该重新阅读《Rust语言》书的第10章,+运算符用于结合来自cargo doc的限制:在处理泛型时,类型参数通常必须使用特质作为限制条件,以规定类型实现的功能。例如,以下示例使用Display特质进行打印,因此需要将T绑定为Display;也就是说,T必须实现Display。对于您的情况,Box包含一个具有'static生命周期并实现Send的动态对象。 - Asya Corbeau
1个回答

4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接