go/test/typeparam
Robert Griesemer 0807986fe6 go/types, types2: correctly consider ~ (tilde) in constraint type inference
When doing constraint type inference, we must consider whether the
constraint's core type is precise (no tilde) or imprecise (tilde,
or not a single specific type). In the latter case, we cannot infer
an unknown type argument from the (imprecise) core type because there
are infinitely many possible types. For instance, given

        [E ~byte]

if we don't know E, we cannot infer that E must be byte (it could be
myByte, etc.). On the other hand, if we do know the type argument,
say for S in this example:

        [S ~[]E, E any]

we must consider the underlying type of S when matching against ~[]E
because we have a tilde.

Because constraint type inference may infer type arguments that were
not eligible initially (because they were unknown and the core type
is imprecise), we must iterate the process until nothing changes any-
more. For instance, given

        [S ~[]E, M ~map[string]S, E any]

where we initially only know the type argument for M, we must ignore
S (and E) at first. After one iteration of constraint type inference,
S is known at which point we can infer E as well.

The change is large-ish but the actual functional changes are small:

- There's a new method "unknowns" to determine the number of as of yet
  unknown type arguments.

- The adjCoreType function has been adjusted to also return tilde
  and single-type information. This is now conveniently returned
  as (*term, bool), and the function has been renamed to coreTerm.

- The original constraint type inference loop has been adjusted to
  consider tilde information.

- This adjusted original constraint type inference loop has been
  nested in another loop for iteration, together with some minimal
  logic to control termination.

The remaining changes are modifications to tests:

- There's a substantial new test for this issue.

- Several existing test cases were adjusted to accomodate the
  fact that they inferred incorrect types: tildes have been
  removed throughout. Most of these tests are for pathological
  cases.

- A couple of tests were adjusted where there was a difference
  between the go/types and types2 version.

Fixes #51229.

Change-Id: If0bf5fb70ec22913b5a2da89adbf8a27fbc921d9
Reviewed-on: https://go-review.googlesource.com/c/go/+/387977
Trust: Robert Griesemer <gri@golang.org>
Run-TryBot: Robert Griesemer <gri@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
2022-03-01 23:48:58 +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
absdiffimp2.dir go/types, types2: disallow real, imag, complex on type parameters 2022-02-01 01:07:25 +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
gencrawler.dir cmd/compile, test: updated comments in crawler.go, added test 2022-01-10 19:51:05 +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
issue48962.dir go/types, types2: consider type parameters for cycle detection 2022-01-24 21:27:28 +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
issue49524.dir cmd/compile: ensure stenciled function bodies are nonempty 2021-11-11 20:34:56 +00:00
issue49659.dir cmd/compile: don't run ComputeAddrTaken on imported generic functions 2021-11-19 00:05:59 +00:00
issue49667.dir cmd/compile: ensure generic function is loaded when it needs to be re-exported 2021-11-20 01:00:16 +00:00
issue49893.dir cmd/compile: fix case where g.curDecl should be saved/restored 2021-12-02 07:04:05 +00:00
issue50121.dir constraints: remove package 2022-02-03 03:13:33 +00:00
issue50121b.dir constraints: remove package 2022-02-03 03:13:33 +00:00
issue50437.dir cmd/compile: fix instantiation of types referenced during inlining 2022-01-07 17:55:52 +00:00
issue50481b.dir cmd/compile: make sure multiple blank typeparams remain unique 2022-01-21 00:39:55 +00:00
issue50481c.dir cmd/compile: make sure multiple blank typeparams remain unique 2022-01-21 00:39:55 +00:00
issue50485.dir cmd/compile: fix the names of methods created during type substitution 2022-01-11 22:50:23 +00:00
issue50486.dir cmd/compile: in typ0(), load base type before checking s.Def 2022-01-11 21:56:11 +00:00
issue50552.dir cmd/compile: resolve dictionaries/shape methods in markInlBody, if needed 2022-01-11 21:51:51 +00:00
issue50561.dir cmd/compile: descend through types to find fully-instantiated types 2022-01-13 22:58:24 +00:00
issue50598.dir cmd/compile: add call to ImportedBody() when exporting shape inst body 2022-01-14 16:41:18 +00:00
issue50841.dir cmd/compile: add missing shape check in (*Tsubster).tinter 2022-01-27 05:30:27 +00:00
issue51219.dir test: add new test case for 51219 that triggers the types2 issue 2022-02-28 14:59:04 +00:00
issue51219b.dir test: add new test case for 51219 that triggers the types2 issue 2022-02-28 14:59:04 +00:00
issue51367.dir cmd/compile: fix case for structural types where we should be looking at typeparams 2022-02-28 15:58:07 +00:00
listimp.dir [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
listimp2.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 [dev.typeparams] Don't check typecheck(3) on transform, so no need to export/import it 2021-05-24 22:17:33 +00:00
mdempsky test: workaround codegen bug in typeparam/mdempsky/13.go 2022-03-01 20:52:30 +00:00
mincheck.dir cmd/compile/internal/types2: use "implements" rather than "satisfies" in error messages 2021-11-15 21:22:19 +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
select.dir test: add test of select inside generic function 2021-12-03 22:57:02 +00:00
setsimp.dir [dev.typeparams] cmd/compile: always generate (*T).M wrappers for instantiated methods 2021-05-26 21:39:54 +00:00
sliceimp.dir test/typeparam/sliceimp.dir: fix typo in a.go 2021-08-30 01:55:58 +00:00
stringerimp.dir [dev.typeparams] cmd/compile: get export/import of generic types & functions working 2021-05-21 03:41:18 +00:00
structinit.dir cmd/compile: don't re-typecheck while importing 2021-12-16 00:34:10 +00:00
valimp.dir [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
absdiff.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
absdiff2.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
absdiff3.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
absdiffimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
absdiffimp2.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
adder.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
aliasimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
append.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
boundmethod.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
builtins.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
chans.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
chansimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
combine.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
cons.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
dedup.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +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 all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
dictionaryCapture.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
dottype.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
dottype.out [dev.typeparams] cmd/compile: implement generic .(T) operations 2021-07-29 17:15:21 +00:00
double.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
eface.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
equal.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
fact.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
factimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
gencrawler.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
gencrawler.out cmd/compile, test: updated comments in crawler.go, added test 2022-01-10 19:51:05 +00:00
genembed.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
genembed2.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
geninline.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
graph.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
ifaceconv.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
importtest.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
index.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
index2.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
interfacearg.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue23536.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue39755.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue44688.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue45547.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue45722.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue45738.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue45817.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue46461.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue46461b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue46472.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue46591.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47258.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47272.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47272.out cmd/compile: fix CONVIFACE case converting interface to empty interface 2021-08-17 13:23:13 +00:00
issue47514.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47514b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47514c.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47631.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47676.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47684.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47684b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47684c.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47708.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47710.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47713.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47713.out cmd/compile: fix naming of types inside instantiations 2021-08-24 18:30:13 +00:00
issue47716.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47723.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47740.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +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 all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47775.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47775b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47797.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47877.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47878.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47892.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47892b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47896.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47901.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47924.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47925.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47925b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47925c.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47925d.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47929.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47948.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47966.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48013.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48016.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48030.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48042.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48047.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48049.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48056.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48094.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48094b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48137.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48185a.go cmd/compile: fix deadlock in (*Named).load 2021-09-07 17:38:14 +00:00
issue48185b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48191.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48198.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48225.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48253.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48276a.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48276a.out go/types, types2: fix implements and identical predicates 2022-01-31 20:35:07 +00:00
issue48276b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48280.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48306.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48317.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48318.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48337a.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48337a.out cmd/compile: fix generic type handling in crawler 2021-09-17 19:50:04 +00:00
issue48337b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48344.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48424.go go/types, types2: correctly consider ~ (tilde) in constraint type inference 2022-03-01 23:48:58 +00:00
issue48453.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48454.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48462.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48537.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48538.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48598.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48602.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48604.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48609.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48617.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48645a.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +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 all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48711.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48716.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48838.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48962.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49027.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49049.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49241.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49246.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49295.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49309.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49421.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49432.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49497.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49516.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49524.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49538.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49547.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49611.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49659.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49659b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49667.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49875.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49893.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50002.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50109.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50109.out cmd/compile: fix identity case relating to 'any' and shape types 2021-12-13 06:35:06 +00:00
issue50109b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50121.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50121b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50147.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50177.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50193.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50193.out cmd/compile: upgrade ssa to do (int or float) -> complex 2021-12-16 00:33:58 +00:00
issue50259.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50264.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50317.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50417.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50417b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50419.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50437.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50481b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50481c.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50481c.out cmd/compile: make sure multiple blank typeparams remain unique 2022-01-21 00:39:55 +00:00
issue50485.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50486.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50552.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50561.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50598.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50642.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50690a.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50690a.out cmd/compile: distinguish bound calls/field access in getInstInfo 2022-01-24 17:07:30 +00:00
issue50690b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50690b.out cmd/compile: distinguish bound calls/field access in getInstInfo 2022-01-24 17:07:30 +00:00
issue50690c.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50690c.out cmd/compile: distinguish bound calls/field access in getInstInfo 2022-01-24 17:07:30 +00:00
issue50833.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50841.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50993.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue51219.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue51219.out test: add new test case for 51219 that triggers the types2 issue 2022-02-28 14:59:04 +00:00
issue51219b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue51232.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue51233.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue51236.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue51245.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue51303.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue51303.out cmd/compile: deal with constructed types that have shapes in them 2022-02-28 19:38:22 +00:00
issue51355.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue51367.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue376214.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
list.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
list2.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
listimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
listimp2.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
lockable.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
map.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
mapimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
maps.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
mapsimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
metrics.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
min.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
mincheck.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
minimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
mutualimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
nested.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
nested.out cmd/compile: ensure we replace package placeholder in type names 2021-11-14 17:38:42 +00:00
ordered.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
orderedmap.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
orderedmapsimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
pair.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
pairimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
pragma.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
recoverimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
recoverimp.out test: add test for export/import of recover & defer 2021-10-05 20:53:02 +00:00
select.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
sets.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
setsimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
settable.go go/types, types2: correctly consider ~ (tilde) in constraint type inference 2022-03-01 23:48:58 +00:00
shape1.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +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 all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
slices.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
smallest.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
smoketest.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
stringable.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
stringer.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
stringerimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
struct.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
structinit.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
subdict.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
sum.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
tparam1.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
typelist.go go/types, types2: correctly consider ~ (tilde) in constraint type inference 2022-03-01 23:48:58 +00:00
typeswitch1.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
typeswitch1.out test: add extra typeswitch tests that cause duplicate cases 2021-12-08 17:55:13 +00:00
typeswitch2.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
typeswitch2.out test: add extra typeswitch tests that cause duplicate cases 2021-12-08 17:55:13 +00:00
typeswitch3.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
typeswitch3.out test: add extra typeswitch tests that cause duplicate cases 2021-12-08 17:55:13 +00:00
typeswitch4.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
typeswitch4.out test: add extra typeswitch tests that cause duplicate cases 2021-12-08 17:55:13 +00:00
typeswitch5.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
typeswitch5.out [dev.typeparams] cmd/compile: implement generic type switches 2021-08-09 18:41:45 +00:00
typeswitch6.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +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 all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +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 all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
value.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00