]> Cypherpunks repositories - gostls13.git/commitdiff
undo CL 66510044 / 6c0339d94123
authorRuss Cox <rsc@golang.org>
Mon, 14 Apr 2014 13:48:11 +0000 (09:48 -0400)
committerRuss Cox <rsc@golang.org>
Mon, 14 Apr 2014 13:48:11 +0000 (09:48 -0400)
Broke other things - see issue 7522.

Fixes #7522.
Reopens issue 7363.

««« original CL description
cmd/gc: make embedded, unexported fields read-only.

Fixes #7363.

LGTM=gri
R=gri, rsc, bradfitz
CC=golang-codereviews
https://golang.org/cl/66510044
»»»

LGTM=r, mpvl
R=golang-codereviews, r
CC=golang-codereviews, iant, mpvl
https://golang.org/cl/85580046

src/cmd/gc/reflect.c
test/fixedbugs/issue7363.go [deleted file]

index 75d7d8c1c80180587a47dfa8dbb6e70ba2b8fdf3..af9177f900032d19e914188147cae92a43056e37 100644 (file)
@@ -1138,8 +1138,7 @@ ok:
                                        ot = dgopkgpath(s, ot, t1->sym->pkg);
                        } else {
                                ot = dgostringptr(s, ot, nil);
-                               if(t1->type->sym != S &&
-                                  (t1->type->sym->pkg == builtinpkg || !exportname(t1->type->sym->name)))
+                               if(t1->type->sym != S && t1->type->sym->pkg == builtinpkg)
                                        ot = dgopkgpath(s, ot, localpkg);
                                else
                                        ot = dgostringptr(s, ot, nil);
diff --git a/test/fixedbugs/issue7363.go b/test/fixedbugs/issue7363.go
deleted file mode 100644 (file)
index 726396a..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-// run
-
-// Copyright 2014 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// issue 7363: CanSet must return false for unexported embedded struct fields.
-
-package main
-
-import "reflect"
-
-type a struct {
-}
-
-type B struct {
-       a
-}
-
-func main() {
-       b := &B{}
-       v := reflect.ValueOf(b).Elem().Field(0)
-       if v.CanSet() {
-               panic("B.a is an unexported embedded struct field")
-       }
-}