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
}