@@ -345,27 +345,27 @@ fn apply_builtin<'cx>(
345
345
( Builtin :: OptionalNone , [ t] ) => {
346
346
Ret :: NirKind ( EmptyOptionalLit ( t. clone ( ) ) )
347
347
}
348
- ( Builtin :: NaturalIsZero , [ n] ) => match & * n. kind ( ) {
348
+ ( Builtin :: NaturalIsZero , [ n] ) => match n. kind ( ) {
349
349
Num ( Natural ( n) ) => Ret :: NirKind ( Num ( Bool ( * n == 0 ) ) ) ,
350
350
_ => Ret :: DoneAsIs ,
351
351
} ,
352
- ( Builtin :: NaturalEven , [ n] ) => match & * n. kind ( ) {
352
+ ( Builtin :: NaturalEven , [ n] ) => match n. kind ( ) {
353
353
Num ( Natural ( n) ) => Ret :: NirKind ( Num ( Bool ( * n % 2 == 0 ) ) ) ,
354
354
_ => Ret :: DoneAsIs ,
355
355
} ,
356
- ( Builtin :: NaturalOdd , [ n] ) => match & * n. kind ( ) {
356
+ ( Builtin :: NaturalOdd , [ n] ) => match n. kind ( ) {
357
357
Num ( Natural ( n) ) => Ret :: NirKind ( Num ( Bool ( * n % 2 != 0 ) ) ) ,
358
358
_ => Ret :: DoneAsIs ,
359
359
} ,
360
- ( Builtin :: NaturalToInteger , [ n] ) => match & * n. kind ( ) {
360
+ ( Builtin :: NaturalToInteger , [ n] ) => match n. kind ( ) {
361
361
Num ( Natural ( n) ) => Ret :: NirKind ( Num ( Integer ( * n as i64 ) ) ) ,
362
362
_ => Ret :: DoneAsIs ,
363
363
} ,
364
- ( Builtin :: NaturalShow , [ n] ) => match & * n. kind ( ) {
364
+ ( Builtin :: NaturalShow , [ n] ) => match n. kind ( ) {
365
365
Num ( Natural ( n) ) => Ret :: Nir ( Nir :: from_text ( n) ) ,
366
366
_ => Ret :: DoneAsIs ,
367
367
} ,
368
- ( Builtin :: NaturalSubtract , [ a, b] ) => match ( & * a. kind ( ) , & * b. kind ( ) ) {
368
+ ( Builtin :: NaturalSubtract , [ a, b] ) => match ( a. kind ( ) , b. kind ( ) ) {
369
369
( Num ( Natural ( a) ) , Num ( Natural ( b) ) ) => {
370
370
Ret :: NirKind ( Num ( Natural ( if b > a { b - a } else { 0 } ) ) )
371
371
}
@@ -374,38 +374,38 @@ fn apply_builtin<'cx>(
374
374
_ if a == b => Ret :: NirKind ( Num ( Natural ( 0 ) ) ) ,
375
375
_ => Ret :: DoneAsIs ,
376
376
} ,
377
- ( Builtin :: IntegerShow , [ n] ) => match & * n. kind ( ) {
377
+ ( Builtin :: IntegerShow , [ n] ) => match n. kind ( ) {
378
378
Num ( Integer ( n) ) => {
379
379
let s = if * n < 0 {
380
380
n. to_string ( )
381
381
} else {
382
- format ! ( "+{}" , n )
382
+ format ! ( "+{n}" )
383
383
} ;
384
384
Ret :: Nir ( Nir :: from_text ( s) )
385
385
}
386
386
_ => Ret :: DoneAsIs ,
387
387
} ,
388
- ( Builtin :: IntegerToDouble , [ n] ) => match & * n. kind ( ) {
388
+ ( Builtin :: IntegerToDouble , [ n] ) => match n. kind ( ) {
389
389
Num ( Integer ( n) ) => {
390
390
Ret :: NirKind ( Num ( Double ( NaiveDouble :: from ( * n as f64 ) ) ) )
391
391
}
392
392
_ => Ret :: DoneAsIs ,
393
393
} ,
394
- ( Builtin :: IntegerNegate , [ n] ) => match & * n. kind ( ) {
394
+ ( Builtin :: IntegerNegate , [ n] ) => match n. kind ( ) {
395
395
Num ( Integer ( n) ) => Ret :: NirKind ( Num ( Integer ( -n) ) ) ,
396
396
_ => Ret :: DoneAsIs ,
397
397
} ,
398
- ( Builtin :: IntegerClamp , [ n] ) => match & * n. kind ( ) {
398
+ ( Builtin :: IntegerClamp , [ n] ) => match n. kind ( ) {
399
399
Num ( Integer ( n) ) => {
400
400
Ret :: NirKind ( Num ( Natural ( ( * n) . try_into ( ) . unwrap_or ( 0 ) ) ) )
401
401
}
402
402
_ => Ret :: DoneAsIs ,
403
403
} ,
404
- ( Builtin :: DoubleShow , [ n] ) => match & * n. kind ( ) {
404
+ ( Builtin :: DoubleShow , [ n] ) => match n. kind ( ) {
405
405
Num ( Double ( n) ) => Ret :: Nir ( Nir :: from_text ( n) ) ,
406
406
_ => Ret :: DoneAsIs ,
407
407
} ,
408
- ( Builtin :: TextShow , [ v] ) => match & * v. kind ( ) {
408
+ ( Builtin :: TextShow , [ v] ) => match v. kind ( ) {
409
409
TextLit ( tlit) => {
410
410
if let Some ( s) = tlit. as_text ( ) {
411
411
// Printing InterpolatedText takes care of all the escaping
@@ -422,7 +422,7 @@ fn apply_builtin<'cx>(
422
422
( Builtin :: TextReplace , [ needle, replacement, haystack] ) => {
423
423
// Helper to match a Nir as a text literal
424
424
fn nir_to_string ( n : & Nir ) -> Option < String > {
425
- match & * n. kind ( ) {
425
+ match n. kind ( ) {
426
426
TextLit ( n_lit) => n_lit. as_text ( ) ,
427
427
_ => None ,
428
428
}
@@ -464,26 +464,26 @@ fn apply_builtin<'cx>(
464
464
_ => Ret :: DoneAsIs ,
465
465
}
466
466
}
467
- ( Builtin :: ListLength , [ _, l] ) => match & * l. kind ( ) {
467
+ ( Builtin :: ListLength , [ _, l] ) => match l. kind ( ) {
468
468
EmptyListLit ( _) => Ret :: NirKind ( Num ( Natural ( 0 ) ) ) ,
469
469
NEListLit ( xs) => Ret :: NirKind ( Num ( Natural ( xs. len ( ) as u64 ) ) ) ,
470
470
_ => Ret :: DoneAsIs ,
471
471
} ,
472
- ( Builtin :: ListHead , [ _, l] ) => match & * l. kind ( ) {
472
+ ( Builtin :: ListHead , [ _, l] ) => match l. kind ( ) {
473
473
EmptyListLit ( n) => Ret :: NirKind ( EmptyOptionalLit ( n. clone ( ) ) ) ,
474
474
NEListLit ( xs) => {
475
475
Ret :: NirKind ( NEOptionalLit ( xs. iter ( ) . next ( ) . unwrap ( ) . clone ( ) ) )
476
476
}
477
477
_ => Ret :: DoneAsIs ,
478
478
} ,
479
- ( Builtin :: ListLast , [ _, l] ) => match & * l. kind ( ) {
479
+ ( Builtin :: ListLast , [ _, l] ) => match l. kind ( ) {
480
480
EmptyListLit ( n) => Ret :: NirKind ( EmptyOptionalLit ( n. clone ( ) ) ) ,
481
481
NEListLit ( xs) => Ret :: NirKind ( NEOptionalLit (
482
- xs. iter ( ) . rev ( ) . next ( ) . unwrap ( ) . clone ( ) ,
482
+ xs. iter ( ) . next_back ( ) . unwrap ( ) . clone ( ) ,
483
483
) ) ,
484
484
_ => Ret :: DoneAsIs ,
485
485
} ,
486
- ( Builtin :: ListReverse , [ _, l] ) => match & * l. kind ( ) {
486
+ ( Builtin :: ListReverse , [ _, l] ) => match l. kind ( ) {
487
487
EmptyListLit ( n) => Ret :: NirKind ( EmptyListLit ( n. clone ( ) ) ) ,
488
488
NEListLit ( xs) => {
489
489
Ret :: NirKind ( NEListLit ( xs. iter ( ) . rev ( ) . cloned ( ) . collect ( ) ) )
@@ -542,7 +542,7 @@ fn apply_builtin<'cx>(
542
542
. app ( EmptyListLit ( t. clone ( ) ) . into_nir ( ) ) ,
543
543
)
544
544
}
545
- ( Builtin :: ListFold , [ _, l, _, cons, nil] ) => match & * l. kind ( ) {
545
+ ( Builtin :: ListFold , [ _, l, _, cons, nil] ) => match l. kind ( ) {
546
546
EmptyListLit ( _) => Ret :: Nir ( nil. clone ( ) ) ,
547
547
NEListLit ( xs) => {
548
548
let mut v = nil. clone ( ) ;
@@ -562,7 +562,7 @@ fn apply_builtin<'cx>(
562
562
. app ( Num ( Natural ( 0 ) ) . into_nir ( ) ) ,
563
563
) ,
564
564
565
- ( Builtin :: NaturalFold , [ n, t, succ, zero] ) => match & * n. kind ( ) {
565
+ ( Builtin :: NaturalFold , [ n, t, succ, zero] ) => match n. kind ( ) {
566
566
Num ( Natural ( 0 ) ) => Ret :: Nir ( zero. clone ( ) ) ,
567
567
Num ( Natural ( n) ) => {
568
568
let fold = Nir :: from_builtin ( cx, Builtin :: NaturalFold )
0 commit comments