From: Ian Lance Taylor Date: Sat, 4 Feb 2012 01:36:25 +0000 (-0800) Subject: reflect: test that PtrTo returns types that match program types X-Git-Tag: weekly.2012-02-07~79 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=ae5c4ea05d18fba80248cd01762365ca1ccff717;p=gostls13.git reflect: test that PtrTo returns types that match program types The gccgo compiler was failing this test. R=golang-dev, gri CC=golang-dev https://golang.org/cl/5631046 --- diff --git a/src/pkg/reflect/all_test.go b/src/pkg/reflect/all_test.go index 63b127d102..8ae977912b 100644 --- a/src/pkg/reflect/all_test.go +++ b/src/pkg/reflect/all_test.go @@ -1528,6 +1528,18 @@ func TestAddr(t *testing.T) { if p.X != 4 { t.Errorf("Addr.Elem.Set valued to set value in top value") } + + // Verify that taking the address of a type gives us a pointer + // which we can convert back using the usual interface + // notation. + var s struct { + B *bool + } + ps := ValueOf(&s).Elem().Field(0).Addr().Interface() + *(ps.(**bool)) = new(bool) + if s.B == nil { + t.Errorf("Addr.Interface direct assignment failed") + } } func noAlloc(t *testing.T, n int, f func(int)) {