[fidl] Decode interfaces as handles
Their encoding is identical.
This appears to have regressed in ce73265.
Tests will need to be added to conformance tests in fuchsia.git.
Bug: 62636
Change-Id: I74d87698cf68c37bb2f8eb4d8806cc69a65302b9
Reviewed-on: https://fuchsia-review.googlesource.com/c/third_party/go/+/442518
Reviewed-by: Pascal Perez <pascallouis@google.com>
Reviewed-by: Benjamin Prosnitz <bprosnitz@google.com>
Commit-Queue: Tamir Duberstein <tamird@google.com>
diff --git a/src/syscall/zx/fidl/encoding_new.go b/src/syscall/zx/fidl/encoding_new.go
index 1656098..9ecf911 100644
--- a/src/syscall/zx/fidl/encoding_new.go
+++ b/src/syscall/zx/fidl/encoding_new.go
@@ -280,14 +280,14 @@
case mEmptyStruct:
// Note: empty struct is 0 or 1 bytes at different times in go.
return false
- case mHandle:
+ case mHandle, mInterface:
// Note: In the future, we might instead consider treating handles
// like uint32 and decoding in a subsequent step.
return false
case mXUnion, mOptXUnion, mTable, mVector, mOptVector, mString, mOptString, mPointer:
return false
default:
- panic("unhandledType " + reflect.TypeOf(marshaler).Name())
+ panic("unhandledType " + reflect.TypeOf(marshaler).Name() + " for " + typ.String())
}
}