E4008#
FFI 函数不能有类型参数。
错误示例:#
extern "js" fn id[T](x: T) -> T = "(x) => x"
这个例子中,FFI 函数(用 extern
标识)带有一个类型参数,而这是不允许的。
建议#
考虑使用符合你需求的具体类型:
extern "js" fn int_id(x: Int) -> Int = "(x) => x"
对于更复杂的场景,考虑添加一个额外的特征:
///|
trait Ider {
id(Self) -> Self
}
///|
impl Ider for Int with id(self) { int_id(self) }