@@ -32,6 +32,7 @@ use crate::{
32
32
VariantId ,
33
33
} ;
34
34
35
+ /// Desugared attributes of an item post `cfg_attr` expansion.
35
36
#[ derive( Default , Debug , Clone , PartialEq , Eq ) ]
36
37
pub struct Attrs ( RawAttrs ) ;
37
38
@@ -228,7 +229,6 @@ pub enum DocAtom {
228
229
KeyValue { key : SmolStr , value : SmolStr } ,
229
230
}
230
231
231
- // Adapted from `CfgExpr` parsing code
232
232
#[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
233
233
pub enum DocExpr {
234
234
Invalid ,
@@ -448,10 +448,7 @@ impl AttrsWithOwner {
448
448
let map = db. fields_attrs_source_map ( id. parent ) ;
449
449
let file_id = id. parent . file_id ( db) ;
450
450
let root = db. parse_or_expand ( file_id) ;
451
- let owner = match & map[ id. local_id ] {
452
- Either :: Left ( it) => ast:: AnyHasAttrs :: new ( it. to_node ( & root) ) ,
453
- Either :: Right ( it) => ast:: AnyHasAttrs :: new ( it. to_node ( & root) ) ,
454
- } ;
451
+ let owner = ast:: AnyHasAttrs :: new ( map[ id. local_id ] . to_node ( & root) ) ;
455
452
InFile :: new ( file_id, owner)
456
453
}
457
454
AttrDefId :: AdtId ( adt) => match adt {
@@ -634,7 +631,7 @@ fn attrs_from_item_tree_assoc<'db, N: ItemTreeModItemNode>(
634
631
pub ( crate ) fn fields_attrs_source_map (
635
632
db : & dyn DefDatabase ,
636
633
def : VariantId ,
637
- ) -> Arc < ArenaMap < LocalFieldId , Either < AstPtr < ast:: TupleField > , AstPtr < ast:: RecordField > > > > {
634
+ ) -> Arc < ArenaMap < LocalFieldId , AstPtr < Either < ast:: TupleField , ast:: RecordField > > > > {
638
635
let mut res = ArenaMap :: default ( ) ;
639
636
let child_source = def. child_source ( db) ;
640
637
@@ -643,7 +640,7 @@ pub(crate) fn fields_attrs_source_map(
643
640
idx,
644
641
variant
645
642
. as_ref ( )
646
- . either ( |l| Either :: Left ( AstPtr :: new ( l) ) , |r| Either :: Right ( AstPtr :: new ( r) ) ) ,
643
+ . either ( |l| AstPtr :: new ( l) . wrap_left ( ) , |r| AstPtr :: new ( r) . wrap_right ( ) ) ,
647
644
) ;
648
645
}
649
646
0 commit comments