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 } ;
@@ -3170,15 +3171,19 @@ const ALLOWED_ATTRIBUTES: &[Symbol] = &[
3170
3171
// bar: usize,
3171
3172
// }
3172
3173
fn render_attributes ( w : & mut Buffer , it : & clean:: Item , top : bool ) {
3173
- let mut attrs = String :: new ( ) ;
3174
-
3175
- for attr in & it. attrs . other_attrs {
3176
- if !ALLOWED_ATTRIBUTES . contains ( & attr. name_or_empty ( ) ) {
3177
- continue ;
3178
- }
3174
+ let attrs = it
3175
+ . attrs
3176
+ . other_attrs
3177
+ . iter ( )
3178
+ . filter_map ( |attr| {
3179
+ if ALLOWED_ATTRIBUTES . contains ( & attr. name_or_empty ( ) ) {
3180
+ Some ( pprust:: attribute_to_string ( & attr) )
3181
+ } else {
3182
+ None
3183
+ }
3184
+ } )
3185
+ . join ( "\n " ) ;
3179
3186
3180
- attrs. push_str ( & pprust:: attribute_to_string ( & attr) ) ;
3181
- }
3182
3187
if !attrs. is_empty ( ) {
3183
3188
write ! (
3184
3189
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