@@ -422,8 +422,8 @@ fn test_decode_u16() {
422
422
found : IntegerType :: U128 ,
423
423
} ,
424
424
) ,
425
- ( & [ U16_BYTE ] , DecodeError :: UnexpectedEnd ) ,
426
- ( & [ U16_BYTE , 0 ] , DecodeError :: UnexpectedEnd ) ,
425
+ ( & [ U16_BYTE ] , DecodeError :: UnexpectedEnd { additional : 2 } ) ,
426
+ ( & [ U16_BYTE , 0 ] , DecodeError :: UnexpectedEnd { additional : 1 } ) ,
427
427
] ;
428
428
429
429
for ( slice, expected) in errors {
@@ -466,12 +466,18 @@ fn test_decode_u32() {
466
466
found : IntegerType :: U128 ,
467
467
} ,
468
468
) ,
469
- ( & [ U16_BYTE ] , DecodeError :: UnexpectedEnd ) ,
470
- ( & [ U16_BYTE , 0 ] , DecodeError :: UnexpectedEnd ) ,
471
- ( & [ U32_BYTE ] , DecodeError :: UnexpectedEnd ) ,
472
- ( & [ U32_BYTE , 0 ] , DecodeError :: UnexpectedEnd ) ,
473
- ( & [ U32_BYTE , 0 , 0 ] , DecodeError :: UnexpectedEnd ) ,
474
- ( & [ U32_BYTE , 0 , 0 , 0 ] , DecodeError :: UnexpectedEnd ) ,
469
+ ( & [ U16_BYTE ] , DecodeError :: UnexpectedEnd { additional : 2 } ) ,
470
+ ( & [ U16_BYTE , 0 ] , DecodeError :: UnexpectedEnd { additional : 1 } ) ,
471
+ ( & [ U32_BYTE ] , DecodeError :: UnexpectedEnd { additional : 4 } ) ,
472
+ ( & [ U32_BYTE , 0 ] , DecodeError :: UnexpectedEnd { additional : 3 } ) ,
473
+ (
474
+ & [ U32_BYTE , 0 , 0 ] ,
475
+ DecodeError :: UnexpectedEnd { additional : 2 } ,
476
+ ) ,
477
+ (
478
+ & [ U32_BYTE , 0 , 0 , 0 ] ,
479
+ DecodeError :: UnexpectedEnd { additional : 1 } ,
480
+ ) ,
475
481
] ;
476
482
477
483
for ( slice, expected) in errors {
@@ -512,20 +518,44 @@ fn test_decode_u64() {
512
518
found : IntegerType :: U128 ,
513
519
} ,
514
520
) ,
515
- ( & [ U16_BYTE ] , DecodeError :: UnexpectedEnd ) ,
516
- ( & [ U16_BYTE , 0 ] , DecodeError :: UnexpectedEnd ) ,
517
- ( & [ U32_BYTE ] , DecodeError :: UnexpectedEnd ) ,
518
- ( & [ U32_BYTE , 0 ] , DecodeError :: UnexpectedEnd ) ,
519
- ( & [ U32_BYTE , 0 , 0 ] , DecodeError :: UnexpectedEnd ) ,
520
- ( & [ U32_BYTE , 0 , 0 , 0 ] , DecodeError :: UnexpectedEnd ) ,
521
- ( & [ U64_BYTE ] , DecodeError :: UnexpectedEnd ) ,
522
- ( & [ U64_BYTE , 0 ] , DecodeError :: UnexpectedEnd ) ,
523
- ( & [ U64_BYTE , 0 , 0 ] , DecodeError :: UnexpectedEnd ) ,
524
- ( & [ U64_BYTE , 0 , 0 , 0 ] , DecodeError :: UnexpectedEnd ) ,
525
- ( & [ U64_BYTE , 0 , 0 , 0 , 0 ] , DecodeError :: UnexpectedEnd ) ,
526
- ( & [ U64_BYTE , 0 , 0 , 0 , 0 , 0 ] , DecodeError :: UnexpectedEnd ) ,
527
- ( & [ U64_BYTE , 0 , 0 , 0 , 0 , 0 , 0 ] , DecodeError :: UnexpectedEnd ) ,
528
- ( & [ U64_BYTE , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] , DecodeError :: UnexpectedEnd ) ,
521
+ ( & [ U16_BYTE ] , DecodeError :: UnexpectedEnd { additional : 2 } ) ,
522
+ ( & [ U16_BYTE , 0 ] , DecodeError :: UnexpectedEnd { additional : 1 } ) ,
523
+ ( & [ U32_BYTE ] , DecodeError :: UnexpectedEnd { additional : 4 } ) ,
524
+ ( & [ U32_BYTE , 0 ] , DecodeError :: UnexpectedEnd { additional : 3 } ) ,
525
+ (
526
+ & [ U32_BYTE , 0 , 0 ] ,
527
+ DecodeError :: UnexpectedEnd { additional : 2 } ,
528
+ ) ,
529
+ (
530
+ & [ U32_BYTE , 0 , 0 , 0 ] ,
531
+ DecodeError :: UnexpectedEnd { additional : 1 } ,
532
+ ) ,
533
+ ( & [ U64_BYTE ] , DecodeError :: UnexpectedEnd { additional : 8 } ) ,
534
+ ( & [ U64_BYTE , 0 ] , DecodeError :: UnexpectedEnd { additional : 7 } ) ,
535
+ (
536
+ & [ U64_BYTE , 0 , 0 ] ,
537
+ DecodeError :: UnexpectedEnd { additional : 6 } ,
538
+ ) ,
539
+ (
540
+ & [ U64_BYTE , 0 , 0 , 0 ] ,
541
+ DecodeError :: UnexpectedEnd { additional : 5 } ,
542
+ ) ,
543
+ (
544
+ & [ U64_BYTE , 0 , 0 , 0 , 0 ] ,
545
+ DecodeError :: UnexpectedEnd { additional : 4 } ,
546
+ ) ,
547
+ (
548
+ & [ U64_BYTE , 0 , 0 , 0 , 0 , 0 ] ,
549
+ DecodeError :: UnexpectedEnd { additional : 3 } ,
550
+ ) ,
551
+ (
552
+ & [ U64_BYTE , 0 , 0 , 0 , 0 , 0 , 0 ] ,
553
+ DecodeError :: UnexpectedEnd { additional : 2 } ,
554
+ ) ,
555
+ (
556
+ & [ U64_BYTE , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
557
+ DecodeError :: UnexpectedEnd { additional : 1 } ,
558
+ ) ,
529
559
] ;
530
560
531
561
for ( slice, expected) in errors {
@@ -564,58 +594,104 @@ fn test_decode_u128() {
564
594
}
565
595
566
596
let errors: & [ ( & [ u8 ] , DecodeError ) ] = & [
567
- ( & [ U16_BYTE ] , DecodeError :: UnexpectedEnd ) ,
568
- ( & [ U16_BYTE , 0 ] , DecodeError :: UnexpectedEnd ) ,
569
- ( & [ U32_BYTE ] , DecodeError :: UnexpectedEnd ) ,
570
- ( & [ U32_BYTE , 0 ] , DecodeError :: UnexpectedEnd ) ,
571
- ( & [ U32_BYTE , 0 , 0 ] , DecodeError :: UnexpectedEnd ) ,
572
- ( & [ U32_BYTE , 0 , 0 , 0 ] , DecodeError :: UnexpectedEnd ) ,
573
- ( & [ U64_BYTE ] , DecodeError :: UnexpectedEnd ) ,
574
- ( & [ U64_BYTE , 0 ] , DecodeError :: UnexpectedEnd ) ,
575
- ( & [ U64_BYTE , 0 , 0 ] , DecodeError :: UnexpectedEnd ) ,
576
- ( & [ U64_BYTE , 0 , 0 , 0 ] , DecodeError :: UnexpectedEnd ) ,
577
- ( & [ U64_BYTE , 0 , 0 , 0 , 0 ] , DecodeError :: UnexpectedEnd ) ,
578
- ( & [ U64_BYTE , 0 , 0 , 0 , 0 , 0 ] , DecodeError :: UnexpectedEnd ) ,
579
- ( & [ U64_BYTE , 0 , 0 , 0 , 0 , 0 , 0 ] , DecodeError :: UnexpectedEnd ) ,
580
- ( & [ U64_BYTE , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] , DecodeError :: UnexpectedEnd ) ,
581
- ( & [ U128_BYTE ] , DecodeError :: UnexpectedEnd ) ,
582
- ( & [ U128_BYTE , 0 ] , DecodeError :: UnexpectedEnd ) ,
583
- ( & [ U128_BYTE , 0 , 0 ] , DecodeError :: UnexpectedEnd ) ,
584
- ( & [ U128_BYTE , 0 , 0 , 0 ] , DecodeError :: UnexpectedEnd ) ,
585
- ( & [ U128_BYTE , 0 , 0 , 0 , 0 ] , DecodeError :: UnexpectedEnd ) ,
586
- ( & [ U128_BYTE , 0 , 0 , 0 , 0 , 0 ] , DecodeError :: UnexpectedEnd ) ,
587
- ( & [ U128_BYTE , 0 , 0 , 0 , 0 , 0 , 0 ] , DecodeError :: UnexpectedEnd ) ,
597
+ ( & [ U16_BYTE ] , DecodeError :: UnexpectedEnd { additional : 2 } ) ,
598
+ ( & [ U16_BYTE , 0 ] , DecodeError :: UnexpectedEnd { additional : 1 } ) ,
599
+ ( & [ U32_BYTE ] , DecodeError :: UnexpectedEnd { additional : 4 } ) ,
600
+ ( & [ U32_BYTE , 0 ] , DecodeError :: UnexpectedEnd { additional : 3 } ) ,
601
+ (
602
+ & [ U32_BYTE , 0 , 0 ] ,
603
+ DecodeError :: UnexpectedEnd { additional : 2 } ,
604
+ ) ,
605
+ (
606
+ & [ U32_BYTE , 0 , 0 , 0 ] ,
607
+ DecodeError :: UnexpectedEnd { additional : 1 } ,
608
+ ) ,
609
+ ( & [ U64_BYTE ] , DecodeError :: UnexpectedEnd { additional : 8 } ) ,
610
+ ( & [ U64_BYTE , 0 ] , DecodeError :: UnexpectedEnd { additional : 7 } ) ,
611
+ (
612
+ & [ U64_BYTE , 0 , 0 ] ,
613
+ DecodeError :: UnexpectedEnd { additional : 6 } ,
614
+ ) ,
615
+ (
616
+ & [ U64_BYTE , 0 , 0 , 0 ] ,
617
+ DecodeError :: UnexpectedEnd { additional : 5 } ,
618
+ ) ,
619
+ (
620
+ & [ U64_BYTE , 0 , 0 , 0 , 0 ] ,
621
+ DecodeError :: UnexpectedEnd { additional : 4 } ,
622
+ ) ,
623
+ (
624
+ & [ U64_BYTE , 0 , 0 , 0 , 0 , 0 ] ,
625
+ DecodeError :: UnexpectedEnd { additional : 3 } ,
626
+ ) ,
627
+ (
628
+ & [ U64_BYTE , 0 , 0 , 0 , 0 , 0 , 0 ] ,
629
+ DecodeError :: UnexpectedEnd { additional : 2 } ,
630
+ ) ,
631
+ (
632
+ & [ U64_BYTE , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
633
+ DecodeError :: UnexpectedEnd { additional : 1 } ,
634
+ ) ,
635
+ ( & [ U128_BYTE ] , DecodeError :: UnexpectedEnd { additional : 16 } ) ,
636
+ (
637
+ & [ U128_BYTE , 0 ] ,
638
+ DecodeError :: UnexpectedEnd { additional : 15 } ,
639
+ ) ,
640
+ (
641
+ & [ U128_BYTE , 0 , 0 ] ,
642
+ DecodeError :: UnexpectedEnd { additional : 14 } ,
643
+ ) ,
644
+ (
645
+ & [ U128_BYTE , 0 , 0 , 0 ] ,
646
+ DecodeError :: UnexpectedEnd { additional : 13 } ,
647
+ ) ,
648
+ (
649
+ & [ U128_BYTE , 0 , 0 , 0 , 0 ] ,
650
+ DecodeError :: UnexpectedEnd { additional : 12 } ,
651
+ ) ,
652
+ (
653
+ & [ U128_BYTE , 0 , 0 , 0 , 0 , 0 ] ,
654
+ DecodeError :: UnexpectedEnd { additional : 11 } ,
655
+ ) ,
656
+ (
657
+ & [ U128_BYTE , 0 , 0 , 0 , 0 , 0 , 0 ] ,
658
+ DecodeError :: UnexpectedEnd { additional : 10 } ,
659
+ ) ,
588
660
(
589
661
& [ U128_BYTE , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
590
- DecodeError :: UnexpectedEnd ,
662
+ DecodeError :: UnexpectedEnd { additional : 9 } ,
591
663
) ,
592
664
(
593
665
& [ U128_BYTE , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
594
- DecodeError :: UnexpectedEnd ,
666
+ DecodeError :: UnexpectedEnd { additional : 8 } ,
595
667
) ,
596
668
(
597
669
& [ U128_BYTE , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
598
- DecodeError :: UnexpectedEnd ,
670
+ DecodeError :: UnexpectedEnd { additional : 7 } ,
599
671
) ,
600
672
(
601
673
& [ U128_BYTE , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
602
- DecodeError :: UnexpectedEnd ,
674
+ DecodeError :: UnexpectedEnd { additional : 6 } ,
603
675
) ,
604
676
(
605
677
& [ U128_BYTE , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
606
- DecodeError :: UnexpectedEnd ,
678
+ DecodeError :: UnexpectedEnd { additional : 5 } ,
607
679
) ,
608
680
(
609
681
& [ U128_BYTE , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
610
- DecodeError :: UnexpectedEnd ,
682
+ DecodeError :: UnexpectedEnd { additional : 4 } ,
611
683
) ,
612
684
(
613
685
& [ U128_BYTE , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
614
- DecodeError :: UnexpectedEnd ,
686
+ DecodeError :: UnexpectedEnd { additional : 3 } ,
615
687
) ,
616
688
(
617
689
& [ U128_BYTE , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
618
- DecodeError :: UnexpectedEnd ,
690
+ DecodeError :: UnexpectedEnd { additional : 2 } ,
691
+ ) ,
692
+ (
693
+ & [ U128_BYTE , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
694
+ DecodeError :: UnexpectedEnd { additional : 1 } ,
619
695
) ,
620
696
] ;
621
697
0 commit comments