// Copyright 2020 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. package testdata var ( a [10]byte b [20]float32 s []int t struct { s []byte } _ = a[0:] _ = a[1:10] _ = a[2:len(a)] // want "unneeded: len\\(a\\)" _ = a[3:(len(a))] _ = a[len(a)-1 : len(a)] // want "unneeded: len\\(a\\)" _ = a[2:len(a):len(a)] _ = a[:] _ = a[:10] _ = a[:len(a)] // want "unneeded: len\\(a\\)" _ = a[:(len(a))] _ = a[:len(a)-1] _ = a[:len(a):len(a)] _ = s[0:] _ = s[1:10] _ = s[2:len(s)] // want "unneeded: len\\(s\\)" _ = s[3:(len(s))] _ = s[len(a) : len(s)-1] _ = s[0:len(b)] _ = s[2:len(s):len(s)] _ = s[:] _ = s[:10] _ = s[:len(s)] // want "unneeded: len\\(s\\)" _ = s[:(len(s))] _ = s[:len(s)-1] _ = s[:len(b)] _ = s[:len(s):len(s)] _ = t.s[0:] _ = t.s[1:10] _ = t.s[2:len(t.s)] _ = t.s[3:(len(t.s))] _ = t.s[len(a) : len(t.s)-1] _ = t.s[0:len(b)] _ = t.s[2:len(t.s):len(t.s)] _ = t.s[:] _ = t.s[:10] _ = t.s[:len(t.s)] _ = t.s[:(len(t.s))] _ = t.s[:len(t.s)-1] _ = t.s[:len(b)] _ = t.s[:len(t.s):len(t.s)] ) func _() { s := s[0:len(s)] // want "unneeded: len\\(s\\)" _ = s } func m() { maps := []int{} _ = maps[1:len(maps)] // want "unneeded: len\\(maps\\)" }