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 9package main 10 11type T uint32 12 13func main() { 14 b := make([]T, 8) 15 b[0] = 0xdeadbeef 16 rs := Slice(b) 17 sort(rs) 18} 19 20type Slice []T 21 22func (s Slice) Swap(i, j int) { 23 tmp := s[i] 24 s[i] = s[j] 25 s[j] = tmp 26} 27 28type Interface interface { 29 Swap(i, j int) 30} 31 32func sort(data Interface) { 33 data.Swap(0, 4) 34} 35