bind: fix generated declaration of GoUniverseerror

GoUniverseerror is a (generated) protocol type, and variables of
protocol types use id<> notation.

Change-Id: I3d36b3ba634c10f0e59424faf71809c94df52cc6
Reviewed-on: https://go-review.googlesource.com/29052
Reviewed-by: David Crawshaw <crawshaw@golang.org>
diff --git a/bind/genobjc.go b/bind/genobjc.go
index 74045ff..cce1f0a 100644
--- a/bind/genobjc.go
+++ b/bind/genobjc.go
@@ -816,7 +816,7 @@
 			var rets []string
 			for i, p := range s.retParams {
 				if isErrorType(p.typ) {
-					g.Printf("GoUniverseerror* _%s = nil;\n", p.name)
+					g.Printf("id<GoUniverseerror> _%s = nil;\n", p.name)
 					if i == len(s.retParams)-1 { // last param.
 						g.Printf("if (!returnVal) {\n")
 					} else {
diff --git a/bind/testdata/interfaces.objc.m.golden b/bind/testdata/interfaces.objc.m.golden
index b28f05e..47ccc23 100644
--- a/bind/testdata/interfaces.objc.m.golden
+++ b/bind/testdata/interfaces.objc.m.golden
@@ -234,7 +234,7 @@
 		GoInterfacesError* o = go_seq_objc_from_refnum(refnum);
 		NSError* error = nil;
 		BOOL returnVal = [o err:&error];
-		GoUniverseerror* _error = nil;
+		id<GoUniverseerror> _error = nil;
 		if (!returnVal) {
 			_error = [[goSeqErrorWrapper alloc] initWithError:error];
 		}
diff --git a/bind/testdata/issue12403.objc.m.golden b/bind/testdata/issue12403.objc.m.golden
index 072dfbc..4a06e15 100644
--- a/bind/testdata/issue12403.objc.m.golden
+++ b/bind/testdata/issue12403.objc.m.golden
@@ -67,7 +67,7 @@
 		NSError* error = nil;
 		BOOL returnVal = [o toJSON:&ret0_ error:&error];
 		nstring _ret0_ = go_seq_from_objc_string(ret0_);
-		GoUniverseerror* _error = nil;
+		id<GoUniverseerror> _error = nil;
 		if (!returnVal) {
 			_error = [[goSeqErrorWrapper alloc] initWithError:error];
 		}