Bprint(bout, "\t");
if(s->export != 0)
Bprint(bout, "export ");
+ switch (s->otype->etype) {
+ case TFORW:
+ case TFORWSTRUCT:
+ case TFORWINTER:
+ yyerror("export of incomplete type %T", s->otype);
+ return;
+ }
Bprint(bout, "type %lS %l#T\n", s, s->otype);
}
--- /dev/null
+// Copyright 2009 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// errchk $G $D/$F.go
+
+package main
+
+export type A struct // ERROR "incomplete"
+export type B interface // ERROR "incomplete"
+
+export type C struct
+export type D interface
+
+type C struct { }
+type D interface { }