E4229

E4229#

declare fn 和 declare let 声明不支持 #alias。这些声明只描述接口,不提供实现。

错误示例#

///|
#alias(old_name)
declare pub fn new_name() -> Int32

///|
pub fn new_name() -> Int32 {
  42
}

建议#

#alias 应移到对应的函数或值的定义上。如果别名属于基于声明的接口,请单独声明其名称。声明检查签名,不检查一个名称是否实现为另一个名称的别名。

///|
declare pub fn new_name() -> Int32

///|
declare pub fn old_name() -> Int32

///|
#alias(old_name)
pub fn new_name() -> Int32 {
  42
}