运行Clippy时排除依赖项

时间:2016-11-10 00:56:45

标签: rust clippy

我第一次尝试运行clippy(我知道......我现在真的应该这样做了吗?)我面临一些错误。

我正在尝试lint的项目取决于Piston并且它编译并成功运行。但是,当我运行clippy as described in the README时:

rustup run nightly cargo clippy

看起来它开始尝试构建Piston并报告这样的错误:

error[E0433]: failed to resolve. Use of undeclared type or module `gfx`
  --> /Users/Simon/.cargo/registry/src/github.com-    1ecc6299db9ec823/piston2d-gfx_graphics-0.31.2/src/back_end.rs:31:10
   |
31 |     pos: gfx::VertexBuffer<PositionFormat>,
   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Use of undeclared type or module `gfx`

error[E0433]: failed to resolve. Use of undeclared type or module     `gfx`
  --> /Users/Simon/.cargo/registry/src/github.com-    1ecc6299db9ec823/piston2d-gfx_graphics-0.31.2/src/back_end.rs:32:12
   |
32 |     color: gfx::VertexBuffer<ColorFormat>,
   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Use of undeclared type or module `gfx`

error[E0433]: failed to resolve. Use of undeclared type or module `gfx`
  --> /Users/Simon/.cargo/registry/src/github.com-1ecc6299db9ec823/piston2d-gfx_graphics-0.31.2/src/back_end.rs:33:19
   |
33 |     blend_target: gfx::BlendTarget<gfx::format::Srgba8>,
   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Use of undeclared type or module `gfx`

error[E0433]: failed to resolve. Use of undeclared type or module `gfx`
  --> /Users/Simon/.cargo/registry/src/github.com-1ecc6299db9ec823/piston2d-gfx_graphics-0.31.2/src/back_end.rs:33:36
   |
33 |     blend_target: gfx::BlendTarget<gfx::format::Srgba8>,
   |                                    ^^^^^^^^^^^^^^^^^^^ Use of undeclared type or module `gfx`

error[E0433]: failed to resolve. Use of undeclared type or module `gfx`
  --> /Users/Simon/.cargo/registry/src/github.com-1ecc6299db9ec823/piston2d-gfx_graphics-0.31.2/src/back_end.rs:34:21
   |
34 |     stencil_target: gfx::StencilTarget<gfx::format::DepthStencil>,
   |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Use of undeclared type or module `gfx`

我怎么能告诉clippy不要建造活塞和/或lint呢?我怎样才能让它构建我的项目并将我的代码丢失?

cargo build从同一个文件夹成功构建项目。

我没有深入研究clippy的代码,但是我认为它在AST中运行并且实际上并没有构建二进制文件......看起来我不正确?

1 个答案:

答案 0 :(得分:5)

  

我如何告诉clippy不构建Piston和/或lint呢?

你不能。

Clippy需要构建所有依赖项才能使项目失效。这是因为只有少量lint仅在AST上运行。大多数lint在HIR上运行,也需要类型信息。

很遗憾,我无法在piston_window v0.57.0上重现您的错误,但该版本会提取piston2d-gfx_graphics v0.33.1,这比您正在使用的0.31.2更新。也许更新会解决您的问题。