1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
// errorcheck
// Copyright 2025 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Test weak pointers.
package p
import (
"runtime"
"weak"
)
// Adapted from example in https://github.com/golang/go/issues/67552#issuecomment-2639661220
func conversion() {
p := "hello"
a := weak.Make(&p)
b := (weak.Pointer[*byte])(a) // ERROR "cannot convert a \(variable of struct type weak\.Pointer\[string\]\) to type weak.Pointer\[\*byte\]"
c := b.Value()
println(**c)
runtime.KeepAlive(p)
}
|