summaryrefslogtreecommitdiff
path: root/src/lib/json/struct.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2009-02-11 17:55:16 -0800
committerRuss Cox <rsc@golang.org>2009-02-11 17:55:16 -0800
commitf6d092aa89daccb517a89abaa9e077a683b57bf1 (patch)
tree3a27c60cd93482129d8beda588d769a2d7868d4d /src/lib/json/struct.go
parentd89426aacb706dba5b305bd29d5e7f67927e3848 (diff)
downloadgolang-f6d092aa89daccb517a89abaa9e077a683b57bf1.tar.gz
insert type assertions when narrowing.
R=r OCL=24349 CL=24913
Diffstat (limited to 'src/lib/json/struct.go')
-rw-r--r--src/lib/json/struct.go4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/json/struct.go b/src/lib/json/struct.go
index f37ee461e..82e0a80a7 100644
--- a/src/lib/json/struct.go
+++ b/src/lib/json/struct.go
@@ -122,7 +122,7 @@ func (b *_StructBuilder) Array() {
pv := v.(reflect.PtrValue);
psubtype := pv.Type().(reflect.PtrType).Sub();
if pv.Get() == nil && psubtype.Kind() == reflect.ArrayKind {
- av := reflect.NewSliceValue(psubtype, 0, 8);
+ av := reflect.NewSliceValue(psubtype.(reflect.ArrayType), 0, 8);
pv.SetSub(av);
}
}
@@ -148,7 +148,7 @@ func (b *_StructBuilder) Elem(i int) Builder {
for n <= i {
n *= 2
}
- av1 := reflect.NewSliceValue(av.Type(), av.Len(), n);
+ av1 := reflect.NewSliceValue(av.Type().(reflect.ArrayType), av.Len(), n);
av1.CopyFrom(av, av.Len());
pv.SetSub(av1);
av = av1;