diff options
author | Russ Cox <rsc@golang.org> | 2011-10-17 18:48:45 -0400 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2011-10-17 18:48:45 -0400 |
commit | 2b2b662d5c1129f7f7dcb8f2d562a2e2080998cf (patch) | |
tree | 5c8ab2c3aa8763f759f35bc56aefeb812e1f42ae /test/interface/fake.go | |
parent | 2c219d7b67bc20d49a2b987fb5562aae01e6a561 (diff) | |
download | go-2b2b662d5c1129f7f7dcb8f2d562a2e2080998cf.tar.gz |
reflect: disallow Interface method on Value obtained via unexported name
Had been allowing it for use by fmt, but it is too hard to lock down.
Fix other packages not to depend on it.
R=r, r
CC=golang-dev
http://codereview.appspot.com/5266054
Diffstat (limited to 'test/interface/fake.go')
-rw-r--r-- | test/interface/fake.go | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/test/interface/fake.go b/test/interface/fake.go index bdc5b9072..ddb832542 100644 --- a/test/interface/fake.go +++ b/test/interface/fake.go @@ -12,20 +12,20 @@ package main import "reflect" type T struct { - f float32 - g float32 + F float32 + G float32 - s string - t string + S string + T string - u uint32 - v uint32 + U uint32 + V uint32 - w uint32 - x uint32 + W uint32 + X uint32 - y uint32 - z uint32 + Y uint32 + Z uint32 } func add(s, t string) string { @@ -40,16 +40,16 @@ func assert(b bool) { func main() { var x T - x.f = 1.0 - x.g = x.f - x.s = add("abc", "def") - x.t = add("abc", "def") - x.u = 1 - x.v = 2 - x.w = 1 << 28 - x.x = 2 << 28 - x.y = 0x12345678 - x.z = x.y + x.F = 1.0 + x.G = x.F + x.S = add("abc", "def") + x.T = add("abc", "def") + x.U = 1 + x.V = 2 + x.W = 1 << 28 + x.X = 2 << 28 + x.Y = 0x12345678 + x.Z = x.Y // check mem and string v := reflect.ValueOf(x) |