@@ -57,7 +57,7 @@ type PP struct {
57
57
type SS string
58
58
59
59
func (* SS ) UnmarshalJSON (data []byte ) error {
60
- return & UnmarshalTypeError {Value : "number" , Type : reflect .TypeOf ( SS ( "" ) )}
60
+ return & UnmarshalTypeError {Value : "number" , Type : reflect .TypeFor [ SS ]( )}
61
61
}
62
62
63
63
// ifaceNumAsFloat64/ifaceNumAsNumber are used to test unmarshaling with and
@@ -421,11 +421,11 @@ var unmarshalTests = []unmarshalTest{
421
421
{in : `"g-clef: \uD834\uDD1E"` , ptr : new (string ), out : "g-clef: \U0001D11E " },
422
422
{in : `"invalid: \uD834x\uDD1E"` , ptr : new (string ), out : "invalid: \uFFFD x\uFFFD " },
423
423
{in : "null" , ptr : new (any ), out : nil },
424
- {in : `{"X": [1,2,3], "Y": 4}` , ptr : new (T ), out : T {Y : 4 }, err : & UnmarshalTypeError {"array" , reflect .TypeOf ( "" ), 7 , "T" , "X" }},
425
- {in : `{"X": 23}` , ptr : new (T ), out : T {}, err : & UnmarshalTypeError {"number" , reflect .TypeOf ( "" ), 8 , "T" , "X" }}, {in : `{"x": 1}` , ptr : new (tx ), out : tx {}},
424
+ {in : `{"X": [1,2,3], "Y": 4}` , ptr : new (T ), out : T {Y : 4 }, err : & UnmarshalTypeError {"array" , reflect .TypeFor [ string ]( ), 7 , "T" , "X" }},
425
+ {in : `{"X": 23}` , ptr : new (T ), out : T {}, err : & UnmarshalTypeError {"number" , reflect .TypeFor [ string ]( ), 8 , "T" , "X" }}, {in : `{"x": 1}` , ptr : new (tx ), out : tx {}},
426
426
{in : `{"x": 1}` , ptr : new (tx ), out : tx {}},
427
427
{in : `{"x": 1}` , ptr : new (tx ), err : fmt .Errorf ("json: unknown field \" x\" " ), disallowUnknownFields : true },
428
- {in : `{"S": 23}` , ptr : new (W ), out : W {}, err : & UnmarshalTypeError {"number" , reflect .TypeOf ( SS ( "" ) ), 0 , "W" , "S" }},
428
+ {in : `{"S": 23}` , ptr : new (W ), out : W {}, err : & UnmarshalTypeError {"number" , reflect .TypeFor [ SS ]( ), 0 , "W" , "S" }},
429
429
{in : `{"F1":1,"F2":2,"F3":3}` , ptr : new (V ), out : V {F1 : float64 (1 ), F2 : int32 (2 ), F3 : Number ("3" )}},
430
430
{in : `{"F1":1,"F2":2,"F3":3}` , ptr : new (V ), out : V {F1 : Number ("1" ), F2 : int32 (2 ), F3 : Number ("3" )}, useNumber : true },
431
431
{in : `{"k1":1,"k2":"s","k3":[1,2.0,3e-3],"k4":{"kk1":"s","kk2":2}}` , ptr : new (any ), out : ifaceNumAsFloat64 },
@@ -545,32 +545,32 @@ var unmarshalTests = []unmarshalTest{
545
545
{
546
546
in : `{"abc":"abc"}` ,
547
547
ptr : new (map [int ]string ),
548
- err : & UnmarshalTypeError {Value : "number abc" , Type : reflect .TypeOf ( 0 ), Offset : 2 },
548
+ err : & UnmarshalTypeError {Value : "number abc" , Type : reflect .TypeFor [ int ]( ), Offset : 2 },
549
549
},
550
550
{
551
551
in : `{"256":"abc"}` ,
552
552
ptr : new (map [uint8 ]string ),
553
- err : & UnmarshalTypeError {Value : "number 256" , Type : reflect .TypeOf ( uint8 ( 0 ) ), Offset : 2 },
553
+ err : & UnmarshalTypeError {Value : "number 256" , Type : reflect .TypeFor [ uint8 ]( ), Offset : 2 },
554
554
},
555
555
{
556
556
in : `{"128":"abc"}` ,
557
557
ptr : new (map [int8 ]string ),
558
- err : & UnmarshalTypeError {Value : "number 128" , Type : reflect .TypeOf ( int8 ( 0 ) ), Offset : 2 },
558
+ err : & UnmarshalTypeError {Value : "number 128" , Type : reflect .TypeFor [ int8 ]( ), Offset : 2 },
559
559
},
560
560
{
561
561
in : `{"-1":"abc"}` ,
562
562
ptr : new (map [uint8 ]string ),
563
- err : & UnmarshalTypeError {Value : "number -1" , Type : reflect .TypeOf ( uint8 ( 0 ) ), Offset : 2 },
563
+ err : & UnmarshalTypeError {Value : "number -1" , Type : reflect .TypeFor [ uint8 ]( ), Offset : 2 },
564
564
},
565
565
{
566
566
in : `{"F":{"a":2,"3":4}}` ,
567
567
ptr : new (map [string ]map [int ]int ),
568
- err : & UnmarshalTypeError {Value : "number a" , Type : reflect .TypeOf ( int ( 0 ) ), Offset : 7 },
568
+ err : & UnmarshalTypeError {Value : "number a" , Type : reflect .TypeFor [ int ]( ), Offset : 7 },
569
569
},
570
570
{
571
571
in : `{"F":{"a":2,"3":4}}` ,
572
572
ptr : new (map [string ]map [uint ]int ),
573
- err : & UnmarshalTypeError {Value : "number a" , Type : reflect .TypeOf ( uint ( 0 ) ), Offset : 7 },
573
+ err : & UnmarshalTypeError {Value : "number a" , Type : reflect .TypeFor [ uint ]( ), Offset : 7 },
574
574
},
575
575
576
576
// Map keys can be encoding.TextUnmarshalers.
@@ -715,12 +715,12 @@ var unmarshalTests = []unmarshalTest{
715
715
{
716
716
in : `{"2009-11-10T23:00:00Z": "hello world"}` ,
717
717
ptr : new (map [Point ]string ),
718
- err : & UnmarshalTypeError {Value : "object" , Type : reflect .TypeOf ( map [Point ]string {} ), Offset : 1 },
718
+ err : & UnmarshalTypeError {Value : "object" , Type : reflect .TypeFor [ map [Point ]string ]( ), Offset : 1 },
719
719
},
720
720
{
721
721
in : `{"asdf": "hello world"}` ,
722
722
ptr : new (map [unmarshaler ]string ),
723
- err : & UnmarshalTypeError {Value : "object" , Type : reflect .TypeOf ( map [unmarshaler ]string {} ), Offset : 1 },
723
+ err : & UnmarshalTypeError {Value : "object" , Type : reflect .TypeFor [ map [unmarshaler ]string ]( ), Offset : 1 },
724
724
},
725
725
726
726
// related to issue 13783.
@@ -820,7 +820,7 @@ var unmarshalTests = []unmarshalTest{
820
820
Value : "string" ,
821
821
Struct : "V" ,
822
822
Field : "V.F2" ,
823
- Type : reflect .TypeOf ( int32 ( 0 ) ),
823
+ Type : reflect .TypeFor [ int32 ]( ),
824
824
Offset : 20 ,
825
825
},
826
826
},
@@ -831,7 +831,7 @@ var unmarshalTests = []unmarshalTest{
831
831
Value : "string" ,
832
832
Struct : "V" ,
833
833
Field : "V.F2" ,
834
- Type : reflect .TypeOf ( int32 ( 0 ) ),
834
+ Type : reflect .TypeFor [ int32 ]( ),
835
835
Offset : 30 ,
836
836
},
837
837
},
@@ -907,24 +907,24 @@ var unmarshalTests = []unmarshalTest{
907
907
{
908
908
in : `{"data":{"test1": "bob", "test2": 123}}` ,
909
909
ptr : new (mapStringToStringData ),
910
- err : & UnmarshalTypeError {Value : "number" , Type : reflect .TypeOf ( "" ), Offset : 37 , Struct : "mapStringToStringData" , Field : "data" },
910
+ err : & UnmarshalTypeError {Value : "number" , Type : reflect .TypeFor [ string ]( ), Offset : 37 , Struct : "mapStringToStringData" , Field : "data" },
911
911
},
912
912
{
913
913
in : `{"data":{"test1": 123, "test2": "bob"}}` ,
914
914
ptr : new (mapStringToStringData ),
915
- err : & UnmarshalTypeError {Value : "number" , Type : reflect .TypeOf ( "" ), Offset : 21 , Struct : "mapStringToStringData" , Field : "data" },
915
+ err : & UnmarshalTypeError {Value : "number" , Type : reflect .TypeFor [ string ]( ), Offset : 21 , Struct : "mapStringToStringData" , Field : "data" },
916
916
},
917
917
918
918
// trying to decode JSON arrays or objects via TextUnmarshaler
919
919
{
920
920
in : `[1, 2, 3]` ,
921
921
ptr : new (MustNotUnmarshalText ),
922
- err : & UnmarshalTypeError {Value : "array" , Type : reflect .TypeOf ( & MustNotUnmarshalText {} ), Offset : 1 },
922
+ err : & UnmarshalTypeError {Value : "array" , Type : reflect .TypeFor [ * MustNotUnmarshalText ]( ), Offset : 1 },
923
923
},
924
924
{
925
925
in : `{"foo": "bar"}` ,
926
926
ptr : new (MustNotUnmarshalText ),
927
- err : & UnmarshalTypeError {Value : "object" , Type : reflect .TypeOf ( & MustNotUnmarshalText {} ), Offset : 1 },
927
+ err : & UnmarshalTypeError {Value : "object" , Type : reflect .TypeFor [ * MustNotUnmarshalText ]( ), Offset : 1 },
928
928
},
929
929
// #22369
930
930
{
@@ -934,7 +934,7 @@ var unmarshalTests = []unmarshalTest{
934
934
Value : "string" ,
935
935
Struct : "T" ,
936
936
Field : "PP.T.Y" ,
937
- Type : reflect .TypeOf ( int ( 0 ) ),
937
+ Type : reflect .TypeFor [ int ]( ),
938
938
Offset : 29 ,
939
939
},
940
940
},
@@ -945,7 +945,7 @@ var unmarshalTests = []unmarshalTest{
945
945
Value : "string" ,
946
946
Struct : "T" ,
947
947
Field : "Ts.Y" ,
948
- Type : reflect .TypeOf ( int ( 0 ) ),
948
+ Type : reflect .TypeFor [ int ]( ),
949
949
Offset : 29 ,
950
950
},
951
951
},
0 commit comments