File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -227,6 +227,11 @@ func (g *generator) define(dir wit.Direction, v wit.Node) (defined bool) {
227227func (g * generator ) defineWorlds () error {
228228 g .opts .logger .Infof ("Generating Go for %d world(s)\n " , len (g .res .Worlds ))
229229 for _ , w := range g .res .Worlds {
230+ // Define a Go package for every world, regardless of use
231+ _ , err := g .newPackage (w , nil , "" )
232+ if err != nil {
233+ return err
234+ }
230235 if w == g .world || g .world == nil {
231236 err := g .defineWorld (w )
232237 if err != nil {
@@ -2284,17 +2289,9 @@ func (g *generator) cgoFileFor(owner wit.TypeOwner) *gen.File {
22842289
22852290func (g * generator ) packageFor (owner wit.TypeOwner ) * gen.Package {
22862291 pkg := g .witPackages [owner ]
2287- if pkg != nil {
2288- return pkg
2289- }
2290- var err error
2291- switch owner := (owner ).(type ) {
2292- case * wit.World :
2293- pkg , err = g .newPackage (owner , nil , "" )
2294- }
22952292 if pkg == nil {
2296- panic (fmt .Sprintf ("BUG: cannot create Go package for wit.TypeOwner %s (%T: %p): %v " ,
2297- owner .WITPackage ().Name .String (), owner , owner , err ))
2293+ panic (fmt .Sprintf ("BUG: nil package for wit.TypeOwner %s (%T: %p)" ,
2294+ owner .WITPackage ().Name .String (), owner , owner ))
22982295 }
22992296 return pkg
23002297}
You can’t perform that action at this time.
0 commit comments