File tree 2 files changed +15
-10
lines changed
2 files changed +15
-10
lines changed Original file line number Diff line number Diff line change @@ -42,6 +42,7 @@ use std::str;
42
42
use std:: string:: ToString ;
43
43
use std:: sync:: Arc ;
44
44
45
+ use itertools:: Itertools ;
45
46
use rustc_ast_pretty:: pprust;
46
47
use rustc_data_structures:: flock;
47
48
use rustc_data_structures:: fx:: { FxHashMap , FxHashSet } ;
@@ -3206,15 +3207,19 @@ const ALLOWED_ATTRIBUTES: &[Symbol] = &[
3206
3207
// bar: usize,
3207
3208
// }
3208
3209
fn render_attributes ( w : & mut Buffer , it : & clean:: Item , top : bool ) {
3209
- let mut attrs = String :: new ( ) ;
3210
-
3211
- for attr in & it. attrs . other_attrs {
3212
- if !ALLOWED_ATTRIBUTES . contains ( & attr. name_or_empty ( ) ) {
3213
- continue ;
3214
- }
3210
+ let attrs = it
3211
+ . attrs
3212
+ . other_attrs
3213
+ . iter ( )
3214
+ . filter_map ( |attr| {
3215
+ if ALLOWED_ATTRIBUTES . contains ( & attr. name_or_empty ( ) ) {
3216
+ Some ( pprust:: attribute_to_string ( & attr) )
3217
+ } else {
3218
+ None
3219
+ }
3220
+ } )
3221
+ . join ( "\n " ) ;
3215
3222
3216
- attrs. push_str ( & pprust:: attribute_to_string ( & attr) ) ;
3217
- }
3218
3223
if !attrs. is_empty ( ) {
3219
3224
write ! (
3220
3225
w,
Original file line number Diff line number Diff line change @@ -8,8 +8,8 @@ pub extern "C" fn f() {}
8
8
#[ export_name = "bar" ]
9
9
pub extern "C" fn g ( ) { }
10
10
11
- // @has foo/enum.Foo.html '//*[@class="docblock attributes top-attr"]' '#[repr(i64)]'
12
- // @has foo/enum.Foo.html '//*[@class="docblock attributes top-attr"]' '#[ must_use] '
11
+ // @matches foo/enum.Foo.html '//*[@class="docblock attributes top-attr"]' \
12
+ // '(?m)\A#\[repr\(i64\)\]\n#\[ must_use\]\Z '
13
13
#[ repr( i64 ) ]
14
14
#[ must_use]
15
15
pub enum Foo {
You can’t perform that action at this time.
0 commit comments