E1003

E1003#

未使用的类型声明。

这个类型没有被代码的其他部分使用,而且它是私有的。类型声明默认是抽象的,这意味着它对这个包的用户是公开可见的,但他们不能看到类型的实现,也不能直接创建它的实例。因此,只有当类型标记为 priv 可见性,并且没有被这个包的其他部分使用时,才会显示这个警告。

请注意,这个警告可能会揭示你代码中的其他错误。例如,如果包中有两个类型名称相似,你可能会错误地使用另一个类型。

错误示例#

priv struct Foo { // Warning: Unused type 'Foo'.
  bar : Int
}

fn main {
  struct Bar { // Warning: Unused type 'Bar'.
    foot : Int
  }
}

建议#

有几种方式可以修复这个警告:

  • 如果这个类型确实没有用,你可以移除类型的定义。

  • 如果这个类型不是局部的,并且是你模块的公开 API 的一部分,你可以移除 priv 可见性关键字。

    struct Foo {
      bar : Int
    }
    
  • 检查你是否以正确的名称引用该类型。

在某些情况下,私有且未使用的类型是相对少见的;因此,我们建议你如果没有使用这个类型,就将其移除。