@@ -307,10 +307,8 @@ impl<'arena, 'env, 'data> Context<'arena, 'env, 'data> {
307307 reader : & mut BufferReader < ' data > ,
308308 format : & ArcValue < ' arena > ,
309309 ) -> Result < ArcValue < ' arena > , ReadError < ' arena > > {
310- let Spanned {
311- span : format_span,
312- inner : val,
313- } = self . elim_context ( ) . force ( format) ;
310+ let val = self . elim_context ( ) . force ( format) ;
311+ let format_span = val. span ( ) ;
314312 match val. as_ref ( ) {
315313 Value :: Stuck ( Head :: Prim ( prim) , slice) => {
316314 self . read_prim ( reader, * prim, slice, format_span)
@@ -327,19 +325,16 @@ impl<'arena, 'env, 'data> Context<'arena, 'env, 'data> {
327325 formats = next_formats ( expr) ;
328326 }
329327
330- Ok ( Spanned {
331- span : format_span,
332- inner : Arc :: new ( Value :: RecordLit ( labels, exprs) ) ,
333- } )
328+ Ok ( Spanned :: new (
329+ format_span,
330+ Arc :: new ( Value :: RecordLit ( labels, exprs) ) ,
331+ ) )
334332 }
335333 Value :: FormatCond ( _label, format, cond) => {
336334 let value = self . read_format ( reader, & format) ?;
337- let Spanned {
338- span : _,
339- inner : cond_res,
340- } = self . elim_context ( ) . apply_closure ( cond, value. clone ( ) ) ;
335+ let cond_res = self . elim_context ( ) . apply_closure ( cond, value. clone ( ) ) ;
341336
342- match * cond_res {
337+ match cond_res. as_ref ( ) {
343338 Value :: ConstLit ( Const :: Bool ( true ) ) => Ok ( value) ,
344339 Value :: ConstLit ( Const :: Bool ( false ) ) => {
345340 Err ( ReadError :: CondFailure ( cond. span ( ) , value) )
@@ -373,10 +368,10 @@ impl<'arena, 'env, 'data> Context<'arena, 'env, 'data> {
373368 // reached in loop above.
374369 reader. set_relative_offset ( max_relative_offset) . unwrap ( ) ;
375370
376- Ok ( Spanned {
377- span : format_span,
378- inner : Arc :: new ( Value :: RecordLit ( labels, exprs) ) ,
379- } )
371+ Ok ( Spanned :: new (
372+ format_span,
373+ Arc :: new ( Value :: RecordLit ( labels, exprs) ) ,
374+ ) )
380375 }
381376
382377 Value :: Stuck ( Head :: RigidVar ( _) , _)
@@ -462,10 +457,7 @@ impl<'arena, 'env, 'data> Context<'arena, 'env, 'data> {
462457 . map ( |_| self . read_format ( reader, elem_format) )
463458 . collect :: < Result < _ , _ > > ( ) ?;
464459
465- Ok ( Spanned {
466- span,
467- inner : Arc :: new ( Value :: ArrayLit ( elem_exprs) ) ,
468- } )
460+ Ok ( Spanned :: new ( span, Arc :: new ( Value :: ArrayLit ( elem_exprs) ) ) )
469461 }
470462
471463 fn read_repeat_until_end (
@@ -486,10 +478,10 @@ impl<'arena, 'env, 'data> Context<'arena, 'env, 'data> {
486478 // unwrap shouldn't panic as we're rewinding to a known good offset
487479 // Should this be set to the end of the current buffer?
488480 reader. set_relative_offset ( current_offset) . unwrap ( ) ;
489- return Ok ( Spanned {
490- span : elem_format. span ( ) ,
491- inner : Arc :: new ( Value :: ArrayLit ( elems) ) ,
492- } ) ;
481+ return Ok ( Spanned :: new (
482+ elem_format. span ( ) ,
483+ Arc :: new ( Value :: ArrayLit ( elems) ) ,
484+ ) ) ;
493485 }
494486 Err ( err) => return Err ( err) ,
495487 } ;
@@ -533,10 +525,10 @@ impl<'arena, 'env, 'data> Context<'arena, 'env, 'data> {
533525
534526 self . pending_formats . push ( ( pos, elem_format. clone ( ) ) ) ;
535527
536- Ok ( Spanned {
528+ Ok ( Spanned :: new (
537529 span,
538- inner : Arc :: new ( Value :: ConstLit ( Const :: Ref ( pos) ) ) ,
539- } )
530+ Arc :: new ( Value :: ConstLit ( Const :: Ref ( pos) ) ) ,
531+ ) )
540532 }
541533
542534 fn read_deref (
@@ -605,12 +597,12 @@ fn read_stream_pos<'arena, 'data>(
605597 reader : & mut BufferReader < ' data > ,
606598 span : Span ,
607599) -> Result < ArcValue < ' arena > , ReadError < ' arena > > {
608- Ok ( Spanned {
600+ Ok ( Spanned :: new (
609601 span,
610- inner : Arc :: new ( Value :: ConstLit ( Const :: Pos (
602+ Arc :: new ( Value :: ConstLit ( Const :: Pos (
611603 reader. offset ( ) . map_err ( |err| err. with_span ( span) ) ?,
612604 ) ) ) ,
613- } )
605+ ) )
614606}
615607
616608fn read_const < ' arena , ' data , T > (
@@ -620,10 +612,10 @@ fn read_const<'arena, 'data, T>(
620612 wrap_const : fn ( T ) -> Const ,
621613) -> Result < ArcValue < ' arena > , ReadError < ' arena > > {
622614 let data = read ( reader) . map_err ( |err| err. with_span ( span) ) ?;
623- Ok ( Spanned {
615+ Ok ( Spanned :: new (
624616 span,
625- inner : Arc :: new ( Value :: ConstLit ( wrap_const ( data) ) ) ,
626- } )
617+ Arc :: new ( Value :: ConstLit ( wrap_const ( data) ) ) ,
618+ ) )
627619}
628620
629621fn read_u8 < ' data > ( reader : & mut BufferReader < ' data > ) -> Result < u8 , BufferError > {
0 commit comments