aboutsummaryrefslogtreecommitdiffstats
path: root/components/plugins/lints
diff options
context:
space:
mode:
authorYoav Alon <yoava333@gmail.com>2016-03-09 23:48:32 +0200
committerYoav Alon <yoava333@gmail.com>2016-03-09 23:48:32 +0200
commit444eddb4a14bca067ba1f61f6a098aa38f099f67 (patch)
treef1a58d0766036ba3f1e766ed5f6de296b6015b92 /components/plugins/lints
parent25c6c29a27d2a176a967ee49d97a29ad1d3a140e (diff)
downloadservo-444eddb4a14bca067ba1f61f6a098aa38f099f67.tar.gz
servo-444eddb4a14bca067ba1f61f6a098aa38f099f67.zip
Added compiler lint ban on DOMRefCell
Diffstat (limited to 'components/plugins/lints')
-rw-r--r--components/plugins/lints/ban.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/components/plugins/lints/ban.rs b/components/plugins/lints/ban.rs
index 02037a5d76a..0e1ebc94721 100644
--- a/components/plugins/lints/ban.rs
+++ b/components/plugins/lints/ban.rs
@@ -37,5 +37,11 @@ impl EarlyLintPass for BanPass {
.is_some() {
cx.span_lint(BANNED_TYPE, ty.span, "Banned type Cell<JSVal> detected. Use MutHeap<JSVal> instead")
}
+ if match_ty_unwrap(ty, &["dom", "bindings", "cell", "DOMRefCell"])
+ .and_then(|t| t.get(0))
+ .and_then(|t| match_ty_unwrap(&**t, &["dom", "bindings", "js", "JS"]))
+ .is_some() {
+ cx.span_lint(BANNED_TYPE, ty.span, "Banned type DOMRefCell<JS<T>> detected. Use MutHeap<JS<T>> instead")
+ }
}
}