1
0
mirror of https://github.com/golang/go synced 2024-09-23 15:30:17 -06:00
go/test
Robert Griesemer 4fea5935f5 go/types, types2: disallow real, imag, complex on type parameters
We can type-check these fine but the API implications are unclear.

Fixes #50912.
For #50937.

Change-Id: If29bbb4a257ff6a85e3bfcd4755fd8f90c80fb87
Reviewed-on: https://go-review.googlesource.com/c/go/+/382116
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-02-01 01:07:25 +00:00
..
abi cmd/compile: restore tail call for method wrappers 2021-09-17 22:59:44 +00:00
alias3.dir
asmhdr.dir cmd/compile: use exact constant in go_asm.h 2022-01-10 21:27:19 +00:00
bench test/bench/go1: fix size for RegexpMatchMedium_32 2021-07-18 21:03:43 +00:00
chan [dev.typeparams] cmd/compile/internal/types2: implement close(ch) where ch is of type parameter type 2021-07-14 23:33:46 +00:00
closure3.dir cmd/compile/internal/inline: revise closure inl position fix 2021-11-24 15:55:56 +00:00
closure5.dir [dev.regabi] cmd/compile: exporting, importing, and inlining functions with OCLOSURE 2021-01-20 22:53:32 +00:00
codegen test/codegen: updated arithmetic tests to verify on ppc64,ppc64le 2021-11-01 13:12:37 +00:00
ddd2.dir
dwarf
fixedbugs cmd/compile: remove incorrect arm,arm64 CMP->CMN transformations 2022-01-27 19:52:52 +00:00
import2.dir
import4.dir
interface cmd/compile: match Go 1.17 compiler error messages more closely 2021-11-12 23:07:01 +00:00
intrinsic.dir
ken test/ken/slicearray.go: correct type width in comment 2021-12-05 12:50:44 +00:00
linkname.dir cmd/compile: allow inlining of ORANGE 2021-10-28 14:25:03 +00:00
method4.dir
oldescape_linkname.dir
retjmp.dir cmd/internal/obj: fix tail call in non-zero frame leaf function on MIPS and S390X 2021-12-13 22:42:08 +00:00
runtime
stress all: update references to symbols moved from io/ioutil to io 2021-04-05 17:51:15 +00:00
syntax test/syntax: remove interface.go 2021-04-06 18:55:39 +00:00
typeparam go/types, types2: disallow real, imag, complex on type parameters 2022-02-01 01:07:25 +00:00
uintptrescapes.dir
64bit.go
235.go
alg.go
alias1.go
alias2.go cmd/compile: match Go 1.17 compiler error messages more closely 2021-11-12 23:07:01 +00:00
alias3.go
alias.go
align.go
append1.go cmd/compile: match Go 1.17 compiler error messages more closely 2021-11-12 23:07:01 +00:00
append.go
args.go
armimm.go
asmhdr.go cmd/compile: emit sensible go_asm.h consts for big ints 2021-10-30 18:30:05 +00:00
assign1.go
assign.go [dev.typeparams] merge: merge branch 'dev.regabi' into 'dev.typeparams' 2020-12-14 12:13:36 -08:00
atomicload.go
bigalg.go
bigmap.go
blank1.go [dev.typeparams] merge: merge branch 'dev.regabi' into 'dev.typeparams' 2020-12-14 12:13:36 -08:00
blank.go
bom.go
bombad.go
bounds.go
cannotassign.go
chancap.go [dev.regabi] cmd/compile: remove toolstash scaffolding 2021-01-05 21:44:30 +00:00
chanlinear.go
char_lit1.go cmd/compile: do not report error for invalid constant 2021-03-05 18:46:43 +00:00
char_lit.go
checkbce.go
clearfat.go
closedchan.go
closure1.go
closure2.go [dev.regabi] test: add another closure test case 2021-01-01 13:44:37 +00:00
closure3.go cmd/compile: disable inlining functions with closures for now 2021-02-24 21:34:21 +00:00
closure4.go
closure5.go [dev.regabi] cmd/compile: exporting, importing, and inlining functions with OCLOSURE 2021-01-20 22:53:32 +00:00
closure6.go [dev.regabi] cmd/compile: fix escape analysis problem with closures 2021-01-23 02:15:24 +00:00
closure7.go [dev.regabi] test: add a test for inlining closures 2021-02-01 18:28:05 +00:00
closure.go
cmp6.go
cmp.go
cmplx.go
cmplxdivide1.go
cmplxdivide.c
cmplxdivide.go
complit1.go test: fix error check messages for 2 types2 tests 2021-06-02 05:14:45 +00:00
complit.go
compos.go
const1.go
const2.go
const3.go
const4.go
const5.go
const6.go
const7.go [dev.typeparams] cmd/compile: refuse excessively long constants 2021-02-03 20:22:34 +00:00
const.go
convert1.go
convert2.go cmd/compile: allow conversion from slice to array ptr 2021-04-21 00:53:48 +00:00
convert3.go
convert4.go cmd/compile: allow conversion from slice to array ptr 2021-04-21 00:53:48 +00:00
convert.go
convlit1.go
convlit.go cmd/compile/internal/types2: refactor untyped conversions 2021-03-23 05:11:09 +00:00
convT2X.go
copy1.go
copy.go
crlf.go
ddd1.go cmd/compile: match Go 1.17 compiler error messages more closely 2021-11-12 23:07:01 +00:00
ddd2.go
ddd.go
decl.go
declbad.go cmd/compile: rewrite a, b = f() to use temporaries when type not identical 2021-06-14 07:12:37 +00:00
defer.go
defererrcheck.go
deferfin.go [dev.regabi] test: enable finalizer tests on !amd64 2021-01-05 21:11:31 +00:00
defernil.go
deferprint.go
deferprint.out
devirt.go [dev.typeparams] cmd/compile: simplify interface conversions 2021-08-09 16:10:20 +00:00
directive2.go test: re-enable a bunch of tests with types2 2021-12-03 16:24:32 +00:00
directive.go test: re-enable a bunch of tests with types2 2021-12-03 16:24:32 +00:00
divide.go
divmod.go
embedfunc.go cmd/compile: require 'go 1.16' go.mod line for //go:embed 2021-01-19 20:07:52 +00:00
embedvers.go cmd/compile: require 'go 1.16' go.mod line for //go:embed 2021-01-19 20:07:52 +00:00
empty.go
env.go
eof1.go
eof.go
escape2.go [dev.typeparams] cmd/compile: move call logic from order.go to escape 2021-06-23 16:48:12 +00:00
escape2n.go [dev.typeparams] cmd/compile: move call logic from order.go to escape 2021-06-23 16:48:12 +00:00
escape3.go
escape4.go [dev.regabi] cmd/compile: convert OPANIC argument to interface{} during typecheck 2021-01-18 05:55:08 +00:00
escape5.go [dev.typeparams] test: rename blank functions 2021-07-28 21:41:07 +00:00
escape_array.go [dev.typeparams] cmd/compile: simplify ~r/~b naming 2021-05-26 23:50:32 +00:00
escape_calls.go [dev.typeparams] cmd/compile: simplify ~r/~b naming 2021-05-26 23:50:32 +00:00
escape_closure.go [dev.typeparams] cmd/compile: simplify ~r/~b naming 2021-05-26 23:50:32 +00:00
escape_field.go
escape_goto.go [dev.typeparams] test: rename blank functions 2021-07-28 21:41:07 +00:00
escape_hash_maphash.go
escape_iface.go
escape_indir.go
escape_level.go
escape_map.go
escape_param.go [dev.typeparams] cmd/compile: simplify ~r/~b naming 2021-05-26 23:50:32 +00:00
escape_runtime_atomic.go [dev.typeparams] cmd/compile: simplify ~r/~b naming 2021-05-26 23:50:32 +00:00
escape_selfassign.go
escape_slice.go [dev.typeparams] cmd/compile: simplify ~r/~b naming 2021-05-26 23:50:32 +00:00
escape_struct_param1.go
escape_struct_param2.go
escape_struct_return.go [dev.typeparams] cmd/compile: simplify ~r/~b naming 2021-05-26 23:50:32 +00:00
escape_sync_atomic.go
escape_unsafe.go [dev.typeparams] cmd/compile: simplify ~r/~b naming 2021-05-26 23:50:32 +00:00
escape.go
fibo.go
finprofiled.go
float_lit2.go
float_lit3.go test: re-enable a bunch of tests with types2 2021-12-03 16:24:32 +00:00
float_lit.go
floatcmp.go
for.go
func1.go
func2.go
func3.go
func4.go
func5.go
func6.go
func7.go
func8.go
func.go
funcdup2.go
funcdup.go
fuse.go test: do not run fuse test in noopt mode 2021-04-28 15:55:10 +00:00
gc1.go
gc2.go
gc.go
gcgort.go
gcstring.go
goprint.go
goprint.out
goto.go
heapsampling.go
helloworld.go
helloworld.out
if.go
import1.go test: re-enable most go/tests that were disabled because of types2 differences 2022-01-11 02:26:58 +00:00
import2.go
import4.go
import5.go
import6.go test: re-enable most go/tests that were disabled because of types2 differences 2022-01-11 02:26:58 +00:00
import.go
index0.go
index1.go
index2.go
index.go
indirect1.go
indirect.go
init1.go
init.go [dev.typeparams] merge: merge branch 'dev.regabi' into 'dev.typeparams' 2020-12-14 12:13:36 -08:00
initcomma.go
initempty.go
initexp.go cmd/compile: fix exponential-time init-cycle reporting 2021-01-08 17:14:20 +00:00
initialize.go
initializerr.go test: re-enable most go/tests that were disabled because of types2 differences 2022-01-11 02:26:58 +00:00
initloop.go
inline_big.go [dev.typeparams] cmd/compile/internal/inline: refactor mkinlcall 2021-05-27 23:40:56 +00:00
inline_caller.go
inline_callers.go
inline_endian.go test: skip endian inlining test on noopt builder 2021-10-07 00:39:17 +00:00
inline_literal.go
inline_math_bits_rotate.go
inline_sync.go
inline_variadic.go [dev.typeparams] cmd/compile: simplify inlining variadic calls 2021-05-26 23:50:45 +00:00
inline.go cmd/compile/internal/inline: revise closure inl position fix 2021-11-24 15:55:56 +00:00
int_lit.go
intcvt.go
intrinsic_atomic.go
intrinsic.go
iota.go
label1.go
label.go
linkmain_run.go
linkmain.go
linkname2.go test: re-enable a bunch of tests with types2 2021-12-03 16:24:32 +00:00
linkname3.go test: re-enable a bunch of tests with types2 2021-12-03 16:24:32 +00:00
linkname.go
linkobj.go test: recognize and use gc build tag 2020-12-18 00:10:44 +00:00
linkx_run.go test: recognize and use gc build tag 2020-12-18 00:10:44 +00:00
linkx.go
literal2.go
literal.go
live1.go
live2.go
live_regabi.go test: enable regabi test on arm64 2021-08-20 19:58:13 +00:00
live_syscall.go
live.go [dev.typeparams] cmd/compile: simplify interface conversions 2021-08-09 16:10:20 +00:00
locklinear.go
loopbce.go
mainsig.go [dev.regabi] cmd/compile: cleanup for concrete types - noder 2020-12-17 04:43:46 +00:00
makechan.go cmd/compile/internal/types2: add unsafe.Add and unsafe.Slice 2021-04-23 00:41:01 +00:00
makemap.go cmd/compile/internal/types2: add unsafe.Add and unsafe.Slice 2021-04-23 00:41:01 +00:00
makenew.go
makeslice.go
mallocfin.go
map1.go [dev.typeparams] merge: merge branch 'dev.regabi' into 'dev.typeparams' 2020-12-14 12:13:36 -08:00
map.go
mapclear.go
maplinear.go
maymorestack.go cmd/{asm,compile,internal/obj}: add "maymorestack" support 2021-11-05 00:52:06 +00:00
mergemul.go
method1.go
method2.go go/types, types2: better error message when using *interface instead of interface 2022-01-10 22:48:40 +00:00
method3.go
method4.go
method5.go
method6.go
method7.go [dev.typeparams] cmd/compile: fix MethodExpr handling with embedded fields 2021-01-26 17:05:06 +00:00
method.go
named1.go
named.go
nil.go
nilcheck.go
nilptr2.go
nilptr3.go [dev.regabi] cmd/compile: deref PAUTOHEAPs during SSA construction 2021-01-10 08:01:49 +00:00
nilptr4.go
nilptr5_aix.go
nilptr5_wasm.go
nilptr5.go
nilptr_aix.go
nilptr.go test: disable nilptr on windows/arm64 2021-02-19 00:40:22 +00:00
nosplit.go test: make nosplit test invariant to ABI wrappers 2021-03-18 16:51:25 +00:00
notinheap2.go
notinheap3.go
notinheap.go
nowritebarrier.go
nul1.go
opt_branchlikely.go
parentype.go
peano.go
phiopt.go cmd/compile/internal/ssa: strengthen phiopt pass 2021-03-29 05:50:11 +00:00
print.go
print.out
printbig.go
printbig.out
prove.go docs: fix spelling 2021-02-24 04:11:43 +00:00
range.go
README.md
recover1.go
recover2.go
recover3.go
recover4.go test/recover4.go: use mprotect to create a hole instead of munmap 2021-11-12 16:58:34 +00:00
recover5.go
recover.go
reflectmethod1.go
reflectmethod2.go
reflectmethod3.go
reflectmethod4.go
reflectmethod5.go
reflectmethod6.go
reflectmethod7.go all: use reflect.{Pointer,PointerTo} 2021-10-26 14:24:17 +00:00
reflectmethod8.go [dev.typeparams] cmd/compile: fix missing condition in usemethod 2021-07-22 17:48:41 +00:00
rename1.go
rename.go
reorder2.go
reorder.go [dev.regabi] cmd/compile: cleanup OAS2FUNC ordering 2021-01-16 23:19:26 +00:00
retjmp.go
return.go
rotate0.go
rotate1.go
rotate2.go
rotate3.go
rotate.go
run.go cmd/compile: support structural typing in unified IR 2022-01-27 00:03:31 +00:00
rune.go
runtime.go
shift1.go test: re-enable a bunch of tests with types2 2021-12-03 16:24:32 +00:00
shift2.go
sieve.go
sigchld.go
sigchld.out
simassign.go
sinit_run.go test: recognize and use gc build tag 2020-12-18 00:10:44 +00:00
sinit.go
sizeof.go
slice3.go
slice3err.go [dev.typeparams] test: finish triaging all outstanding failing tests 2020-12-14 21:28:48 +00:00
slicecap.go
sliceopt.go
solitaire.go
stack.go
stackobj2.go
stackobj3.go
stackobj.go
strcopy.go
strength.go
string_lit.go
stringrange.go
struct0.go
switch2.go
switch3.go [dev.typeparams] cmd/compile/internal/types2: report error for invalid (but empty) expr switch 2020-12-15 19:43:32 +00:00
switch4.go
switch5.go [dev.typeparams] test: finish triaging all outstanding failing tests 2020-12-14 21:28:48 +00:00
switch6.go cmd/compile, types2: better error message for invalid type assertion 2021-10-19 17:01:35 +00:00
switch7.go [dev.typeparams] test: finish triaging all outstanding failing tests 2020-12-14 21:28:48 +00:00
switch.go
tinyfin.go
torture.go
turing.go
typecheck.go test: re-enable most go/tests that were disabled because of types2 differences 2022-01-11 02:26:58 +00:00
typecheckloop.go
typeswitch1.go
typeswitch2.go
typeswitch2b.go
typeswitch3.go cmd/compile/internal/types2: better error for type assertion/switch on type parameter value 2021-11-12 22:20:51 +00:00
typeswitch.go
uintptrescapes2.go [dev.typeparams] cmd/compile: skip escape analysis diagnostics for wrappers 2021-06-24 18:24:24 +00:00
uintptrescapes3.go
uintptrescapes.go
undef.go
unsafebuiltins.go unsafe: allow unsafe.Slice up to end of address space 2021-10-13 18:15:16 +00:00
used.go [dev.typeparams] all: merge dev.regabi (07569da) into dev.typeparams 2020-12-28 00:39:17 -08:00
utf.go
varerr.go
varinit.go
winbatch.go
writebarrier.go cmd/compile: don't emit write barriers for offsets of global addresses 2021-08-23 19:46:36 +00:00
zerodivide.go all: use bytes.Cut, strings.Cut 2021-10-06 15:53:04 +00:00

The test directory contains tests of the Go tool chain and runtime. It includes black box tests, regression tests, and error output tests. They are run as part of all.bash.

To run just these tests, execute:

../bin/go run run.go

To run just tests from specified files in this directory, execute:

../bin/go run run.go -- file1.go file2.go ...

Standard library tests should be written as regular Go tests in the appropriate package.

The tool chain and runtime also have regular Go tests in their packages. The main reasons to add a new test to this directory are:

  • it is most naturally expressed using the test runner; or
  • it is also applicable to gccgo and other Go tool chains.