// compile // Copyright 2023 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. package p type S[T comparable] struct { m map[T]T } func (s S[T]) M1(node T) { defer delete(s.m, node) } func (s S[T]) M2(node T) { defer func() { delete(s.m, node) }() } func (s S[T]) M3(node T) { defer f(s.m, node) } //go:noinline func f[T comparable](map[T]T, T) {} var _ = S[int]{}