go/src/reflect
Russ Cox 8bb51a73e9 reflect: audit and explain safety of all unsafe.Pointer additions
It's not safe to do p+x with unsafe if that would point past the
end of the object. (Valid in C, not safe in Go.)
Pass a "whySafe" reason (compiled away) to explain at each
call site why it's safe.

Fixes #21733.

Change-Id: I5da8c25bde66f5c9beac232f2135dcab8e8bf3b1
Reviewed-on: https://go-review.googlesource.com/80738
Reviewed-by: Austin Clements <austin@google.com>
2017-12-01 21:05:40 +00:00
..
all_test.go reflect: fix interface to interface conversion in Call 2017-12-01 15:31:31 +00:00
asm_386.s
asm_amd64.s
asm_amd64p32.s
asm_arm.s
asm_arm64.s
asm_mips64x.s
asm_mipsx.s reflect: add support for GOARCH=mips{,le} 2016-11-03 23:01:05 +00:00
asm_ppc64x.s
asm_s390x.s
deepequal.go reflect: document how DeepEqual handles cycles 2017-08-04 22:22:03 +00:00
example_test.go reflect: add example for StructOf 2016-12-06 20:18:12 +00:00
export_test.go reflect: audit and explain safety of all unsafe.Pointer additions 2017-12-01 21:05:40 +00:00
makefunc.go runtime: clean up and improve reflect.methodValue comments 2016-12-19 21:02:53 +00:00
set_test.go reflect: check pkgPath for unexported methods in Implements 2017-06-08 00:54:14 +00:00
swapper.go reflect: audit and explain safety of all unsafe.Pointer additions 2017-12-01 21:05:40 +00:00
tostring_test.go
type.go reflect: audit and explain safety of all unsafe.Pointer additions 2017-12-01 21:05:40 +00:00
value.go reflect: audit and explain safety of all unsafe.Pointer additions 2017-12-01 21:05:40 +00:00