LoginSignup
4
2

More than 5 years have passed since last update.

Rustのlintライクなツールclippyを使う

Last updated at Posted at 2016-05-16

はじめに

RustのLintライクなツールに rust-clippyがあります。
なかなかよさげなので使ってみます。

前提条件

項目 説明
検証日 2016.05.16
OS Mac OS X 10.11.4
Rust Stable 1.8.0
clippy 0.0.67

使い方

Cargo.tomlに以下を追加

Cargo.toml
[dependencies]
clippy = { version = "*", optional = true }

src/lib.rssrc/main.rs に以下を追加

src/lib.rs
#![cfg_attr(feature="clippy", feature(plugin))]
#![cfg_attr(feature="clippy", plugin(clippy))]

nightlyでしか動かないので以下で実行

$ multirust run nightly cargo build --features=clippy

ごりっと色んな警告がでます。ここに警告の一覧があります。

        :
src/parser.rs:448:9: 453:10 help: try
src/parser.rs:            if (agent.contains("Hatena ")) && (agent.contains("Hatena Antenna") || agent.contains("Hatena Pagetitle Agent") ||
src/parser.rs:                   agent.contains("Hatena Diary RSS")) {
src/parser.rs:        return self.populate_dataset(result, "Hatena");
src/parser.rs:    }
src/parser.rs:448:9: 453:10 help: for further information visit https://github.com/Manishearth/rust-clippy/wiki#collapsible_if
src/parser.rs:460:9: 464:10 warning: this if statement can be collapsed, #[warn(collapsible_if)] on by default
src/parser.rs:460         if agent.contains("Indy Library") {
                          ^
src/parser.rs:460:9: 464:10 help: try
src/parser.rs:            if (agent.contains("Indy Library")) && (agent.contains("compatible; Indy Library")) {
src/parser.rs:        return self.populate_dataset(result, "IndyLibrary");
src/parser.rs:    }
src/parser.rs:460:9: 464:10 help: for further information visit https://github.com/Manishearth/rust-clippy/wiki#collapsible_if
4
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2