@@ -289,11 +289,8 @@ pub fn fields(
289289 let name_sc = Ident :: new ( & name. to_sanitized_snake_case ( ) , span) ;
290290 let name_pc = name. to_sanitized_upper_case ( ) ;
291291 let bits = Ident :: new ( if width == 1 { "bit" } else { "bits" } , span) ;
292- let description = if let Some ( d) = & f. description {
293- util:: respace ( & util:: escape_brackets ( d) )
294- } else {
295- "" . to_owned ( )
296- } ;
292+ let description_raw = f. description . as_ref ( ) . map ( |s| s. as_str ( ) ) . unwrap_or ( "" ) ; // raw description, if absent using empty string
293+ let description = util:: respace ( & util:: escape_brackets ( description_raw) ) ;
297294
298295 let can_read = can_read
299296 && ( f. access != Some ( Access :: WriteOnly ) )
@@ -427,7 +424,7 @@ pub fn fields(
427424 Span :: call_site ( ) ,
428425 ) ;
429426 let doc = util:: replace_suffix (
430- & description_with_bits ( & description , sub_offset, width) ,
427+ & description_with_bits ( & description_raw , sub_offset, width) ,
431428 suffix,
432429 ) ;
433430 r_impl_items. extend ( quote ! {
@@ -439,7 +436,7 @@ pub fn fields(
439436 } ) ;
440437 }
441438 } else {
442- let doc = description_with_bits ( & description , offset, width) ;
439+ let doc = description_with_bits ( & description_raw , offset, width) ;
443440 r_impl_items. extend ( quote ! {
444441 #[ doc = #doc]
445442 #inline
@@ -792,7 +789,7 @@ pub fn fields(
792789 Span :: call_site ( ) ,
793790 ) ;
794791 let doc = util:: replace_suffix (
795- & description_with_bits ( & description , sub_offset, width) ,
792+ & description_with_bits ( & description_raw , sub_offset, width) ,
796793 suffix,
797794 ) ;
798795 let sub_offset = util:: unsuffixed ( sub_offset as u64 ) ;
@@ -815,7 +812,7 @@ pub fn fields(
815812 }
816813 }
817814 } else {
818- let doc = description_with_bits ( & description , offset, width) ;
815+ let doc = description_with_bits ( & description_raw , offset, width) ;
819816 w_impl_items. extend ( quote ! {
820817 #[ doc = #doc]
821818 #inline
@@ -935,7 +932,7 @@ fn add_from_variants(
935932
936933 let mut vars = TokenStream :: new ( ) ;
937934 for v in variants. iter ( ) . map ( |v| {
938- let desc = util:: escape_brackets ( & format ! ( "{}: {}" , v. value, v. doc) ) ;
935+ let desc = util:: escape_brackets ( & util :: respace ( & format ! ( "{}: {}" , v. value, v. doc) ) ) ;
939936 let pcv = & v. pc ;
940937 let pcval = & util:: unsuffixed ( v. value ) ;
941938 quote ! {
0 commit comments