Skip to content

Commit b959da2

Browse files
committed
Fix stage2 test failures from call to span_lint.
span_lint was removed. Callers should use the `lint` method now, and call `set_span` within the closure passed to this method.
1 parent e450996 commit b959da2

6 files changed

+80
-43
lines changed

src/test/ui-fulldeps/auxiliary/issue-40001-plugin.rs

+19-15
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,19 @@
44
extern crate rustc_ast_pretty;
55
extern crate rustc_driver;
66
extern crate rustc_hir;
7-
#[macro_use] extern crate rustc_lint;
8-
#[macro_use] extern crate rustc_session;
7+
#[macro_use]
8+
extern crate rustc_lint;
9+
#[macro_use]
10+
extern crate rustc_session;
911
extern crate rustc_span;
1012
extern crate syntax;
1113

1214
use rustc_ast_pretty::pprust;
13-
use rustc_hir::intravisit;
15+
use rustc_driver::plugin::Registry;
1416
use rustc_hir as hir;
17+
use rustc_hir::intravisit;
1518
use rustc_hir::Node;
16-
use rustc_lint::{LateContext, LintPass, LintArray, LateLintPass, LintContext};
17-
use rustc_driver::plugin::Registry;
19+
use rustc_lint::{LateContext, LateLintPass, LintArray, LintContext, LintPass};
1820
use rustc_span::source_map;
1921

2022
#[plugin_registrar]
@@ -32,23 +34,25 @@ declare_lint! {
3234
declare_lint_pass!(MissingWhitelistedAttrPass => [MISSING_WHITELISTED_ATTR]);
3335

3436
impl<'a, 'tcx> LateLintPass<'a, 'tcx> for MissingWhitelistedAttrPass {
35-
fn check_fn(&mut self,
36-
cx: &LateContext<'a, 'tcx>,
37-
_: intravisit::FnKind<'tcx>,
38-
_: &'tcx hir::FnDecl,
39-
_: &'tcx hir::Body,
40-
span: source_map::Span,
41-
id: hir::HirId) {
42-
37+
fn check_fn(
38+
&mut self,
39+
cx: &LateContext<'a, 'tcx>,
40+
_: intravisit::FnKind<'tcx>,
41+
_: &'tcx hir::FnDecl,
42+
_: &'tcx hir::Body,
43+
span: source_map::Span,
44+
id: hir::HirId,
45+
) {
4346
let item = match cx.tcx.hir().get(id) {
4447
Node::Item(item) => item,
4548
_ => cx.tcx.hir().expect_item(cx.tcx.hir().get_parent_item(id)),
4649
};
4750

4851
let whitelisted = |attr| pprust::attribute_to_string(attr).contains("whitelisted_attr");
4952
if !item.attrs.iter().any(whitelisted) {
50-
cx.span_lint(MISSING_WHITELISTED_ATTR, span,
51-
"Missing 'whitelisted_attr' attribute");
53+
cx.lint(MISSING_WHITELISTED_ATTR, |lint| {
54+
lint.build("Missing 'whitelisted_attr' attribute").set_span(span).emit()
55+
});
5256
}
5357
}
5458
}

src/test/ui-fulldeps/auxiliary/lint-for-crate-rpass.rs

+9-5
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@
55
extern crate rustc_driver;
66
extern crate rustc_hir;
77
extern crate rustc_span;
8-
#[macro_use] extern crate rustc_lint;
9-
#[macro_use] extern crate rustc_session;
8+
#[macro_use]
9+
extern crate rustc_lint;
10+
#[macro_use]
11+
extern crate rustc_session;
1012
extern crate syntax;
1113

12-
use rustc_lint::{LateContext, LintContext, LintPass, LateLintPass};
1314
use rustc_driver::plugin::Registry;
15+
use rustc_lint::{LateContext, LateLintPass, LintContext, LintPass};
1416
use rustc_span::symbol::Symbol;
1517
use syntax::attr;
1618

@@ -28,8 +30,10 @@ macro_rules! fake_lint_pass {
2830
fn check_crate(&mut self, cx: &LateContext, krate: &rustc_hir::Crate) {
2931
$(
3032
if !attr::contains_name(&krate.attrs, $attr) {
31-
cx.span_lint(CRATE_NOT_OKAY, krate.span,
32-
&format!("crate is not marked with #![{}]", $attr));
33+
cx.lint(CRATE_NOT_OKAY, |lint| {
34+
let msg = format!("crate is not marked with #![{}]", $attr);
35+
lint.build(&msg).set_span(krate.span).emit()
36+
});
3337
}
3438
)*
3539
}

src/test/ui-fulldeps/auxiliary/lint-for-crate.rs

+10-5
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,15 @@
55

66
extern crate rustc_driver;
77
extern crate rustc_hir;
8-
#[macro_use] extern crate rustc_lint;
9-
#[macro_use] extern crate rustc_session;
8+
#[macro_use]
9+
extern crate rustc_lint;
10+
#[macro_use]
11+
extern crate rustc_session;
1012
extern crate rustc_span;
1113
extern crate syntax;
1214

13-
use rustc_lint::{LateContext, LintContext, LintPass, LateLintPass, LintArray};
1415
use rustc_driver::plugin::Registry;
16+
use rustc_lint::{LateContext, LateLintPass, LintArray, LintContext, LintPass};
1517
use rustc_span::symbol::Symbol;
1618
use syntax::attr;
1719

@@ -26,8 +28,11 @@ declare_lint_pass!(Pass => [CRATE_NOT_OKAY]);
2628
impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Pass {
2729
fn check_crate(&mut self, cx: &LateContext, krate: &rustc_hir::Crate) {
2830
if !attr::contains_name(&krate.attrs, Symbol::intern("crate_okay")) {
29-
cx.span_lint(CRATE_NOT_OKAY, krate.span,
30-
"crate is not marked with #![crate_okay]");
31+
cx.lint(CRATE_NOT_OKAY, |lint| {
32+
lint.build("crate is not marked with #![crate_okay]")
33+
.set_span(krate.span)
34+
.emit()
35+
});
3136
}
3237
}
3338
}

src/test/ui-fulldeps/auxiliary/lint-group-plugin-test.rs

+17-7
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@
66
// Load rustc as a plugin to get macros.
77
extern crate rustc_driver;
88
extern crate rustc_hir;
9-
#[macro_use] extern crate rustc_lint;
10-
#[macro_use] extern crate rustc_session;
9+
#[macro_use]
10+
extern crate rustc_lint;
11+
#[macro_use]
12+
extern crate rustc_session;
1113

12-
use rustc_lint::{LateContext, LintContext, LintPass, LateLintPass, LintArray, LintId};
1314
use rustc_driver::plugin::Registry;
15+
use rustc_lint::{LateContext, LateLintPass, LintArray, LintContext, LintId, LintPass};
1416

1517
declare_lint!(TEST_LINT, Warn, "Warn about items named 'lintme'");
1618

@@ -21,8 +23,12 @@ declare_lint_pass!(Pass => [TEST_LINT, PLEASE_LINT]);
2123
impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Pass {
2224
fn check_item(&mut self, cx: &LateContext, it: &rustc_hir::Item) {
2325
match &*it.ident.as_str() {
24-
"lintme" => cx.span_lint(TEST_LINT, it.span, "item is named 'lintme'"),
25-
"pleaselintme" => cx.span_lint(PLEASE_LINT, it.span, "item is named 'pleaselintme'"),
26+
"lintme" => cx.lint(TEST_LINT, |lint| {
27+
lint.build("item is named 'lintme'").set_span(it.span).emit()
28+
}),
29+
"pleaselintme" => cx.lint(PLEASE_LINT, |lint| {
30+
lint.build("item is named 'pleaselintme'").set_span(it.span).emit()
31+
}),
2632
_ => {}
2733
}
2834
}
@@ -32,6 +38,10 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Pass {
3238
pub fn plugin_registrar(reg: &mut Registry) {
3339
reg.lint_store.register_lints(&[&TEST_LINT, &PLEASE_LINT]);
3440
reg.lint_store.register_late_pass(|| box Pass);
35-
reg.lint_store.register_group(true, "lint_me", None,
36-
vec![LintId::of(&TEST_LINT), LintId::of(&PLEASE_LINT)]);
41+
reg.lint_store.register_group(
42+
true,
43+
"lint_me",
44+
None,
45+
vec![LintId::of(&TEST_LINT), LintId::of(&PLEASE_LINT)],
46+
);
3747
}

src/test/ui-fulldeps/auxiliary/lint-plugin-test.rs

+8-4
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@ extern crate syntax;
77

88
// Load rustc as a plugin to get macros
99
extern crate rustc_driver;
10-
#[macro_use] extern crate rustc_lint;
11-
#[macro_use] extern crate rustc_session;
10+
#[macro_use]
11+
extern crate rustc_lint;
12+
#[macro_use]
13+
extern crate rustc_session;
1214

13-
use rustc_lint::{EarlyContext, LintContext, LintPass, EarlyLintPass, LintArray};
1415
use rustc_driver::plugin::Registry;
16+
use rustc_lint::{EarlyContext, EarlyLintPass, LintArray, LintContext, LintPass};
1517
use syntax::ast;
1618
declare_lint!(TEST_LINT, Warn, "Warn about items named 'lintme'");
1719

@@ -20,7 +22,9 @@ declare_lint_pass!(Pass => [TEST_LINT]);
2022
impl EarlyLintPass for Pass {
2123
fn check_item(&mut self, cx: &EarlyContext, it: &ast::Item) {
2224
if it.ident.name.as_str() == "lintme" {
23-
cx.span_lint(TEST_LINT, it.span, "item is named 'lintme'");
25+
cx.lint(TEST_LINT, |lint| {
26+
lint.build("item is named 'lintme'").set_span(it.span).emit()
27+
});
2428
}
2529
}
2630
}

src/test/ui-fulldeps/auxiliary/lint-tool-test.rs

+17-7
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,13 @@ extern crate syntax;
55

66
// Load rustc as a plugin to get macros
77
extern crate rustc_driver;
8-
#[macro_use] extern crate rustc_lint;
9-
#[macro_use] extern crate rustc_session;
8+
#[macro_use]
9+
extern crate rustc_lint;
10+
#[macro_use]
11+
extern crate rustc_session;
1012

11-
use rustc_lint::{EarlyContext, EarlyLintPass, LintArray, LintContext, LintPass, LintId};
1213
use rustc_driver::plugin::Registry;
14+
use rustc_lint::{EarlyContext, EarlyLintPass, LintArray, LintContext, LintId, LintPass};
1315
use syntax::ast;
1416
declare_tool_lint!(pub clippy::TEST_LINT, Warn, "Warn about stuff");
1517
declare_tool_lint!(
@@ -30,10 +32,14 @@ declare_lint_pass!(Pass => [TEST_LINT, TEST_GROUP, TEST_RUSTC_TOOL_LINT]);
3032
impl EarlyLintPass for Pass {
3133
fn check_item(&mut self, cx: &EarlyContext, it: &ast::Item) {
3234
if it.ident.name.as_str() == "lintme" {
33-
cx.span_lint(TEST_LINT, it.span, "item is named 'lintme'");
35+
cx.lint(TEST_LINT, |lint| {
36+
lint.build("item is named 'lintme'").set_span(it.span).emit()
37+
});
3438
}
3539
if it.ident.name.as_str() == "lintmetoo" {
36-
cx.span_lint(TEST_GROUP, it.span, "item is named 'lintmetoo'");
40+
cx.lint(TEST_GROUP, |lint| {
41+
lint.build("item is named 'lintmetoo'").set_span(it.span).emit()
42+
});
3743
}
3844
}
3945
}
@@ -42,6 +48,10 @@ impl EarlyLintPass for Pass {
4248
pub fn plugin_registrar(reg: &mut Registry) {
4349
reg.lint_store.register_lints(&[&TEST_RUSTC_TOOL_LINT, &TEST_LINT, &TEST_GROUP]);
4450
reg.lint_store.register_early_pass(|| box Pass);
45-
reg.lint_store.register_group(true, "clippy::group", Some("clippy_group"),
46-
vec![LintId::of(&TEST_LINT), LintId::of(&TEST_GROUP)]);
51+
reg.lint_store.register_group(
52+
true,
53+
"clippy::group",
54+
Some("clippy_group"),
55+
vec![LintId::of(&TEST_LINT), LintId::of(&TEST_GROUP)],
56+
);
4757
}

0 commit comments

Comments
 (0)