E4071

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 的源代码,以进一步使用相应的内建指令。