1
0
mirror of https://github.com/golang/go synced 2024-11-17 05:04:54 -07:00
go/test/typeparam
Dan Scales 229b909313 cmd/compile: don't do Resolve on OKEY identifiers during import
For generic functions, we can export untransformed OKEY nodes, and the
key identifier is written as an ONONAME. But in this case, we do not
want to call Resolve() on the identifier, since we may resolve to a
global type (as happens in this issue) or other global symbol with the
same name, if it exists. We just want to keep the key identifier as an
Ident node.

To solve this, I added an extra bool when exporting an ONONAME entry,
which indicates if this entry is for a key or for a global (external)
symbol. When the bool is true (this is for a key), we avoid calling
Resolve().

Fixes #49497

Change-Id: Ic8fa93d37bcad2110e0e0d060080b733e07e35d7
Reviewed-on: https://go-review.googlesource.com/c/go/+/363074
Trust: Dan Scales <danscales@google.com>
Run-TryBot: Dan Scales <danscales@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
2021-11-10 21:53:03 +00:00
..
absdiffimp.dir cmd/compile/internal/types2: disallow lone type parameter on RHS of type declaration 2021-10-28 00:11:24 +00:00
aliasimp.dir cmd/compile/internal/types2: disallow aliases for generic types 2021-08-31 16:43:46 +00:00
chansimp.dir [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
dedup.dir [dev.typeparams] cmd/compile: put shape types in their own package 2021-08-04 17:56:00 +00:00
factimp.dir [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
geninline.dir cmd/compile: support new fully-inst types referenced during inlining 2021-10-15 16:57:36 +00:00
issue46461b.dir cmd/compile/internal/types2: disallow type cycles through type parameter lists 2021-11-10 00:56:09 +00:00
issue47514c.dir cmd/compile: fix reference to generic type needed by crawler 2021-08-26 20:18:58 +00:00
issue47775.dir cmd/compile: always remove receiver type from instantiated method values 2021-08-23 19:27:46 +00:00
issue47892.dir test: add test cases for issue47892. 2021-08-29 14:10:21 +00:00
issue47892b.dir test: add test cases for issue47892. 2021-08-29 14:10:21 +00:00
issue48094.dir cmd/compile: builtins may be in the unsafe package 2021-08-31 17:21:38 +00:00
issue48094b.dir cmd/compile: fix unified IR panic when expanding nested inline function 2021-09-09 04:37:47 +00:00
issue48185a.dir cmd/compile: fix deadlock in (*Named).load 2021-09-07 17:38:14 +00:00
issue48185b.dir cmd/compile: make sure imported instantiated types have their methods created 2021-09-07 20:37:05 +00:00
issue48280.dir cmd/compile/internal/types2: disallow type cycles through type parameter lists 2021-11-10 00:56:09 +00:00
issue48306.dir cmd/compile/internal/types2: disallow type cycles through type parameter lists 2021-11-10 00:56:09 +00:00
issue48337a.dir cmd/compile: fix generic type handling in crawler 2021-09-17 19:50:04 +00:00
issue48337b.dir cmd/compile: set IsShape based on type being in the Shapes pkg 2021-09-14 23:07:15 +00:00
issue48454.dir cmd/compile: fix crawler for unexported fields with instantiated types 2021-09-24 18:21:14 +00:00
issue48462.dir cmd/compile: fix export/import of range loop. 2021-09-20 00:13:47 +00:00
issue48716.dir cmd/compile: some fixes in type substituter for Instantiate 2021-10-12 20:09:58 +00:00
issue49027.dir cmd/compile: allow importing and exporting of ODYNAMICTYPE 2021-10-19 22:47:48 +00:00
issue49241.dir cmd/compile: mark type descriptors as always dupok 2021-11-02 18:31:53 +00:00
issue49246.dir cmd/compile: fix panic when refer to method of imported instantiated type 2021-11-02 03:09:01 +00:00
issue49497.dir cmd/compile: don't do Resolve on OKEY identifiers during import 2021-11-10 21:53:03 +00:00
listimp2.dir [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
listimp.dir [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
mapimp.dir [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
mapsimp.dir
mdempsky [dev.typeparams] cmd/compile: fixing case where type arg is an interface 2021-08-05 17:33:41 +00:00
mincheck.dir [dev.typeparams] cmd/compile/internal/types2: implement type sets with term lists 2021-08-05 19:36:47 +00:00
minimp.dir [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
mutualimp.dir [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
orderedmapsimp.dir [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
pairimp.dir [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
recoverimp.dir test: add test for export/import of recover & defer 2021-10-05 20:53:02 +00:00
setsimp.dir
sliceimp.dir test/typeparam/sliceimp.dir: fix typo in a.go 2021-08-30 01:55:58 +00:00
stringerimp.dir
valimp.dir [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
absdiff.go cmd/compile/internal/types2: disallow lone type parameter on RHS of type declaration 2021-10-28 00:11:24 +00:00
absdiffimp.go
adder.go
aliasimp.go
append.go cmd/compile: disable type list syntax for the compiler 2021-09-02 01:06:17 +00:00
boundmethod.go cmd/compile/internal/types2: disallow lone type parameter on RHS of type declaration 2021-10-28 00:11:24 +00:00
builtins.go [dev.typeparams] cmd/compile/internal/types2: fix make with type parameter argument 2021-08-06 20:34:46 +00:00
chans.go [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
chansimp.go
combine.go [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
cons.go [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
dedup.go [dev.typeparams] cmd/compile: put shape types in their own package 2021-08-04 17:56:00 +00:00
dedup.out [dev.typeparams] cmd/compile: put shape types in their own package 2021-08-04 17:56:00 +00:00
dictionaryCapture-noinline.go [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
dictionaryCapture.go [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
dottype.go [dev.typeparams] cmd/compile: implement generic .(T) operations 2021-07-29 17:15:21 +00:00
dottype.out [dev.typeparams] cmd/compile: implement generic .(T) operations 2021-07-29 17:15:21 +00:00
double.go cmd/compile: disable type list syntax for the compiler 2021-09-02 01:06:17 +00:00
eface.go cmd/compile: fix stenciling of conversions between interfaces 2021-08-27 16:41:29 +00:00
equal.go [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
fact.go [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
factimp.go
genembed2.go test: add a test for parameterized embedded field 2021-10-16 16:27:40 +00:00
genembed.go [dev.typeparams] cmd/compile: add test for number of instantiations 2021-10-12 20:53:52 +00:00
geninline.go cmd/compile: support new fully-inst types referenced during inlining 2021-10-15 16:57:36 +00:00
graph.go [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
ifaceconv.go [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
importtest.go
index2.go test/typeparam: add test for indexing on typeparams with various constraints 2021-11-03 15:47:47 +00:00
index.go [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
interfacearg.go [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
issue39755.go [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
issue44688.go cmd/compile: keep methods on generic types from being deadcode eliminated 2021-09-27 20:42:34 +00:00
issue45547.go [dev.typeparams] test: rename blank functions 2021-07-28 21:41:07 +00:00
issue45722.go
issue45738.go
issue45817.go [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
issue46461.go cmd/compile/internal/types2: disallow type cycles through type parameter lists 2021-11-10 00:56:09 +00:00
issue46461b.go test: add compiler regress tests for #46461 2021-09-09 19:37:25 +00:00
issue46472.go [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
issue46591.go test/typeparam: add a test case for issue46591 2021-08-20 21:00:08 +00:00
issue47258.go [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
issue47272.go cmd/compile: fix CONVIFACE case converting interface to empty interface 2021-08-17 13:23:13 +00:00
issue47272.out cmd/compile: fix CONVIFACE case converting interface to empty interface 2021-08-17 13:23:13 +00:00
issue47514.go [dev.typeparams] cmd/compile: make sure closures inside generic funcs are not compiled 2021-08-06 18:50:46 +00:00
issue47514b.go [dev.typeparams] cmd/compile: call transformArgs before early typecheckaste in noder 2021-08-09 19:43:09 +00:00
issue47514c.go cmd/compile: fix reference to generic type needed by crawler 2021-08-26 20:18:58 +00:00
issue47676.go cmd/compile: fix handling of Defn field during stenciling 2021-08-31 19:07:50 +00:00
issue47684.go cmd/compile: fix dictionaries for nested closures 2021-08-16 16:55:27 +00:00
issue47684b.go cmd/compile: fix dictionaries for nested closures 2021-08-16 16:55:27 +00:00
issue47684c.go cmd/compile: fix dictionaries for nested closures 2021-08-16 16:55:27 +00:00
issue47708.go cmd/compile/internal/types2: disallow lone type parameter on RHS of type declaration 2021-10-28 00:11:24 +00:00
issue47710.go cmd/compile: delay fillinMethods to deal with mutually-recursive types 2021-08-27 01:42:38 +00:00
issue47713.go cmd/compile: fix naming of types inside instantiations 2021-08-24 18:30:13 +00:00
issue47713.out cmd/compile: fix naming of types inside instantiations 2021-08-24 18:30:13 +00:00
issue47716.go cmd/compile: fixes for non-constant Sizeof/Alignof/Offsetof 2021-08-23 22:55:34 +00:00
issue47723.go cmd/compile: copy captured dictionary var to local var 2021-08-23 17:51:41 +00:00
issue47740.go cmd/compile/internal/types2: disallow lone type parameter on RHS of type declaration 2021-10-28 00:11:24 +00:00
issue47740.out cmd/compile/internal/types2: disallow lone type parameter on RHS of type declaration 2021-10-28 00:11:24 +00:00
issue47740b.go cmd/compile: only use dictionaries for conversions to type parameters 2021-08-18 22:34:31 +00:00
issue47775.go cmd/compile: always remove receiver type from instantiated method values 2021-08-23 19:27:46 +00:00
issue47775b.go cmd/compile: always remove receiver type from instantiated method values 2021-08-23 19:27:46 +00:00
issue47797.go cmd/compile: fix wrong instantiated type for embedded receiver 2021-09-09 03:31:51 +00:00
issue47877.go cmd/compile: fix naming of types inside instantiations 2021-08-24 18:30:13 +00:00
issue47878.go cmd/compile: clean up the switch statements in (*genInst).node() 2021-10-26 20:08:41 +00:00
issue47892.go test: add test cases for issue47892. 2021-08-29 14:10:21 +00:00
issue47892b.go test: add test cases for issue47892. 2021-08-29 14:10:21 +00:00
issue47896.go cmd/compile: reuse same node for global dictionaries 2021-08-24 00:01:29 +00:00
issue47901.go cmd/compile: fix CheckSize() calculation for -G=3 and stencils 2021-08-25 15:30:19 +00:00
issue47924.go cmd/compile: mark ODYNAMICDOTTYPE as an expression that can panic 2021-08-24 18:31:34 +00:00
issue47925.go cmd/compile: fix stenciling of conversions between interfaces 2021-08-27 16:41:29 +00:00
issue47925b.go cmd/compile: fix stenciling of conversions between interfaces 2021-08-27 16:41:29 +00:00
issue47925c.go cmd/compile: fix stenciling of conversions between interfaces 2021-08-27 16:41:29 +00:00
issue47925d.go cmd/compile: fix stenciling of conversions between interfaces 2021-08-27 16:41:29 +00:00
issue47929.go cmd/compile: fix CheckSize() calculation for -G=3 and stencils 2021-08-25 15:30:19 +00:00
issue47948.go cmd/compile: fix function contains no TParam in generic function 2021-08-25 19:06:16 +00:00
issue47966.go cmd/compile: support type C comparable 2021-08-28 16:00:51 +00:00
issue48013.go cmd/compile: fix missing case for shape double-check function 2021-09-01 02:51:18 +00:00
issue48016.go cmd/compile: fix handling of Defn field during stenciling 2021-08-31 19:07:50 +00:00
issue48030.go cmd/compile: fix bug with Inferred targs 2021-08-30 21:22:35 +00:00
issue48042.go cmd/compile: fix delay transformation in *subster.node() 2021-09-06 14:02:24 +00:00
issue48047.go cmd/compile: keep methods on generic types from being deadcode eliminated 2021-09-27 20:42:34 +00:00
issue48049.go cmd/compile: add CONVIFACE nodes needed in generic code due to assignments 2021-09-07 23:27:08 +00:00
issue48056.go cmd/compile: fix error when revcType is ptr in selectorExpr 2021-08-30 17:13:00 +00:00
issue48094.go cmd/compile: builtins may be in the unsafe package 2021-08-31 17:21:38 +00:00
issue48094b.go test/typeparam: fix issue48094b test build 2021-09-09 09:06:46 +00:00
issue48137.go cmd/compile: delay transformAssign if lhs/rhs have typeparam 2021-09-17 23:04:15 +00:00
issue48185a.go cmd/compile: fix deadlock in (*Named).load 2021-09-07 17:38:14 +00:00
issue48185b.go cmd/compile: make sure imported instantiated types have their methods created 2021-09-07 20:37:05 +00:00
issue48191.go cmd/compile: remove now-unneeded SetHasTParam() for cached ptr element 2021-09-07 22:23:36 +00:00
issue48198.go cmd/compile: make sure that the names created for instantiated type are the same 2021-09-07 03:56:13 +00:00
issue48225.go cmd/compile: fix implement for closure in a global assignment 2021-09-09 21:28:56 +00:00
issue48253.go cmd/compile: fix wrong instantiated type for embedded receiver 2021-09-09 03:31:51 +00:00
issue48276a.go cmd/compile: stenciled conversions might be NOPs 2021-09-09 15:34:08 +00:00
issue48276a.out cmd/compile: stenciled conversions might be NOPs 2021-09-09 15:34:08 +00:00
issue48276b.go cmd/compile: stenciled conversions might be NOPs 2021-09-09 15:34:08 +00:00
issue48280.go cmd/compile: prevent importReader reading type parameter twice 2021-09-14 02:52:21 +00:00
issue48306.go cmd/compile: prevent typecheck importer reading type parameter twice 2021-09-14 02:53:17 +00:00
issue48317.go cmd/compile: save the note of fields when translating struct 2021-09-13 21:48:41 +00:00
issue48318.go encoding/xml: truncate generic type names 2021-09-21 17:25:35 +00:00
issue48337a.go cmd/compile: fix generic type handling in crawler 2021-09-17 19:50:04 +00:00
issue48337a.out cmd/compile: fix generic type handling in crawler 2021-09-17 19:50:04 +00:00
issue48337b.go cmd/compile: set IsShape based on type being in the Shapes pkg 2021-09-14 23:07:15 +00:00
issue48344.go go/test: add a test for issue 48344 2021-09-20 16:26:11 +00:00
issue48424.go test/typeparam: require -G=3 for issue48424.go (fix build) 2021-10-02 13:52:59 +00:00
issue48453.go cmd/compile: fix transform.AssignOp to deal with tricky case 2021-09-20 17:44:56 +00:00
issue48454.go cmd/compile: fix crawler for unexported fields with instantiated types 2021-09-24 18:21:14 +00:00
issue48462.go cmd/compile: fix export/import of range loop. 2021-09-20 00:13:47 +00:00
issue48537.go cmd/compile: allow delaying of transformCompLit, new transformAddr 2021-10-08 17:25:33 +00:00
issue48538.go cmd/compile: use Structure() to get single underlying type of typeparam. 2021-10-29 23:25:18 +00:00
issue48598.go cmd/compile: add required CONVIFACE nodes when translating OFUNCINST node 2021-09-25 17:06:17 +00:00
issue48602.go cmd/compile: deal with blank nodes with typeparam type during stenciling 2021-09-25 01:24:46 +00:00
issue48604.go cmd/compile: fix stencil call expression 2021-09-27 05:10:56 +00:00
issue48609.go constraints: remove Slice/Map/Chan 2021-10-27 22:17:35 +00:00
issue48617.go test/typeparam: add a test case for issue48617 2021-09-25 17:12:41 +00:00
issue48645a.go cmd/compile: make sure shapes have proper indexes for sub-instantiation 2021-09-29 16:09:04 +00:00
issue48645a.out cmd/compile: make sure shapes have proper indexes for sub-instantiation 2021-09-29 16:09:04 +00:00
issue48645b.go cmd/compile: make sure shapes have proper indexes for sub-instantiation 2021-09-29 16:09:04 +00:00
issue48711.go test: add regress test for reported non-monomorphizable example 2021-11-08 21:52:47 +00:00
issue48716.go cmd/compile: some fixes in type substituter for Instantiate 2021-10-12 20:09:58 +00:00
issue48838.go cmd/compile: fix the index variable is shadowed in dictPass 2021-10-07 16:38:24 +00:00
issue48962.go cmd/compile: fix TypeDefn to deal with node with no Ntype set 2021-11-04 20:24:01 +00:00
issue49027.go cmd/compile: allow importing and exporting of ODYANMICDOTTYPE[2] 2021-10-18 19:46:27 +00:00
issue49049.go cmd/compile,cmd/link: introduce generic interface call relocations 2021-10-25 20:39:17 +00:00
issue49241.go cmd/compile: mark type descriptors as always dupok 2021-11-02 18:31:53 +00:00
issue49246.go cmd/compile: fix panic when refer to method of imported instantiated type 2021-11-02 03:09:01 +00:00
issue49295.go cmd/compile: make pointers to arrays their own shape 2021-11-03 17:56:16 +00:00
issue49309.go cmd/compile: don't inline fn with no shape params, but passed a shape arg 2021-11-04 15:43:59 +00:00
issue49421.go cmd/compile: remove unneeded "==" method in pre-defined "comparable" interface 2021-11-09 00:08:42 +00:00
issue49432.go cmd/compile: fix irgen mis-handling of ... argument when creating closure 2021-11-09 00:08:09 +00:00
issue49497.go cmd/compile: don't do Resolve on OKEY identifiers during import 2021-11-10 21:53:03 +00:00
list2.go [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
list.go [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
listimp2.go
listimp.go
lockable.go [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
map.go
mapimp.go
maps.go
mapsimp.go
metrics.go
min.go
mincheck.go
minimp.go
mutualimp.go
nested.go
nested.out
ordered.go [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
orderedmap.go [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
orderedmapsimp.go
pair.go [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
pairimp.go
pragma.go
recoverimp.go test: add test for export/import of recover & defer 2021-10-05 20:53:02 +00:00
recoverimp.out test: add test for export/import of recover & defer 2021-10-05 20:53:02 +00:00
sets.go [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
setsimp.go
settable.go cmd/compile: disable type list syntax for the compiler 2021-09-02 01:06:17 +00:00
shape1.go [dev.typeparams] cmd/compile: make all pointer types have the same shape 2021-07-31 17:03:07 +00:00
shape1.out [dev.typeparams] cmd/compile: make all pointer types have the same shape 2021-07-31 17:03:07 +00:00
sliceimp.go
slices.go all: fix typos 2021-08-17 13:54:10 +00:00
smallest.go [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
smoketest.go cmd/compile: enable -G=3 by default 2021-08-21 00:24:02 +00:00
stringable.go [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
stringer.go
stringerimp.go
struct.go [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
subdict.go cmd/compile: support type C comparable 2021-08-28 16:00:51 +00:00
sum.go [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
tparam1.go cmd/compile/internal/types2: accept constraint literals with elided interfaces 2021-10-01 17:18:34 +00:00
typelist.go cmd/compile: disable type list syntax for the compiler 2021-09-02 01:06:17 +00:00
typeswitch1.go [dev.typeparams] cmd/compile: implement generic type switches 2021-08-09 18:41:45 +00:00
typeswitch1.out [dev.typeparams] cmd/compile: implement generic type switches 2021-08-09 18:41:45 +00:00
typeswitch2.go cmd/compile: fix handling of Defn field during stenciling 2021-08-31 19:07:50 +00:00
typeswitch2.out [dev.typeparams] cmd/compile: implement generic type switches 2021-08-09 18:41:45 +00:00
typeswitch3.go [dev.typeparams] cmd/compile: implement generic type switches 2021-08-09 18:41:45 +00:00
typeswitch3.out [dev.typeparams] cmd/compile: implement generic type switches 2021-08-09 18:41:45 +00:00
typeswitch4.go [dev.typeparams] cmd/compile: implement generic type switches 2021-08-09 18:41:45 +00:00
typeswitch4.out [dev.typeparams] cmd/compile: implement generic type switches 2021-08-09 18:41:45 +00:00
typeswitch5.go [dev.typeparams] cmd/compile: implement generic type switches 2021-08-09 18:41:45 +00:00
typeswitch5.out [dev.typeparams] cmd/compile: implement generic type switches 2021-08-09 18:41:45 +00:00
typeswitch6.go [dev.typeparams] cmd/compile: handle interface type parameters in type switches 2021-08-10 01:56:50 +00:00
typeswitch6.out [dev.typeparams] cmd/compile: handle interface type parameters in type switches 2021-08-10 01:56:50 +00:00
typeswitch7.go [dev.typeparams] cmd/compile: handle interface type parameters in type switches 2021-08-10 01:56:50 +00:00
typeswitch7.out [dev.typeparams] cmd/compile: handle interface type parameters in type switches 2021-08-10 01:56:50 +00:00
valimp.go
value.go