1
0
mirror of https://github.com/golang/go synced 2024-11-22 18:44:54 -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
listimp2.dir
listimp.dir
mapimp.dir
mapsimp.dir
mdempsky
mincheck.dir
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
issue46461b.go
issue46472.go
issue46591.go
issue47258.go
issue47272.go
issue47272.out
issue47514.go
issue47514b.go
issue47514c.go
issue47631.go
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
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
issue53390.go
issue53406.go
issue53419.go
issue53477.go
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
issue54225.go
issue54302.go
issue54456.go
issue54497.go
issue54535.go
issue54537.go
issue54765.go
issue55101.go
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
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
nested.out
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