]> Cypherpunks repositories - gostls13.git/commitdiff
weak: fix weak pointer test to correctly iterate over weak pointers after GC
authorcuishuang <imcusg@gmail.com>
Mon, 24 Nov 2025 06:38:30 +0000 (14:38 +0800)
committerDavid Chase <drchase@google.com>
Mon, 8 Dec 2025 22:39:36 +0000 (14:39 -0800)
This change fixes a bug in the weak pointer test where the loop was
attempting to iterate over a nil slice (bt) instead of the weak
pointer slice (wt).

After setting bt to nil and running GC, the test should iterate over
the weak pointers to verify they've been cleared, not attempt to
iterate over the now-nil strong references.

Change-Id: Ic0425f59da132257770ed87d1bcea5d2c0a54e07
Reviewed-on: https://go-review.googlesource.com/c/go/+/723600
Reviewed-by: David Chase <drchase@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Sean Liao <sean@liao.dev>
src/weak/pointer_test.go

index 5e8b9bef5860e28bfedfa7748c6e8d6294642e11..b497c702af7b7148804cb3f698aafba881ed617d 100644 (file)
@@ -110,7 +110,7 @@ func TestPointerEquality(t *testing.T) {
        bt = nil
        // bt is no longer referenced.
        runtime.GC()
-       for i := range bt {
+       for i := range wt {
                st := wt[i].Value()
                if st != nil {
                        t.Fatalf("expected weak pointer to be nil, got %p", st)