author | Shawn Walker-Salas <shawn.walker@oracle.com> |
Tue, 20 Dec 2016 11:59:29 -0800 | |
changeset 7518 | c388d4e1d3ad |
permissions | -rw-r--r-- |
7518
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
1 |
From 9b4e323e883353e870879fe87c2c16872f43a98d Mon Sep 17 00:00:00 2001 |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
2 |
From: David Crawshaw <[email protected]> |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
3 |
Date: Tue, 16 Aug 2016 07:44:57 -0400 |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
4 |
Subject: [PATCH 06/38] [release-branch.go1.7] reflect: clear tflag on new |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
5 |
types |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
6 |
|
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
7 |
Fixes #16722 |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
8 |
|
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
9 |
Change-Id: I50a0e69d3e79d13bc1860cd983267c3db087a4b8 |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
10 |
Reviewed-on: https://go-review.googlesource.com/27119 |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
11 |
Reviewed-by: Brad Fitzpatrick <[email protected]> |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
12 |
Run-TryBot: Brad Fitzpatrick <[email protected]> |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
13 |
TryBot-Result: Gobot Gobot <[email protected]> |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
14 |
Reviewed-on: https://go-review.googlesource.com/28630 |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
15 |
--- |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
16 |
src/reflect/all_test.go | 2 ++ |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
17 |
src/reflect/type.go | 2 ++ |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
18 |
2 files changed, 4 insertions(+) |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
19 |
|
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
20 |
diff --git a/src/reflect/all_test.go b/src/reflect/all_test.go |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
21 |
index bbb098f..780799c 100644 |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
22 |
--- a/src/reflect/all_test.go |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
23 |
+++ b/src/reflect/all_test.go |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
24 |
@@ -5720,6 +5720,8 @@ func TestTypeStrings(t *testing.T) { |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
25 |
{TypeOf(new(XM)), "*reflect_test.XM"}, |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
26 |
{TypeOf(new(XM).String), "func() string"}, |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
27 |
{TypeOf(new(XM)).Method(0).Type, "func(*reflect_test.XM) string"}, |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
28 |
+ {ChanOf(3, TypeOf(XM{})), "chan reflect_test.XM"}, |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
29 |
+ {MapOf(TypeOf(int(0)), TypeOf(XM{})), "map[int]reflect_test.XM"}, |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
30 |
} |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
31 |
|
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
32 |
for i, test := range stringTests { |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
33 |
diff --git a/src/reflect/type.go b/src/reflect/type.go |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
34 |
index de6e05f..8916710 100644 |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
35 |
--- a/src/reflect/type.go |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
36 |
+++ b/src/reflect/type.go |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
37 |
@@ -1848,6 +1848,7 @@ func ChanOf(dir ChanDir, t Type) Type { |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
38 |
prototype := *(**chanType)(unsafe.Pointer(&ichan)) |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
39 |
ch := new(chanType) |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
40 |
*ch = *prototype |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
41 |
+ ch.tflag = 0 |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
42 |
ch.dir = uintptr(dir) |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
43 |
ch.str = resolveReflectName(newName(s, "", "", false)) |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
44 |
ch.hash = fnv1(typ.hash, 'c', byte(dir)) |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
45 |
@@ -1892,6 +1893,7 @@ func MapOf(key, elem Type) Type { |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
46 |
mt := new(mapType) |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
47 |
*mt = **(**mapType)(unsafe.Pointer(&imap)) |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
48 |
mt.str = resolveReflectName(newName(s, "", "", false)) |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
49 |
+ mt.tflag = 0 |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
50 |
mt.hash = fnv1(etyp.hash, 'm', byte(ktyp.hash>>24), byte(ktyp.hash>>16), byte(ktyp.hash>>8), byte(ktyp.hash)) |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
51 |
mt.key = ktyp |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
52 |
mt.elem = etyp |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
53 |
-- |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
54 |
2.7.4 |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
55 |