// RUN: llgo -o %t %s // RUN: %t 2>&1 | FileCheck %s // CHECK: 0 0 // CHECK-NEXT: 0 0 // CHECK-NEXT: 0 0 // CHECK-NEXT: 1 1 // CHECK-NEXT: 1 1 // CHECK-NEXT: 1 2 // CHECK-NEXT: 2 9 // CHECK-NEXT: 3 9 // CHECK-NEXT: 999 // CHECK-NEXT: 999 // CHECK-NEXT: 1 2 package main func test(l, c int) { var s []int if l != -1 { if c == -1 { s = make([]int, l) } else { s = make([]int, l, c) } } println(len(s), cap(s)) } func main() { test(-1, -1) test(0, -1) test(0, 0) test(1, -1) test(1, 1) test(1, 2) // make sure capacity is transferred to slice s := make([]int, 5, 10) s1 := s[1:3] println(len(s1), cap(s1)) s2 := append(s1, 999) println(len(s2), cap(s2)) println(s2[2]) println(s[3]) s3 := s1[0:1:2] println(len(s3), cap(s3)) }