E4071#
不支持多重内建指令。您定义了一个使用多重内建指令的函数。
请注意,所有内建指令不是为在 moonbitlang/core
之外使用准备的,并且可能会在不通知的情况下进行更改,我们强烈建议 不要使用它们 。
错误示例#
type MyArray[T] Array[T]
/// @intrinsic %array.get
/// @intrinsic %fixedarray.get
fn MyArray::get[T](self : MyArray[T], index : Int) -> T { // Error: Multiple intrinsic is not unsupported.
return self._[index]
}
建议#
删除额外的内建指令,只使用一个内建指令:
/// @intrinsic %array.get
fn MyArray::get[T](self : MyArray[T], index : Int) -> T {
return self._[index]
}
尽可能避免直接使用内建指令,因为我们可能会在将来更改或删除它们。如果您确实需要使用内建指令,您可以查看 moonbitlang/core
的源代码,以进一步使用相应的内建指令。