#lint #condition #branch #match #duplicates #duplicated #content

nightly copypasteck

A plugin lint for detecting if and match branches with duplicated conditions or contents

5 releases

Uses old Rust 2015

0.1.4 Jan 24, 2015
0.1.3 Jan 2, 2015
0.1.2 Dec 30, 2014
0.1.1 Nov 20, 2014
0.1.0 Nov 14, 2014

#2054 in Rust patterns

MIT/Apache

25KB
440 lines

copypasteck

Build Status

A basic rustc lint plugin for checking for copy-paste duplication. This will warn about if and match branches with duplicated conditions or contents.

Example

# Cargo.toml
[package]
name = "example"
version = "0.1.0"
authors = ["You <youremail@example.com>"]

[dependencies.copypasteck]
git = "https://github.com/huonw/copypasteck"
// src/main.rs
#![feature(phase)]

#[phase(plugin)] extern crate copypasteck;

fn main() {
    let a = 10i;
    if a > 5 {
        println!("hi");
    } else if a > 5 {
        println!("bye");
    }
}
$ cargo build
    Updating git repository `https://github.com/huonw/copypasteck`
   Compiling copypasteck v0.1.0 (https://github.com/huonw/copypasteck)
   Compiling example v0.1.0 (file:...)
.../src/main.rs:9:15: 9:20 warning: contents of `if` condition identical to previous condition; was there a copy-paste error?, #[warn(copy_paste)] on by default
.../src/main.rs:9     } else if a > 5 {
                                ^~~~~
.../src/main.rs:7:8: 7:13 note: previous condition here
.../src/main.rs:7     if a > 5 {
                         ^~~~~

License

This is distributed under the same terms as Rust itself, dual MIT and Apache. See LICENSE-*.

No runtime deps

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy