diff options
author | Alberto Donizetti <alb.donizetti@gmail.com> | 2017-04-22 15:28:58 +0200 |
---|---|---|
committer | Alberto Donizetti <alb.donizetti@gmail.com> | 2017-04-24 12:37:49 +0000 |
commit | 1737aef270a8954f3f8718beb55d6ddfc1cf5d21 (patch) | |
tree | 6173eb7a020ea88e61613caa2586236cdb1ec8de /test/complit1.go | |
parent | 26536b2f327781ad76afe22109b94b7b193407bf (diff) | |
download | go-1737aef270a8954f3f8718beb55d6ddfc1cf5d21.tar.gz go-1737aef270a8954f3f8718beb55d6ddfc1cf5d21.zip |
cmd/compile: more error position tests for the typechecker
This change adds line position tests for several yyerror calls in the
typechecker that are currently not tested in any way.
Untested yyerror calls were found by replacing them with
yerrorl(src.NoXPos, ...)
(thus destroying position information in the error), and then running
the test suite. No failures means no test coverage for the relevant
yyerror call.
For #19683
Change-Id: Iedb3d2f02141b332e9bfa76dbf5ae930ad2fddc3
Reviewed-on: https://go-review.googlesource.com/41477
Run-TryBot: Alberto Donizetti <alb.donizetti@gmail.com>
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Diffstat (limited to 'test/complit1.go')
-rw-r--r-- | test/complit1.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/test/complit1.go b/test/complit1.go index 9dde994376..83695a9e88 100644 --- a/test/complit1.go +++ b/test/complit1.go @@ -22,6 +22,10 @@ var ( _ = m[0][:] // ERROR "slice of unaddressable value" _ = f()[:] // ERROR "slice of unaddressable value" + _ = 301[:] // ERROR "cannot slice" + _ = 3.1[:] // ERROR "cannot slice" + _ = true[:] // ERROR "cannot slice" + // these are okay because they are slicing a pointer to an array _ = (&[3]int{1, 2, 3})[:] _ = mp[0][:] @@ -35,10 +39,15 @@ type T struct { next *T } +type TP *T +type Ti int + var ( _ = &T{0, 0, "", nil} // ok _ = &T{i: 0, f: 0, s: "", next: {}} // ERROR "missing type in composite literal|omit types within composite literal" _ = &T{0, 0, "", {}} // ERROR "missing type in composite literal|omit types within composite literal" + _ = TP{i: 0, f: 0, s: "", next: {}} // ERROR "invalid pointer type" + _ = &Ti{} // ERROR "invalid pointer type" ) type M map[T]T |