Skip to content

Commit 63816da

Browse files
Improve some attributes error spans
1 parent 7df0052 commit 63816da

File tree

6 files changed

+33
-31
lines changed

6 files changed

+33
-31
lines changed

compiler/rustc_ast/src/attr/mod.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,9 @@ impl Attribute {
182182

183183
pub fn name_value_literal_span(&self) -> Option<Span> {
184184
match self.kind {
185-
AttrKind::Normal(ref item, _) => item.meta(self.span).and_then(|meta| meta.name_value_literal_span()),
185+
AttrKind::Normal(ref item, _) => {
186+
item.meta(self.span).and_then(|meta| meta.name_value_literal_span())
187+
}
186188
AttrKind::DocComment(..) => None,
187189
}
188190
}

compiler/rustc_passes/src/check_attr.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ impl CheckAttrVisitor<'tcx> {
319319
self.tcx
320320
.sess
321321
.struct_span_err(
322-
meta.span(),
322+
meta.name_value_literal_span().unwrap_or_else(|| meta.span()),
323323
&format!(
324324
"{:?} character isn't allowed in `#[doc(alias = \"...\")]`",
325325
c,
@@ -332,7 +332,7 @@ impl CheckAttrVisitor<'tcx> {
332332
self.tcx
333333
.sess
334334
.struct_span_err(
335-
meta.span(),
335+
meta.name_value_literal_span().unwrap_or_else(|| meta.span()),
336336
"`#[doc(alias = \"...\")]` cannot start or end with ' '",
337337
)
338338
.emit();

src/test/rustdoc-ui/check-doc-alias-attr.stderr

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,42 +17,42 @@ LL | #[doc(alias("bar"))]
1717
| ^^^^^^^^^^^^
1818

1919
error: '\"' character isn't allowed in `#[doc(alias = "...")]`
20-
--> $DIR/check-doc-alias-attr.rs:9:7
20+
--> $DIR/check-doc-alias-attr.rs:9:15
2121
|
2222
LL | #[doc(alias = "\"")]
23-
| ^^^^^^^^^^^^
23+
| ^^^^
2424

2525
error: '\n' character isn't allowed in `#[doc(alias = "...")]`
26-
--> $DIR/check-doc-alias-attr.rs:10:7
26+
--> $DIR/check-doc-alias-attr.rs:10:15
2727
|
2828
LL | #[doc(alias = "\n")]
29-
| ^^^^^^^^^^^^
29+
| ^^^^
3030

3131
error: '\n' character isn't allowed in `#[doc(alias = "...")]`
32-
--> $DIR/check-doc-alias-attr.rs:11:7
32+
--> $DIR/check-doc-alias-attr.rs:11:15
3333
|
3434
LL | #[doc(alias = "
35-
| _______^
35+
| _______________^
3636
LL | | ")]
3737
| |_^
3838

3939
error: '\t' character isn't allowed in `#[doc(alias = "...")]`
40-
--> $DIR/check-doc-alias-attr.rs:13:7
40+
--> $DIR/check-doc-alias-attr.rs:13:15
4141
|
4242
LL | #[doc(alias = "\t")]
43-
| ^^^^^^^^^^^^
43+
| ^^^^
4444

4545
error: `#[doc(alias = "...")]` cannot start or end with ' '
46-
--> $DIR/check-doc-alias-attr.rs:14:7
46+
--> $DIR/check-doc-alias-attr.rs:14:15
4747
|
4848
LL | #[doc(alias = " hello")]
49-
| ^^^^^^^^^^^^^^^^
49+
| ^^^^^^^^
5050

5151
error: `#[doc(alias = "...")]` cannot start or end with ' '
52-
--> $DIR/check-doc-alias-attr.rs:15:7
52+
--> $DIR/check-doc-alias-attr.rs:15:15
5353
|
5454
LL | #[doc(alias = "hello ")]
55-
| ^^^^^^^^^^^^^^^^
55+
| ^^^^^^^^
5656

5757
error: aborting due to 9 previous errors
5858

src/test/rustdoc-ui/doc-alias-crate-level.stderr

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
error: '\'' character isn't allowed in `#[doc(alias = "...")]`
2-
--> $DIR/doc-alias-crate-level.rs:5:7
2+
--> $DIR/doc-alias-crate-level.rs:5:15
33
|
44
LL | #[doc(alias = "shouldn't work!")]
5-
| ^^^^^^^^^^^^^^^^^^^^^^^^^
5+
| ^^^^^^^^^^^^^^^^^
66

77
error: `#![doc(alias = "...")]` isn't allowed as a crate level attribute
88
--> $DIR/doc-alias-crate-level.rs:3:8

src/test/ui/check-doc-alias-attr.stderr

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,42 +17,42 @@ LL | #[doc(alias("bar"))]
1717
| ^^^^^^^^^^^^
1818

1919
error: '\"' character isn't allowed in `#[doc(alias = "...")]`
20-
--> $DIR/check-doc-alias-attr.rs:10:7
20+
--> $DIR/check-doc-alias-attr.rs:10:15
2121
|
2222
LL | #[doc(alias = "\"")]
23-
| ^^^^^^^^^^^^
23+
| ^^^^
2424

2525
error: '\n' character isn't allowed in `#[doc(alias = "...")]`
26-
--> $DIR/check-doc-alias-attr.rs:11:7
26+
--> $DIR/check-doc-alias-attr.rs:11:15
2727
|
2828
LL | #[doc(alias = "\n")]
29-
| ^^^^^^^^^^^^
29+
| ^^^^
3030

3131
error: '\n' character isn't allowed in `#[doc(alias = "...")]`
32-
--> $DIR/check-doc-alias-attr.rs:12:7
32+
--> $DIR/check-doc-alias-attr.rs:12:15
3333
|
3434
LL | #[doc(alias = "
35-
| _______^
35+
| _______________^
3636
LL | | ")]
3737
| |_^
3838

3939
error: '\t' character isn't allowed in `#[doc(alias = "...")]`
40-
--> $DIR/check-doc-alias-attr.rs:14:7
40+
--> $DIR/check-doc-alias-attr.rs:14:15
4141
|
4242
LL | #[doc(alias = "\t")]
43-
| ^^^^^^^^^^^^
43+
| ^^^^
4444

4545
error: `#[doc(alias = "...")]` cannot start or end with ' '
46-
--> $DIR/check-doc-alias-attr.rs:15:7
46+
--> $DIR/check-doc-alias-attr.rs:15:15
4747
|
4848
LL | #[doc(alias = " hello")]
49-
| ^^^^^^^^^^^^^^^^
49+
| ^^^^^^^^
5050

5151
error: `#[doc(alias = "...")]` cannot start or end with ' '
52-
--> $DIR/check-doc-alias-attr.rs:16:7
52+
--> $DIR/check-doc-alias-attr.rs:16:15
5353
|
5454
LL | #[doc(alias = "hello ")]
55-
| ^^^^^^^^^^^^^^^^
55+
| ^^^^^^^^
5656

5757
error: aborting due to 9 previous errors
5858

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
error: '\'' character isn't allowed in `#[doc(alias = "...")]`
2-
--> $DIR/doc-alias-crate-level.rs:7:8
2+
--> $DIR/doc-alias-crate-level.rs:7:16
33
|
44
LL | #![doc(alias = "shouldn't work!")]
5-
| ^^^^^^^^^^^^^^^^^^^^^^^^^
5+
| ^^^^^^^^^^^^^^^^^
66

77
error: aborting due to previous error
88

0 commit comments

Comments
 (0)