TBR vom/vdl: RawBytes.Decoder() & Decoder.IsTop()
MultiPart: 2/4
Change-Id: Iaa5aa4c88ad30c089a4c2747b4bc5ea11a223aee
diff --git a/test/fortune/fortune.vdl.go b/test/fortune/fortune.vdl.go
index d7750cd..1cdf380 100644
--- a/test/fortune/fortune.vdl.go
+++ b/test/fortune/fortune.vdl.go
@@ -223,7 +223,7 @@
if err = dec.StartValue(); err != nil {
return err
}
- if dec.Type().Kind() != vdl.Struct {
+ if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
}
match := 0
@@ -280,8 +280,8 @@
if err = dec.StartValue(); err != nil {
return err
}
- if k := dec.Type().Kind(); k != vdl.Array && k != vdl.List {
- return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
+ if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
+ return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
}
switch len := dec.LenHint(); {
case len == 0: