aboutsummaryrefslogtreecommitdiff
path: root/test/makemap.go
diff options
context:
space:
mode:
authorTobias Klauser <tklauser@distanz.ch>2018-03-13 17:45:17 +0100
committerTobias Klauser <tobias.klauser@gmail.com>2018-03-14 08:36:15 +0000
commitd32018a50017b075cd46be6b1f5cfb5050337140 (patch)
treedc8195a2849e1b7517f164ebc5417f63c9d7eec6 /test/makemap.go
parent4d38d3ae33ed808f9430ff5a205faed4bc3f19c5 (diff)
downloadgo-d32018a50017b075cd46be6b1f5cfb5050337140.tar.gz
go-d32018a50017b075cd46be6b1f5cfb5050337140.zip
test: check that size argument errors are emitted at call site
Add tests for the "negative size argument in make.*" and "size argument too large in make.*" error messages to appear at call sites in case the size is a const defined on another line. As suggested by Matthew in a comment on CL 69910. Change-Id: I5c33d4bec4e3d20bb21fe8019df27999997ddff3 Reviewed-on: https://go-review.googlesource.com/100395 Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Diffstat (limited to 'test/makemap.go')
-rw-r--r--test/makemap.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/test/makemap.go b/test/makemap.go
index 60983c0d47..d19e6c3444 100644
--- a/test/makemap.go
+++ b/test/makemap.go
@@ -18,6 +18,12 @@ func main() {
sink = make(T, -1) // ERROR "negative size argument in make.*"
sink = make(T, uint64(1<<63)) // ERROR "size argument too large in make.*"
+ // Test that errors are emitted at call sites, not const declarations
+ const x = -1
+ sink = make(T, x) // ERROR "negative size argument in make.*"
+ const y = uint64(1 << 63)
+ sink = make(T, y) // ERROR "size argument too large in make.*"
+
sink = make(T, 0.5) // ERROR "constant 0.5 truncated to integer"
sink = make(T, 1.0)
sink = make(T, float32(1.0)) // ERROR "non-integer size argument in make.*"