@@ -323,14 +323,12 @@ fn make_count<'hir>(
323
323
/// Generates
324
324
///
325
325
/// ```text
326
- /// <core::fmt::rt::Placeholder::new(
327
- /// …usize, // position
328
- /// '…', // fill
329
- /// <core::fmt::rt::Alignment>::…, // alignment
330
- /// …u32, // flags
331
- /// <core::fmt::rt::Count::…>, // width
332
- /// <core::fmt::rt::Count::…>, // precision
333
- /// )
326
+ /// <core::fmt::rt::Placeholder {
327
+ /// position: …usize,
328
+ /// flags: …u32,
329
+ /// precision: <core::fmt::rt::Count::…>,
330
+ /// width: <core::fmt::rt::Count::…>,
331
+ /// }
334
332
/// ```
335
333
fn make_format_spec < ' hir > (
336
334
ctx : & mut LoweringContext < ' _ , ' hir > ,
@@ -384,13 +382,13 @@ fn make_format_spec<'hir>(
384
382
let flags = ctx. expr_u32 ( sp, flags) ;
385
383
let precision = make_count ( ctx, sp, precision, argmap) ;
386
384
let width = make_count ( ctx, sp, width, argmap) ;
387
- let format_placeholder_new = ctx. arena . alloc ( ctx . expr_lang_item_type_relative (
388
- sp,
389
- hir :: LangItem :: FormatPlaceholder ,
390
- sym :: new,
391
- ) ) ;
392
- let args = ctx. arena . alloc_from_iter ( [ position, flags, precision, width] ) ;
393
- ctx. expr_call_mut ( sp, format_placeholder_new , args )
385
+ let position = ctx. expr_field ( Ident :: new ( sym :: position , sp ) , ctx . arena . alloc ( position ) , sp ) ;
386
+ let flags = ctx . expr_field ( Ident :: new ( sym :: flags , sp) , ctx . arena . alloc ( flags ) , sp ) ;
387
+ let precision = ctx . expr_field ( Ident :: new ( sym :: precision , sp ) , ctx . arena . alloc ( precision ) , sp ) ;
388
+ let width = ctx . expr_field ( Ident :: new ( sym :: width , sp ) , ctx . arena . alloc ( width ) , sp ) ;
389
+ let placeholder = ctx . arena . alloc ( hir :: QPath :: LangItem ( hir :: LangItem :: FormatPlaceholder , sp ) ) ;
390
+ let fields = ctx. arena . alloc_from_iter ( [ position, flags, precision, width] ) ;
391
+ ctx. expr ( sp, hir :: ExprKind :: Struct ( placeholder , fields , hir :: StructTailExpr :: None ) )
394
392
}
395
393
396
394
fn expand_format_args < ' hir > (
0 commit comments