...
Run Format

Source file test/fixedbugs/bug485.go

Documentation: test/fixedbugs

  // run
  
  // Copyright 2014 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.
  
  // Gccgo chose the wrong embedded method when the same type appeared
  // at different levels and the correct choice was not the first
  // appearance of the type in a depth-first search.
  
  package main
  
  type embedded string
  
  func (s embedded) val() string {
  	return string(s)
  }
  
  type A struct {
  	embedded
  }
  
  type B struct {
  	A
  	embedded
  }
  
  func main() {
  	b := &B{
  		A: A{
  			embedded: "a",
  		},
  		embedded: "b",
  	}
  	s := b.val()
  	if s != "b" {
  		panic(s)
  	}
  }
  

View as plain text