error: The requirement is only added
error: The requirement is only added
我试图编译 fuse crate。
失败并出现以下错误:
session.rs:110:1: 114:2 error: The requirement `FS : Filesystem` is added only by the Drop impl. [E0367]
对应的line是这样的:
impl<FS: Filesystem> Drop for Session<FS>
即Drop
特性是为 Session
类型实现的,这对我来说很好。
这里到底是什么错误?
您现在不能对 Drop
特性使用条件或多重分派。换句话说,Drop 的每个实现都必须应用于 Self
类型的所有 "forms",因此不能限制不属于类型本身的包含类型参数。
在此示例中,如果 FS: Filesystem
,Session<FS>
将仅实施 Drop
,但 Session<u8>
不会。这是不允许的。要修复此错误,您可以删除 Drop
impl 上的边界,或者通过在类型声明中添加 where FS: Filesystem
到 Session
类型的 "inherent" 边界。
我试图编译 fuse crate。
失败并出现以下错误:
session.rs:110:1: 114:2 error: The requirement `FS : Filesystem` is added only by the Drop impl. [E0367]
对应的line是这样的:
impl<FS: Filesystem> Drop for Session<FS>
即Drop
特性是为 Session
类型实现的,这对我来说很好。
这里到底是什么错误?
您现在不能对 Drop
特性使用条件或多重分派。换句话说,Drop 的每个实现都必须应用于 Self
类型的所有 "forms",因此不能限制不属于类型本身的包含类型参数。
在此示例中,如果 FS: Filesystem
,Session<FS>
将仅实施 Drop
,但 Session<u8>
不会。这是不允许的。要修复此错误,您可以删除 Drop
impl 上的边界,或者通过在类型声明中添加 where FS: Filesystem
到 Session
类型的 "inherent" 边界。