diff --git a/id.go b/id.go index 2e3df9dbd7..125c177f56 100644 --- a/id.go +++ b/id.go @@ -3,7 +3,6 @@ package influxdb import ( "encoding/binary" "encoding/hex" - "reflect" "strconv" "unsafe" ) @@ -83,13 +82,7 @@ func (i *ID) Decode(b []byte) error { } func unsafeBytesToString(in []byte) string { - src := *(*reflect.SliceHeader)(unsafe.Pointer(&in)) - dst := reflect.StringHeader{ - Data: src.Data, - Len: src.Len, - } - s := *(*string)(unsafe.Pointer(&dst)) - return s + return *(*string)(unsafe.Pointer(&in)) } // DecodeFromString parses s as a hex-encoded string. diff --git a/models/inline_strconv_parse.go b/models/inline_strconv_parse.go index 8db4837384..0ad5468994 100644 --- a/models/inline_strconv_parse.go +++ b/models/inline_strconv_parse.go @@ -1,7 +1,6 @@ package models // import "github.com/influxdata/influxdb/models" import ( - "reflect" "strconv" "unsafe" ) @@ -30,15 +29,6 @@ func parseBoolBytes(b []byte) (bool, error) { } // unsafeBytesToString converts a []byte to a string without a heap allocation. -// -// It is unsafe, and is intended to prepare input to short-lived functions -// that require strings. func unsafeBytesToString(in []byte) string { - src := *(*reflect.SliceHeader)(unsafe.Pointer(&in)) - dst := reflect.StringHeader{ - Data: src.Data, - Len: src.Len, - } - s := *(*string)(unsafe.Pointer(&dst)) - return s + return *(*string)(unsafe.Pointer(&in)) }