1
0
mirror of https://github.com/golang/go synced 2024-11-23 12:40:11 -07:00
go/test/typeparam
Robert Griesemer 1dd24d8216 go/types, types2: don't infer type argument for unused parameter in interfaces
Two interface types that are assignable don't have to be identical;
specifically, if they are defined types, they can be different
defined types. If those defined types specify type parameters which
are never used, do not infer a type argument based on the instantiation
of a matching defined type.

Adjusted three existing tests where we inferred type arguments incorrectly.

Fixes #60377.

Change-Id: I91fb207235424b3cbc42b5fd93eee619e7541cb7
Reviewed-on: https://go-review.googlesource.com/c/go/+/498315
Auto-Submit: Robert Griesemer <gri@google.com>
Reviewed-by: Robert Findley <rfindley@google.com>
Reviewed-by: Robert Griesemer <gri@google.com>
Run-TryBot: Robert Griesemer <gri@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
2023-05-25 21:37:01 +00:00
..
absdiffimp2.dir
absdiffimp.dir
aliasimp.dir
chansimp.dir
dedup.dir
factimp.dir
gencrawler.dir
geninline.dir
issue46461b.dir
issue47514c.dir
issue47775.dir
issue47892.dir
issue47892b.dir
issue48094.dir
issue48094b.dir
issue48185a.dir
issue48185b.dir
issue48280.dir
issue48306.dir
issue48337a.dir
issue48337b.dir
issue48454.dir
issue48462.dir
issue48716.dir
issue48962.dir
issue49027.dir
issue49241.dir
issue49246.dir
issue49497.dir
issue49524.dir
issue49536.dir
issue49659.dir
issue49667.dir
issue49893.dir
issue50121.dir
issue50121b.dir
issue50437.dir
issue50481b.dir
issue50481c.dir
issue50485.dir
issue50486.dir
issue50552.dir
issue50561.dir
issue50598.dir
issue50841.dir
issue51219.dir
issue51219b.dir
issue51250a.dir
issue51367.dir
issue51423.dir
issue51836.dir
issue52117.dir
issue54302.dir cmd/compile: fix import/export of ODYNAMICDOTTYPE 2022-08-06 15:20:00 +00:00
listimp2.dir
listimp.dir all: fix some comments for method 2022-12-03 17:08:51 +00:00
mapimp.dir
mapsimp.dir
mdempsky cmd/compile: use "satisfies" (not "implements") for constraint errors 2023-01-04 19:07:27 +00:00
mincheck.dir cmd/compile: use "satisfies" (not "implements") for constraint errors 2023-01-04 19:07:27 +00:00
minimp.dir
mutualimp.dir
orderedmapsimp.dir
pairimp.dir
recoverimp.dir
select.dir
setsimp.dir
sliceimp.dir
stringerimp.dir
structinit.dir
valimp.dir
absdiff2.go
absdiff3.go
absdiff.go
absdiffimp2.go
absdiffimp.go
adder.go
aliasimp.go
append.go
boundmethod.go
builtins.go
chans.go
chansimp.go
combine.go
cons.go
dedup.go
dedup.out
devirtualize1.go cmd/compile: constant-fold loads from constant dictionaries and types 2023-05-19 18:10:11 +00:00
devirtualize2.go cmd/compile: constant-fold loads from constant dictionaries and types 2023-05-19 18:10:11 +00:00
dictionaryCapture-noinline.go
dictionaryCapture.go
dottype.go
dottype.out
double.go
eface.go
equal.go
fact.go
factimp.go
gencrawler.go
gencrawler.out
genembed2.go
genembed.go
geninline.go
graph.go all: fix typos in go file comments 2023-01-09 15:34:31 +00:00
ifaceconv.go
importtest.go
index2.go
index.go
interfacearg.go
issue23536.go
issue39755.go
issue42758.go
issue44688.go
issue45547.go
issue45722.go
issue45738.go
issue45817.go
issue46461.go go/types, types2: more concise error messages for cycle errors 2022-09-29 14:21:33 +00:00
issue46461b.go
issue46472.go
issue46591.go
issue47258.go
issue47272.go
issue47272.out
issue47514.go
issue47514b.go
issue47514c.go
issue47631.go test: enable issue47631.go for Unified IR 2022-09-30 23:00:20 +00:00
issue47676.go
issue47684.go
issue47684b.go
issue47684c.go
issue47708.go
issue47710.go
issue47713.go
issue47713.out
issue47716.go
issue47723.go
issue47740.go
issue47740.out
issue47740b.go
issue47775.go
issue47775b.go
issue47797.go
issue47877.go
issue47878.go
issue47892.go
issue47892b.go
issue47896.go
issue47901.go
issue47924.go
issue47925.go
issue47925b.go
issue47925c.go
issue47925d.go
issue47929.go
issue47948.go
issue47966.go
issue48013.go
issue48016.go
issue48030.go
issue48042.go
issue48047.go
issue48049.go
issue48056.go
issue48094.go
issue48094b.go
issue48137.go
issue48185a.go
issue48185b.go
issue48191.go
issue48198.go
issue48225.go
issue48253.go
issue48276a.go
issue48276a.out
issue48276b.go
issue48280.go
issue48306.go
issue48317.go
issue48318.go
issue48337a.go
issue48337a.out
issue48337b.go
issue48344.go
issue48424.go
issue48453.go
issue48454.go
issue48462.go
issue48537.go
issue48538.go
issue48598.go
issue48602.go
issue48604.go
issue48609.go
issue48617.go
issue48645a.go
issue48645a.out
issue48645b.go
issue48711.go
issue48716.go
issue48838.go
issue48962.go
issue49027.go
issue49049.go
issue49241.go
issue49246.go
issue49295.go
issue49309.go cmd/compile: enable more inlining for unified IR 2022-08-18 17:26:40 +00:00
issue49421.go
issue49432.go
issue49497.go
issue49516.go
issue49524.go
issue49536.go
issue49538.go
issue49547.go
issue49611.go
issue49659.go
issue49659b.go
issue49667.go
issue49875.go
issue49893.go
issue50002.go
issue50109.go
issue50109.out
issue50109b.go
issue50121.go
issue50121b.go
issue50147.go
issue50177.go
issue50193.go
issue50193.out
issue50259.go
issue50264.go
issue50317.go
issue50417.go
issue50417b.go
issue50419.go
issue50437.go
issue50481b.go
issue50481c.go
issue50481c.out
issue50485.go
issue50486.go
issue50552.go
issue50561.go
issue50598.go
issue50642.go
issue50690a.go
issue50690a.out
issue50690b.go
issue50690b.out
issue50690c.go
issue50690c.out
issue50833.go
issue50841.go
issue50993.go
issue51219.go
issue51219.out
issue51219b.go
issue51232.go
issue51233.go
issue51236.go
issue51245.go
issue51250a.go
issue51303.go
issue51303.out
issue51355.go
issue51367.go
issue51423.go
issue51521.go
issue51522a.go
issue51522b.go
issue51700.go
issue51765.go
issue51832.go
issue51836.go
issue51840.go
issue51909.go
issue51925.go
issue52026.go
issue52117.go
issue52124.go cmd/compile/internal/noder: suppress unionType consistency check 2023-05-16 21:34:45 +00:00
issue52228.go
issue52241.go
issue53087.go test: test for issue 53087 2023-03-08 16:23:09 +00:00
issue53254.go cmd/compile: don't use dictionary convert to shaped empty interface 2022-06-22 22:14:02 +00:00
issue53390.go
issue53406.go cmd/compile: fix assert condition in generic method call 2022-06-22 16:25:18 +00:00
issue53419.go
issue53477.go test: add regress test for #53477 2022-06-21 15:00:37 +00:00
issue53762.go go/types, types2: don't infer type argument for unused parameter in interfaces 2023-05-25 21:37:01 +00:00
issue54135.go test: improve generic type assertion test 2022-08-01 20:44:41 +00:00
issue54225.go cmd/compile: skip emitting dictionaries with missing method expressions 2022-09-19 19:37:22 +00:00
issue54302.go cmd/compile: fix import/export of ODYNAMICDOTTYPE 2022-08-06 15:20:00 +00:00
issue54456.go cmd/compile: fix reflect naming of local generic types 2022-08-23 18:13:48 +00:00
issue54497.go cmd/compile: enable more inlining for unified IR 2022-08-18 17:26:40 +00:00
issue54535.go cmd/compile: fix unified IR's pointer-shaping 2022-08-23 18:14:10 +00:00
issue54537.go cmd/compile: fix "expression has untyped type" ICE in generic code 2022-08-23 18:13:59 +00:00
issue54765.go cmd/compile: reject not-in-heap types as type arguments 2022-08-31 23:52:00 +00:00
issue55101.go test: add regress test for issue 55101 2022-09-19 18:47:00 +00:00
issue58513.go cmd/compile/internal/noder: correct positions for synthetic closures 2023-02-27 23:07:49 +00:00
issue376214.go
list2.go
list.go all: fix some comments for method 2022-12-03 17:08:51 +00:00
listimp2.go
listimp.go
lockable.go
map.go
mapimp.go
maps.go
mapsimp.go
metrics.go
min.go
mincheck.go
minimp.go
mutualimp.go
nested.go cmd/compile: fix unified IR shapifying recursive instantiated types 2022-08-30 17:23:27 +00:00
nested.out cmd/compile: fix reflect naming of local generic types 2022-08-23 18:13:48 +00:00
ordered.go
orderedmap.go
orderedmapsimp.go
pair.go
pairimp.go
pragma.go
recoverimp.go
recoverimp.out
select.go
sets.go
setsimp.go
settable.go
shape1.go
shape1.out
sliceimp.go
slices.go
smallest.go
smoketest.go
stringable.go
stringer.go
stringerimp.go
struct.go
structinit.go
subdict.go
sum.go
tparam1.go
typelist.go
typeswitch1.go
typeswitch1.out
typeswitch2.go
typeswitch2.out
typeswitch3.go
typeswitch3.out
typeswitch4.go
typeswitch4.out
typeswitch5.go
typeswitch5.out
typeswitch6.go
typeswitch6.out
typeswitch7.go
typeswitch7.out
valimp.go
value.go