【发布时间】:2017-01-21 18:27:56
【问题描述】:
是否可以将特征内的函数定义为具有impl Trait 返回类型?我想创建一个可以由多个结构实现的特征,以便它们的 new() 函数返回一个对象,它们都可以以相同的方式使用,而无需编写特定于每个结构的代码。
trait A {
fn new() -> impl A;
}
但是,我收到以下错误:
error[E0562]: `impl Trait` not allowed outside of function and inherent method return types
--> src/lib.rs:2:17
|
2 | fn new() -> impl A;
| ^^^^^^
这是对impl Trait 的当前实现的限制还是我用错了?
【问题讨论】: