@@ -1515,7 +1515,7 @@ func (v *listValue) castTo(dst any) error {
15151515		inner .Set (newSlice )
15161516
15171517		for  i , item  :=  range  v .ListItems () {
1518- 			if  err  :=  item . castTo ( inner .Index (i ).Addr ().Interface ()); err  !=  nil  {
1518+ 			if  err  :=  CastTo ( item ,  inner .Index (i ).Addr ().Interface ()); err  !=  nil  {
15191519				return  xerrors .WithStackTrace (fmt .Errorf (
15201520					"%w '%s(%+v)' to '%T' destination" ,
15211521					ErrCannotCast , v .Type ().Yql (), v , dstValue ,
@@ -1649,7 +1649,7 @@ func (v *setValue) castTo(dst any) error {
16491649		inner .Set (newSlice )
16501650
16511651		for  i , item  :=  range  v .items  {
1652- 			if  err  :=  item . castTo ( inner .Index (i ).Addr ().Interface ()); err  !=  nil  {
1652+ 			if  err  :=  CastTo ( item ,  inner .Index (i ).Addr ().Interface ()); err  !=  nil  {
16531653				return  xerrors .WithStackTrace (fmt .Errorf (
16541654					"%w '%s(%+v)' to '%T' destination" ,
16551655					ErrCannotCast , v .Type ().Yql (), v , dstValue ,
@@ -1757,7 +1757,7 @@ func (v *optionalValue) castTo(dst any) error {
17571757			return  nil 
17581758		}
17591759
1760- 		if  err  :=  v .value . castTo (ptr .Interface ()); err  !=  nil  {
1760+ 		if  err  :=  CastTo ( v .value ,  (ptr .Interface () )); err  !=  nil  {
17611761			return  xerrors .WithStackTrace (err )
17621762		}
17631763
@@ -1772,7 +1772,7 @@ func (v *optionalValue) castTo(dst any) error {
17721772
17731773	inner .Set (reflect .New (inner .Type ().Elem ()))
17741774
1775- 	if  err  :=  v .value . castTo ( inner .Interface ()); err  !=  nil  {
1775+ 	if  err  :=  CastTo ( v .value ,  inner .Interface ()); err  !=  nil  {
17761776		return  xerrors .WithStackTrace (err )
17771777	}
17781778
@@ -1853,7 +1853,7 @@ func (v *structValue) castTo(dst any) error {
18531853		}
18541854
18551855		for  i , field  :=  range  v .fields  {
1856- 			if  err  :=  field .V . castTo ( inner .Field (i ).Addr ().Interface ()); err  !=  nil  {
1856+ 			if  err  :=  CastTo ( field .V ,  inner .Field (i ).Addr ().Interface ()); err  !=  nil  {
18571857				return  xerrors .WithStackTrace (fmt .Errorf (
18581858					"scan error on struct field name '%s': %w" ,
18591859					field .Name , err ,
@@ -2031,7 +2031,7 @@ func (v *tupleValue) TupleItems() []Value {
20312031
20322032func  (v  * tupleValue ) castTo (dst  any ) error  {
20332033	if  len (v .items ) ==  1  {
2034- 		return  v .items [0 ]. castTo ( dst )
2034+ 		return  CastTo ( v .items [0 ],  dst )
20352035	}
20362036
20372037	switch  dstValue  :=  dst .(type ) {
0 commit comments