mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +01:00
Auto merge of #6074 - pgonda:lint-fix-struct-enum-variants, r=Manishearth
<!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6074) <!-- Reviewable:end -->
This commit is contained in:
commit
d68730a0fc
5 changed files with 17 additions and 13 deletions
|
@ -8,5 +8,5 @@ name = "plugins"
|
|||
path = "lib.rs"
|
||||
plugin = true
|
||||
|
||||
[dependencies.tenacious]
|
||||
git = "https://github.com/Manishearth/rust-tenacious.git"
|
||||
[dependencies]
|
||||
tenacious = "*"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use syntax::{ast, codemap, visit};
|
||||
use syntax::{ast, codemap, visit, ast_map};
|
||||
use syntax::attr::AttrMetaMethods;
|
||||
use rustc::lint::{Context, LintPass, LintArray};
|
||||
use rustc::middle::ty::expr_ty;
|
||||
|
@ -52,7 +52,11 @@ impl LintPass for UnrootedPass {
|
|||
}
|
||||
/// All structs containing #[must_root] types must be #[must_root] themselves
|
||||
fn check_struct_def(&mut self, cx: &Context, def: &ast::StructDef, _i: ast::Ident, _gen: &ast::Generics, id: ast::NodeId) {
|
||||
if cx.tcx.map.expect_item(id).attrs.iter().all(|a| !a.check_name("must_root")) {
|
||||
let item = match cx.tcx.map.get(id) {
|
||||
ast_map::Node::NodeItem(item) => item,
|
||||
_ => cx.tcx.map.expect_item(cx.tcx.map.get_parent(id)),
|
||||
};
|
||||
if item.attrs.iter().all(|a| !a.check_name("must_root")) {
|
||||
for ref field in def.fields.iter() {
|
||||
lint_unrooted_ty(cx, &*field.node.ty,
|
||||
"Type must be rooted, use #[must_root] on the struct definition to propagate");
|
||||
|
|
6
components/servo/Cargo.lock
generated
6
components/servo/Cargo.lock
generated
|
@ -938,7 +938,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
name = "plugins"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"tenacious 0.0.1 (git+https://github.com/Manishearth/rust-tenacious.git)",
|
||||
"tenacious 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1186,8 +1186,8 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "tenacious"
|
||||
version = "0.0.1"
|
||||
source = "git+https://github.com/Manishearth/rust-tenacious.git#5112359cd36682cd7df3a7bb9a963299890be26c"
|
||||
version = "0.0.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
[[package]]
|
||||
name = "time"
|
||||
|
|
6
ports/cef/Cargo.lock
generated
6
ports/cef/Cargo.lock
generated
|
@ -928,7 +928,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
name = "plugins"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"tenacious 0.0.1 (git+https://github.com/Manishearth/rust-tenacious.git)",
|
||||
"tenacious 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1179,8 +1179,8 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "tenacious"
|
||||
version = "0.0.1"
|
||||
source = "git+https://github.com/Manishearth/rust-tenacious.git#5112359cd36682cd7df3a7bb9a963299890be26c"
|
||||
version = "0.0.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
[[package]]
|
||||
name = "time"
|
||||
|
|
6
ports/gonk/Cargo.lock
generated
6
ports/gonk/Cargo.lock
generated
|
@ -799,7 +799,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
name = "plugins"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"tenacious 0.0.1 (git+https://github.com/Manishearth/rust-tenacious.git)",
|
||||
"tenacious 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1049,8 +1049,8 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "tenacious"
|
||||
version = "0.0.1"
|
||||
source = "git+https://github.com/Manishearth/rust-tenacious.git#5112359cd36682cd7df3a7bb9a963299890be26c"
|
||||
version = "0.0.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
[[package]]
|
||||
name = "time"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue