summaryrefslogtreecommitdiff
path: root/src/reflect/value.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/reflect/value.go')
-rw-r--r--src/reflect/value.go4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/reflect/value.go b/src/reflect/value.go
index 12d423f3c..9c65ee270 100644
--- a/src/reflect/value.go
+++ b/src/reflect/value.go
@@ -791,7 +791,9 @@ func (v Value) Elem() Value {
})(v.ptr))
}
x := unpackEface(eface)
- x.flag |= v.flag & flagRO
+ if x.flag != 0 {
+ x.flag |= v.flag & flagRO
+ }
return x
case Ptr:
ptr := v.ptr