1package test 2 3func init() { 4 testCases = append(testCases, 5 (*[][4]bool)(nil), 6 (*[][4]byte)(nil), 7 (*[][4]float64)(nil), 8 (*[][4]int32)(nil), 9 (*[][4]*string)(nil), 10 (*[][4]string)(nil), 11 (*[][4]uint8)(nil), 12 (*[]bool)(nil), 13 (*[]byte)(nil), 14 (*[]float64)(nil), 15 (*[]int32)(nil), 16 (*[]int64)(nil), 17 (*[]map[int32]string)(nil), 18 (*[]map[string]string)(nil), 19 (*[4]*[4]bool)(nil), 20 (*[4]*[4]byte)(nil), 21 (*[4]*[4]float64)(nil), 22 (*[4]*[4]int32)(nil), 23 (*[4]*[4]*string)(nil), 24 (*[4]*[4]string)(nil), 25 (*[4]*[4]uint8)(nil), 26 (*[]*bool)(nil), 27 (*[]*float64)(nil), 28 (*[]*int32)(nil), 29 (*[]*map[int32]string)(nil), 30 (*[]*map[string]string)(nil), 31 (*[]*[]bool)(nil), 32 (*[]*[]byte)(nil), 33 (*[]*[]float64)(nil), 34 (*[]*[]int32)(nil), 35 (*[]*[]*string)(nil), 36 (*[]*[]string)(nil), 37 (*[]*[]uint8)(nil), 38 (*[]*string)(nil), 39 (*[]*struct { 40 String string 41 Int int32 42 Float float64 43 Struct struct { 44 X string 45 } 46 Slice []string 47 Map map[string]string 48 })(nil), 49 (*[]*uint8)(nil), 50 (*[][]bool)(nil), 51 (*[][]byte)(nil), 52 (*[][]float64)(nil), 53 (*[][]int32)(nil), 54 (*[][]*string)(nil), 55 (*[][]string)(nil), 56 (*[][]uint8)(nil), 57 (*[]string)(nil), 58 (*[]struct{})(nil), 59 (*[]structEmpty)(nil), 60 (*[]struct { 61 F *string 62 })(nil), 63 (*[]struct { 64 String string 65 Int int32 66 Float float64 67 Struct struct { 68 X string 69 } 70 Slice []string 71 Map map[string]string 72 })(nil), 73 (*[]uint8)(nil), 74 (*[]jsonMarshaler)(nil), 75 (*[]jsonMarshalerMap)(nil), 76 (*[]textMarshaler)(nil), 77 (*[]textMarshalerMap)(nil), 78 ) 79} 80 81type jsonMarshaler struct { 82 Id string `json:"id,omitempty" db:"id"` 83} 84 85func (p *jsonMarshaler) MarshalJSON() ([]byte, error) { 86 return []byte(`{}`), nil 87} 88 89func (p *jsonMarshaler) UnmarshalJSON(input []byte) error { 90 p.Id = "hello" 91 return nil 92} 93 94type jsonMarshalerMap map[int]int 95 96func (p *jsonMarshalerMap) MarshalJSON() ([]byte, error) { 97 return []byte(`{}`), nil 98} 99 100func (p *jsonMarshalerMap) UnmarshalJSON(input []byte) error { 101 return nil 102} 103 104type textMarshaler struct { 105 Id string `json:"id,omitempty" db:"id"` 106} 107 108func (p *textMarshaler) MarshalText() ([]byte, error) { 109 return []byte(`{}`), nil 110} 111 112func (p *textMarshaler) UnmarshalText(input []byte) error { 113 p.Id = "hello" 114 return nil 115} 116 117type textMarshalerMap map[int]int 118 119func (p *textMarshalerMap) MarshalText() ([]byte, error) { 120 return []byte(`{}`), nil 121} 122 123func (p *textMarshalerMap) UnmarshalText(input []byte) error { 124 return nil 125} 126