From 368507bb6fde52fc60797ced83a25e13b1c6b19d Mon Sep 17 00:00:00 2001 From: Dominik Honnef Date: Mon, 14 Mar 2016 01:59:22 +0100 Subject: [PATCH] reflect: use SelectDir instead of uintptr in runtimeSelect And fix the wrong comment. Initially found this because the comment was wrong about the possible values. Then noticed that there doesn't seem to be any reason to use uintptr over SelectDir. Change-Id: I4f9f9640e49d89e558ed00bd99e57dab890785f5 Reviewed-on: https://go-review.googlesource.com/20655 Reviewed-by: Brad Fitzpatrick Run-TryBot: Brad Fitzpatrick TryBot-Result: Gobot Gobot --- src/reflect/value.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/reflect/value.go b/src/reflect/value.go index 95bfdb561c..2cb4c296d1 100644 --- a/src/reflect/value.go +++ b/src/reflect/value.go @@ -1876,7 +1876,7 @@ func Copy(dst, src Value) int { // A runtimeSelect is a single case passed to rselect. // This must match ../runtime/select.go:/runtimeSelect type runtimeSelect struct { - dir uintptr // 0, SendDir, or RecvDir + dir SelectDir // SelectSend, SelectRecv or SelectDefault typ *rtype // channel type ch unsafe.Pointer // channel val unsafe.Pointer // ptr to data (SendDir) or ptr to receive buffer (RecvDir) @@ -1939,7 +1939,7 @@ func Select(cases []SelectCase) (chosen int, recv Value, recvOK bool) { haveDefault := false for i, c := range cases { rc := &runcases[i] - rc.dir = uintptr(c.Dir) + rc.dir = c.Dir switch c.Dir { default: panic("reflect.Select: invalid Dir") @@ -2002,7 +2002,7 @@ func Select(cases []SelectCase) (chosen int, recv Value, recvOK bool) { } chosen, recvOK = rselect(runcases) - if runcases[chosen].dir == uintptr(SelectRecv) { + if runcases[chosen].dir == SelectRecv { tt := (*chanType)(unsafe.Pointer(runcases[chosen].typ)) t := tt.elem p := runcases[chosen].val -- 2.48.1