Run Format

Source file test/notinheap2.go

Documentation: test

  // errorcheck -+
  // Copyright 2016 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 walk errors for go:notinheap.
  package p
  type nih struct {
  	next *nih
  // Globals and stack variables are okay.
  var x nih
  func f() {
  	var y nih
  	x = y
  // Heap allocation is not okay.
  var y *nih
  var z []nih
  func g() {
  	y = new(nih)       // ERROR "heap allocation disallowed"
  	z = make([]nih, 1) // ERROR "heap allocation disallowed"
  	z = append(z, x)   // ERROR "heap allocation disallowed"
  // Writes don't produce write barriers.
  var p *nih
  func h() {
  	y.next = p.next

View as plain text