You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
mdempsky opened this issue
Feb 25, 2021
· 0 comments
Labels
NeedsFixThe path to resolution is known, but the work has not been done.ToolsThis label describes issues relating to any tools in the x/tools repository.
I don't have a standalone repro for this yet, but I'm seeing roughly this issue internally:
package a
type T struct { x int }
package b
import "a"
type T a.T
package c
import "a"
import "b"
var _ = (*b.T)((*a.T)(nil))
This code is valid and accepted by cmd/compile. But typechecking c with go/types will fail if: packages a and b are typechecked with go/loader; their export data is written out with gcexportdata.Write, and then read back in again with gcexportdata.Read; and finally used to typecheck package c.
I seem to remember having to recentlyish fix some import/export issues around selector identifiers like this in the compiler. Those fixes probably just need to be carried over to gcexportdata.
The text was updated successfully, but these errors were encountered:
NeedsFixThe path to resolution is known, but the work has not been done.ToolsThis label describes issues relating to any tools in the x/tools repository.
I don't have a standalone repro for this yet, but I'm seeing roughly this issue internally:
This code is valid and accepted by cmd/compile. But typechecking c with go/types will fail if: packages a and b are typechecked with go/loader; their export data is written out with gcexportdata.Write, and then read back in again with gcexportdata.Read; and finally used to typecheck package c.
I seem to remember having to recentlyish fix some import/export issues around selector identifiers like this in the compiler. Those fixes probably just need to be carried over to gcexportdata.
The text was updated successfully, but these errors were encountered: