1 | |
2 | |
3 | |
4 | |
5 | package a |
6 | |
7 | import ( |
8 | "reflect" |
9 | "unsafe" |
10 | ) |
11 | |
12 | |
13 | func _(p *byte, n int) []byte { |
14 | var sh reflect.SliceHeader |
15 | sh.Data = uintptr(unsafe.Pointer(p)) |
16 | sh.Len = n |
17 | sh.Cap = n |
18 | return *(*[]byte)(unsafe.Pointer(&sh)) |
19 | } |
20 | |
21 | |
22 | func _(p *byte, n int) []byte { |
23 | return *(*[]byte)(unsafe.Pointer(&reflect.SliceHeader{ |
24 | Data: uintptr(unsafe.Pointer(p)), |
25 | Len: n, |
26 | Cap: n, |
27 | })) |
28 | } |
29 | |
30 | |
31 | func _(p *byte, n int) []byte { |
32 | var res []byte |
33 | *(*reflect.StringHeader)(unsafe.Pointer(&res)) = reflect.StringHeader{ |
34 | Data: uintptr(unsafe.Pointer(p)), |
35 | Len: n, |
36 | } |
37 | return res |
38 | } |
39 | |
40 | func _() { |
41 | |
42 | var err error |
43 | _ = &err |
44 | } |
45 | |