servo: Merge #12409 - Update clippy, improve clippy integration (from Manishearth:clippy); r=nox

This makes it much easier to run rustfix on servo

(rustfix is still pretty buggy though)

Source-Repo: https://github.com/servo/servo
Source-Revision: 74925460952ac070ff5e365b6fe6b886fd81861b
This commit is contained in:
Manish Goregaokar 2016-07-12 07:29:25 -07:00
Родитель 3922629c1d
Коммит 6e1c287d74
12 изменённых файлов: 43 добавлений и 26 удалений

Просмотреть файл

@ -12,10 +12,10 @@ plugin = true
[dependencies]
tenacious = "0.2.0"
[dependencies.clippy]
git = "https://github.com/Manishearth/rust-clippy"
rev = "9dca15de3e8ea266d3e7e868c0f358ed4fa5f195"
[dependencies.clippy_lints]
version = "0.0.77"
optional = true
[features]
default = []
clippy = ["clippy_lints"]

Просмотреть файл

@ -18,7 +18,7 @@
#![deny(unsafe_code)]
#[cfg(feature = "clippy")]
extern crate clippy;
extern crate clippy_lints;
#[macro_use]
extern crate rustc;
extern crate rustc_plugin;
@ -44,12 +44,14 @@ mod utils;
#[plugin_registrar]
pub fn plugin_registrar(reg: &mut Registry) {
reg.register_syntax_extension(intern("dom_struct"), MultiModifier(box jstraceable::expand_dom_struct));
reg.register_syntax_extension(intern("derive_JSTraceable"), MultiDecorator(box jstraceable::expand_jstraceable));
reg.register_syntax_extension(intern("_generate_reflector"), MultiDecorator(box reflector::expand_reflector));
reg.register_late_lint_pass(box lints::transmute_type::TransmutePass);
reg.register_syntax_extension(intern("derive_JSTraceable"),
MultiDecorator(box jstraceable::expand_jstraceable));
reg.register_syntax_extension(intern("_generate_reflector"),
MultiDecorator(box reflector::expand_reflector));
reg.register_late_lint_pass(box lints::unrooted_must_root::UnrootedPass::new());
reg.register_late_lint_pass(box lints::privatize::PrivatizePass);
reg.register_late_lint_pass(box lints::inheritance_integrity::InheritancePass);
reg.register_late_lint_pass(box lints::transmute_type::TransmutePass);
reg.register_early_lint_pass(box lints::ban::BanPass);
reg.register_late_lint_pass(box tenacious::TenaciousPass);
reg.register_attribute("must_root".to_string(), Whitelisted);
@ -60,7 +62,7 @@ pub fn plugin_registrar(reg: &mut Registry) {
#[cfg(feature = "clippy")]
fn register_clippy(reg: &mut Registry) {
::clippy::plugin_registrar(reg);
::clippy_lints::register_plugins(reg);
}
#[cfg(not(feature = "clippy"))]
fn register_clippy(_reg: &mut Registry) {

2
servo/components/servo/Cargo.lock сгенерированный
Просмотреть файл

@ -2240,6 +2240,7 @@ dependencies = [
"log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
"num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)",
"plugins 0.0.1",
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
"selectors 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2464,6 +2465,7 @@ dependencies = [
"lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"num_cpus 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
"plugins 0.0.1",
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 0.7.11 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_macros 0.7.11 (registry+https://github.com/rust-lang/crates.io-index)",

Просмотреть файл

@ -16,7 +16,7 @@ servo = ["serde", "serde/nightly", "serde_macros", "heapsize", "heapsize_plugin"
"style_traits/servo", "app_units/plugins", "euclid/plugins",
"cssparser/heap_size", "cssparser/serde-serialization",
"selectors/heap_size", "selectors/unstable", "string_cache/heap_size",
"url/heap_size"]
"url/heap_size", "plugins"]
[dependencies]
app_units = "0.2.5"
@ -45,6 +45,7 @@ style_traits = {path = "../style_traits"}
time = "0.1"
url = "1.0.0"
util = {path = "../util"}
plugins = {path = "../plugins", optional = true}
[target.'cfg(windows)'.dependencies]
kernel32-sys = "0.2"

Просмотреть файл

@ -490,7 +490,7 @@ pub fn parse_length(mut value: &str) -> LengthOrPercentageOrAuto {
}
// Step 5
if value.starts_with("+") {
if value.starts_with('+') {
value = &value[1..]
}

Просмотреть файл

@ -194,7 +194,7 @@ fn parse_declaration_value_block(input: &mut Parser,
let token_slice = input.slice_from(token_start);
if !token_slice.ends_with("*/") {
missing_closing_characters.push_str(
if token_slice.ends_with("*") { "/" } else { "*/" })
if token_slice.ends_with('*') { "/" } else { "*/" })
}
token.serialization_type()
}

Просмотреть файл

@ -27,6 +27,7 @@
#![cfg_attr(feature = "servo", feature(custom_derive))]
#![cfg_attr(feature = "servo", feature(plugin))]
#![cfg_attr(feature = "servo", plugin(heapsize_plugin))]
#![cfg_attr(feature = "servo", plugin(plugins))]
#![cfg_attr(feature = "servo", plugin(serde_macros))]
#![deny(unsafe_code)]

Просмотреть файл

@ -602,17 +602,14 @@ pub trait ElementMatchMethods : TElement
}
for (i, &(ref candidate, ())) in style_sharing_candidate_cache.iter().enumerate() {
match self.share_style_with_candidate_if_possible(parent.clone(), candidate) {
Some(shared_style) => {
// Yay, cache hit. Share the style.
let node = self.as_node();
let style = &mut node.mutate_data().unwrap().style;
let damage = <<Self as TElement>::ConcreteNode as TNode>
::ConcreteRestyleDamage::compute((*style).as_ref(), &*shared_style);
*style = Some(shared_style);
return StyleSharingResult::StyleWasShared(i, damage)
}
None => {}
if let Some(shared_style) = self.share_style_with_candidate_if_possible(parent.clone(), candidate) {
// Yay, cache hit. Share the style.
let node = self.as_node();
let style = &mut node.mutate_data().unwrap().style;
let damage = <<Self as TElement>::ConcreteNode as TNode>
::ConcreteRestyleDamage::compute((*style).as_ref(), &*shared_style);
*style = Some(shared_style);
return StyleSharingResult::StyleWasShared(i, damage)
}
}

Просмотреть файл

@ -11,7 +11,7 @@ path = "lib.rs"
[features]
# servo as opposed to geckolib
servo = ["serde", "serde_macros", "backtrace", "ipc-channel", "app_units/plugins",
"euclid/plugins", "euclid/unstable", "url/heap_size", "url/serde"]
"euclid/plugins", "euclid/unstable", "url/heap_size", "url/serde", "plugins"]
[dependencies]
app_units = "0.2.5"
@ -28,6 +28,7 @@ rustc-serialize = "0.3"
serde = {version = "0.7.11", optional = true}
serde_macros = {version = "0.7.11", optional = true}
url = "1.0.0"
plugins = {path = "../plugins", optional = true}
[target.'cfg(all(unix, not(target_os = "macos"), not(target_os = "ios"), not(target_os = "android")))'.dependencies]
xdg = "2.0"

Просмотреть файл

@ -7,6 +7,7 @@
#![cfg_attr(feature = "servo", feature(plugin))]
#![cfg_attr(feature = "servo", feature(reflect_marker))]
#![cfg_attr(feature = "servo", plugin(serde_macros))]
#![cfg_attr(feature = "servo", plugin(plugins))]
#![deny(unsafe_code)]

2
servo/ports/cef/Cargo.lock сгенерированный
Просмотреть файл

@ -2125,6 +2125,7 @@ dependencies = [
"log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
"num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)",
"plugins 0.0.1",
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
"selectors 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2333,6 +2334,7 @@ dependencies = [
"lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"num_cpus 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
"plugins 0.0.1",
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 0.7.11 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_macros 0.7.11 (registry+https://github.com/rust-lang/crates.io-index)",

Просмотреть файл

@ -94,11 +94,21 @@ class MachCommands(CommandBase):
@Command('clippy',
description='Run Clippy',
category='devenv')
def clippy(self):
features = "--features=script/plugins/clippy"
@CommandArgument(
'--package', '-p', default=None,
help='Updates the selected package')
@CommandArgument(
'--json', '-j', action="store_true",
help='Outputs')
def clippy(self, package=None, json=False):
params = ["--features=script/plugins/clippy"]
if package:
params += ["-p", package]
if json:
params += ["--", "-Zunstable-options", "--error-format", "json"]
with cd(path.join(self.context.topdir, "components", "servo")):
return subprocess.call(["cargo", "build", features],
return subprocess.call(["cargo", "rustc", "-v"] + params,
env=self.build_env())
@Command('rustc',