Home | History | Annotate | Download | only in fixedbugs
      1 // run
      2 
      3 // Copyright 2013 The Go Authors. All rights reserved.
      4 // Use of this source code is governed by a BSD-style
      5 // license that can be found in the LICENSE file.
      6 
      7 // issue 5515: miscompilation doing inlining in generated method wrapper
      8 
      9 package main
     10 
     11 type T uint32
     12 
     13 func main() {
     14         b := make([]T, 8)
     15         b[0] = 0xdeadbeef
     16         rs := Slice(b)
     17         sort(rs)
     18 }
     19 
     20 type Slice []T
     21 
     22 func (s Slice) Swap(i, j int) {
     23         tmp := s[i]
     24         s[i] = s[j]
     25         s[j] = tmp
     26 }
     27 
     28 type Interface interface {
     29         Swap(i, j int)
     30 }
     31 
     32 func sort(data Interface) {
     33         data.Swap(0, 4)
     34 }
     35