@@ -415,7 +415,7 @@ pub(super) fn definition(
415
415
let mod_path = definition_mod_path ( db, & def) ;
416
416
let ( label, docs) = match def {
417
417
Definition :: Macro ( it) => label_and_docs ( db, it) ,
418
- Definition :: Field ( it) => label_and_layout_info_and_docs ( db, it, |& it| {
418
+ Definition :: Field ( it) => label_and_layout_info_and_docs ( db, it, config , |& it| {
419
419
let var_def = it. parent_def ( db) ;
420
420
let id = it. index ( ) ;
421
421
let layout = it. layout ( db) . ok ( ) ?;
@@ -435,7 +435,7 @@ pub(super) fn definition(
435
435
} ) ,
436
436
Definition :: Module ( it) => label_and_docs ( db, it) ,
437
437
Definition :: Function ( it) => label_and_docs ( db, it) ,
438
- Definition :: Adt ( it) => label_and_layout_info_and_docs ( db, it, |& it| {
438
+ Definition :: Adt ( it) => label_and_layout_info_and_docs ( db, it, config , |& it| {
439
439
let layout = it. layout ( db) . ok ( ) ?;
440
440
Some ( format ! ( "size = {}, align = {}" , layout. size. bytes( ) , layout. align. abi. bytes( ) ) )
441
441
} ) ,
@@ -473,7 +473,7 @@ pub(super) fn definition(
473
473
} ) ,
474
474
Definition :: Trait ( it) => label_and_docs ( db, it) ,
475
475
Definition :: TraitAlias ( it) => label_and_docs ( db, it) ,
476
- Definition :: TypeAlias ( it) => label_and_layout_info_and_docs ( db, it, |& it| {
476
+ Definition :: TypeAlias ( it) => label_and_layout_info_and_docs ( db, it, config , |& it| {
477
477
let layout = it. ty ( db) . layout ( db) . ok ( ) ?;
478
478
Some ( format ! ( "size = {}, align = {}" , layout. size. bytes( ) , layout. align. abi. bytes( ) ) )
479
479
} ) ,
@@ -577,17 +577,17 @@ where
577
577
fn label_and_layout_info_and_docs < D , E , V > (
578
578
db : & RootDatabase ,
579
579
def : D ,
580
+ config : & HoverConfig ,
580
581
value_extractor : E ,
581
582
) -> ( String , Option < hir:: Documentation > )
582
583
where
583
584
D : HasAttrs + HirDisplay ,
584
585
E : Fn ( & D ) -> Option < V > ,
585
586
V : Display ,
586
587
{
587
- let label = if let Some ( value) = value_extractor ( & def) {
588
- format ! ( "{} // {value}" , def. display( db) )
589
- } else {
590
- def. display ( db) . to_string ( )
588
+ let label = match value_extractor ( & def) {
589
+ Some ( value) if config. memory_layout => format ! ( "{} // {value}" , def. display( db) ) ,
590
+ _ => def. display ( db) . to_string ( ) ,
591
591
} ;
592
592
let docs = def. attrs ( db) . docs ( ) ;
593
593
( label, docs)
0 commit comments