mirror of
https://github.com/golang/go
synced 2024-11-23 18:30:06 -07:00
85dd62d5dd
Copying return values to heap-escaped result parameters requires write barriers. Fixes #13587. Change-Id: Ifa04ff7fa4adcc6393acdd82e527beb8f2a00a8b Reviewed-on: https://go-review.googlesource.com/17762 Reviewed-by: Keith Randall <khr@golang.org> Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
20 lines
443 B
Go
20 lines
443 B
Go
// errorcheck -0 -l -d=wb
|
|
|
|
// Copyright 2015 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 write barrier for implicit assignments to result parameters
|
|
// that have escaped to the heap.
|
|
|
|
package issue13587
|
|
|
|
import "errors"
|
|
|
|
func escape(p *error)
|
|
|
|
func F() (err error) {
|
|
escape(&err)
|
|
return errors.New("error") // ERROR "write barrier"
|
|
}
|