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