]> Cypherpunks repositories - gostls13.git/commitdiff
[dev.typeparams] test/typeparam: gofmt -w
authorMatthew Dempsky <mdempsky@google.com>
Wed, 28 Jul 2021 20:39:30 +0000 (13:39 -0700)
committerMatthew Dempsky <mdempsky@google.com>
Wed, 28 Jul 2021 21:40:40 +0000 (21:40 +0000)
We don't usually reformat the test directory, but all of the files in
test/typeparam are syntactically valid. I suspect the misformattings
here are because developers aren't re-installing gofmt with
-tags=typeparams, not intentionally exercising non-standard
formatting.

Change-Id: I3767d480434c19225568f3c7d656dc8589197183
Reviewed-on: https://go-review.googlesource.com/c/go/+/338093
Trust: Matthew Dempsky <mdempsky@google.com>
Trust: Robert Griesemer <gri@golang.org>
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
59 files changed:
test/typeparam/absdiff.go
test/typeparam/absdiffimp.dir/a.go
test/typeparam/aliasimp.dir/a.go
test/typeparam/aliasimp.dir/main.go
test/typeparam/boundmethod.go
test/typeparam/builtins.go
test/typeparam/chans.go
test/typeparam/chansimp.dir/a.go
test/typeparam/combine.go
test/typeparam/cons.go
test/typeparam/dictionaryCapture-noinline.go
test/typeparam/dictionaryCapture.go
test/typeparam/dottype.go
test/typeparam/double.go
test/typeparam/equal.go
test/typeparam/fact.go
test/typeparam/factimp.dir/a.go
test/typeparam/graph.go
test/typeparam/ifaceconv.go
test/typeparam/index.go
test/typeparam/interfacearg.go
test/typeparam/issue39755.go
test/typeparam/issue44688.go
test/typeparam/issue45817.go
test/typeparam/issue46472.go
test/typeparam/issue47258.go
test/typeparam/list.go
test/typeparam/list2.go
test/typeparam/listimp.dir/a.go
test/typeparam/listimp.dir/main.go
test/typeparam/listimp2.dir/a.go
test/typeparam/listimp2.dir/main.go
test/typeparam/lockable.go
test/typeparam/mapimp.dir/a.go
test/typeparam/mincheck.dir/a.go
test/typeparam/minimp.dir/a.go
test/typeparam/mutualimp.dir/a.go
test/typeparam/ordered.go
test/typeparam/orderedmap.go
test/typeparam/orderedmapsimp.dir/a.go
test/typeparam/orderedmapsimp.dir/main.go
test/typeparam/pair.go
test/typeparam/pairimp.dir/a.go
test/typeparam/pairimp.dir/main.go
test/typeparam/sets.go
test/typeparam/settable.go
test/typeparam/sliceimp.dir/a.go
test/typeparam/sliceimp.dir/main.go
test/typeparam/slices.go
test/typeparam/smallest.go
test/typeparam/smoketest.go
test/typeparam/stringable.go
test/typeparam/struct.go
test/typeparam/subdict.go
test/typeparam/sum.go
test/typeparam/tparam1.go
test/typeparam/typelist.go
test/typeparam/valimp.dir/a.go
test/typeparam/valimp.dir/main.go

index e76a998b4d31399a025f477fe7f5dd4c96c46370..cad6e84c4e496b5c5c76e42f86833605d9bc3e6f 100644 (file)
@@ -61,7 +61,7 @@ type complexAbs[T Complex] T
 func (a complexAbs[T]) Abs() complexAbs[T] {
        r := float64(real(a))
        i := float64(imag(a))
-       d := math.Sqrt(r * r + i * i)
+       d := math.Sqrt(r*r + i*i)
        return complexAbs[T](complex(d, 0))
 }
 
@@ -88,10 +88,10 @@ func main() {
                panic(fmt.Sprintf("got = %v, want = %v", got, want))
        }
 
-       if got, want := complexAbsDifference(5.0 + 2.0i, 2.0 - 2.0i), 5+0i; got != want {
+       if got, want := complexAbsDifference(5.0+2.0i, 2.0-2.0i), 5+0i; got != want {
                panic(fmt.Sprintf("got = %v, want = %v", got, want))
        }
-       if got, want := complexAbsDifference(2.0 - 2.0i, 5.0 + 2.0i), 5+0i; got != want {
+       if got, want := complexAbsDifference(2.0-2.0i, 5.0+2.0i), 5+0i; got != want {
                panic(fmt.Sprintf("got = %v, want = %v", got, want))
        }
 }
index df81dcf538770fe733bae7a301bff68e05437592..7b5bfbe2aced91f92fdc096aafde63f1bc24fb6c 100644 (file)
@@ -58,7 +58,7 @@ type complexAbs[T Complex] T
 func (a complexAbs[T]) Abs() complexAbs[T] {
        r := float64(real(a))
        i := float64(imag(a))
-       d := math.Sqrt(r * r + i * i)
+       d := math.Sqrt(r*r + i*i)
        return complexAbs[T](complex(d, 0))
 }
 
index 3fac4aac987a07113a2e6b0076f1fc9191b18fef..c64e87c10fa2fd4e31bb7d801094f5691fb329dc 100644 (file)
@@ -5,5 +5,5 @@
 package a
 
 type Rimp[T any] struct {
-        F T
+       F T
 }
index 6638fa945454a31549db32ee25951dbdd862b575..221a6c758dcf4a1dfe8c48eb1b0c41aaa497db1b 100644 (file)
@@ -7,7 +7,7 @@ package main
 import "a"
 
 type R[T any] struct {
-        F T
+       F T
 }
 
 type S = R
index c150f9d85ae7e5d2b11e5cc8450ec9690bdfd8c1..3deabbcdcefff57e53f4c811099c2cdf610edd9b 100644 (file)
 package main
 
 import (
-        "fmt"
-        "reflect"
-        "strconv"
+       "fmt"
+       "reflect"
+       "strconv"
 )
 
 type myint int
 
 //go:noinline
 func (m myint) String() string {
-        return strconv.Itoa(int(m))
+       return strconv.Itoa(int(m))
 }
 
 type Stringer interface {
-        String() string
+       String() string
 }
 
 func stringify[T Stringer](s []T) (ret []string) {
-        for _, v := range s {
-                ret = append(ret, v.String())
-        }
-        return ret
+       for _, v := range s {
+               ret = append(ret, v.String())
+       }
+       return ret
 }
 
 type StringInt[T any] T
 
 //go:noinline
 func (m StringInt[T]) String() string {
-        return "aa"
+       return "aa"
 }
 
 func main() {
-        x := []myint{myint(1), myint(2), myint(3)}
+       x := []myint{myint(1), myint(2), myint(3)}
 
-        got := stringify(x)
-        want := []string{"1", "2", "3"}
-        if !reflect.DeepEqual(got, want) {
-                panic(fmt.Sprintf("got %s, want %s", got, want))
-        }
+       got := stringify(x)
+       want := []string{"1", "2", "3"}
+       if !reflect.DeepEqual(got, want) {
+               panic(fmt.Sprintf("got %s, want %s", got, want))
+       }
 
-        x2 := []StringInt[myint]{StringInt[myint](1), StringInt[myint](2), StringInt[myint](3)}
+       x2 := []StringInt[myint]{StringInt[myint](1), StringInt[myint](2), StringInt[myint](3)}
 
-        got2 := stringify(x2)
-        want2 := []string{"aa", "aa", "aa"}
-        if !reflect.DeepEqual(got2, want2) {
-                panic(fmt.Sprintf("got %s, want %s", got2, want2))
-        }
+       got2 := stringify(x2)
+       want2 := []string{"aa", "aa", "aa"}
+       if !reflect.DeepEqual(got2, want2) {
+               panic(fmt.Sprintf("got %s, want %s", got2, want2))
+       }
 }
index 3fe6f79391fb10ef82488cf13158b5ed8541433d..819588b07d031afcaef134541a70ee9d4f1dd07c 100644 (file)
@@ -39,7 +39,9 @@ func _[T C5[X], X any](ch T) {
 
 type M0 interface{ int }
 type M1 interface{ map[string]int }
-type M2 interface { map[string]int | map[string]float64 }
+type M2 interface {
+       map[string]int | map[string]float64
+}
 type M3 interface{ map[string]int | map[rune]int }
 type M4[K comparable, V any] interface{ map[K]V | map[rune]V }
 
index 2fcd4af75e544da9cd4fa55bf67b1c13afe33763..c30c21c37bfd062290fe12562b10ee3defa7a28f 100644 (file)
@@ -183,7 +183,7 @@ func _Ranger[Elem any]() (*_Sender[Elem], *_Receiver[Elem]) {
                values: c,
                done:   d,
        }
-       r := &_Receiver[Elem] {
+       r := &_Receiver[Elem]{
                values: c,
                done:   d,
        }
index a3f73b219968cb24a0174a9062a3aca0d548f32b..73219927041c02f4da261511095fde998753862f 100644 (file)
@@ -176,7 +176,7 @@ func Ranger[Elem any]() (*Sender[Elem], *Receiver[Elem]) {
                values: c,
                done:   d,
        }
-       r := &Receiver[Elem] {
+       r := &Receiver[Elem]{
                values: c,
                done:   d,
        }
index 0e120cf24278b99e0d791225f730d1747f8bd97a..5dfdb78442529f986f172df76516509fc0079f2b 100644 (file)
@@ -13,18 +13,18 @@ import (
 type Gen[A any] func() (A, bool)
 
 func Combine[T1, T2, T any](g1 Gen[T1], g2 Gen[T2], join func(T1, T2) T) Gen[T] {
-    return func() (T, bool) {
-        var t T
-        t1, ok := g1()
-        if !ok {
-            return t, false
-        }
-        t2, ok := g2()
-        if !ok {
-            return t, false
-        }
-        return join(t1, t2), true
-    }
+       return func() (T, bool) {
+               var t T
+               t1, ok := g1()
+               if !ok {
+                       return t, false
+               }
+               t2, ok := g2()
+               if !ok {
+                       return t, false
+               }
+               return join(t1, t2), true
+       }
 }
 
 type Pair[A, B any] struct {
@@ -37,7 +37,7 @@ func _NewPair[A, B any](a A, b B) Pair[A, B] {
 }
 
 func Combine2[A, B any](ga Gen[A], gb Gen[B]) Gen[Pair[A, B]] {
-    return Combine(ga, gb, _NewPair[A, B])
+       return Combine(ga, gb, _NewPair[A, B])
 }
 
 func main() {
@@ -60,6 +60,6 @@ func main() {
        }
        gc4 := Combine2(g1, g3)
        if got, ok := gc4(); !ok || got.A != 3 || got.B != "y" {
-               panic (fmt.Sprintf("got %v, %v, wanted {3, y}, true", got, ok))
+               panic(fmt.Sprintf("got %v, %v, wanted {3, y}, true", got, ok))
        }
 }
index f20514fb66ee8c119ffea35272b98974d251826a..4750392a9557a42002530365377b2112902dec9a 100644 (file)
@@ -51,7 +51,7 @@ type List[a any] interface {
        Match(casenil Function[Nil[a], any], casecons Function[Cons[a], any]) any
 }
 
-type Nil[a any] struct{
+type Nil[a any] struct {
 }
 
 func (xs Nil[a]) Match(casenil Function[Nil[a], any], casecons Function[Cons[a], any]) any {
@@ -67,7 +67,7 @@ func (xs Cons[a]) Match(casenil Function[Nil[a], any], casecons Function[Cons[a]
        return casecons.Apply(xs)
 }
 
-type mapNil[a, b any] struct{
+type mapNil[a, b any] struct {
 }
 
 func (m mapNil[a, b]) Apply(_ Nil[a]) any {
index 4b46d5f57f3e330e12635995e63af78c648154b7..ad5bfa008e9004aa6360d05cf7cc7c1991991d0b 100644 (file)
@@ -44,7 +44,7 @@ func is7(x int) {
 }
 func is77(x, y int) {
        if x != 7 || y != 7 {
-               println(x,y)
+               println(x, y)
                panic("assertion failed")
        }
 }
@@ -63,7 +63,7 @@ func (x s[T]) g2() (T, T) {
 }
 
 func methodExpressions() {
-       x := s[int]{a:7}
+       x := s[int]{a: 7}
        f0 := s[int].g0
        f0(x)
        f1 := s[int].g1
@@ -73,7 +73,7 @@ func methodExpressions() {
 }
 
 func methodValues() {
-       x := s[int]{a:7}
+       x := s[int]{a: 7}
        f0 := x.g0
        f0()
        f1 := x.g1
@@ -82,20 +82,20 @@ func methodValues() {
        is77(f2())
 }
 
-var x interface{
+var x interface {
        g0()
-       g1()int
-       g2()(int,int)
-} = s[int]{a:7}
-var y interface{} = s[int]{a:7}
+       g1() int
+       g2() (int, int)
+} = s[int]{a: 7}
+var y interface{} = s[int]{a: 7}
 
 func interfaceMethods() {
        x.g0()
        is7(x.g1())
        is77(x.g2())
-       y.(interface{g0()}).g0()
-       is7(y.(interface{g1()int}).g1())
-       is77(y.(interface{g2()(int,int)}).g2())
+       y.(interface{ g0() }).g0()
+       is7(y.(interface{ g1() int }).g1())
+       is77(y.(interface{ g2() (int, int) }).g2())
 }
 
 // Also check for instantiations outside functions.
@@ -107,7 +107,7 @@ var hh0 = s[int].g0
 var hh1 = s[int].g1
 var hh2 = s[int].g2
 
-var xtop = s[int]{a:7}
+var xtop = s[int]{a: 7}
 var ii0 = x.g0
 var ii1 = x.g1
 var ii2 = x.g2
@@ -116,7 +116,7 @@ func globals() {
        gg0(7)
        is7(gg1(7))
        is77(gg2(7))
-       x := s[int]{a:7}
+       x := s[int]{a: 7}
        hh0(x)
        is7(hh1(x))
        is77(hh2(x))
index 26af7a09b0bc68660504d4d5938dc3d2a0cff530..7c7948145a8f3afed97d9767ad2a618db5fab48f 100644 (file)
@@ -51,7 +51,7 @@ func is7(x int) {
 }
 func is77(x, y int) {
        if x != 7 || y != 7 {
-               println(x,y)
+               println(x, y)
                panic("assertion failed")
        }
 }
@@ -70,7 +70,7 @@ func (x s[T]) g2() (T, T) {
 }
 
 func methodExpressions() {
-       x := s[int]{a:7}
+       x := s[int]{a: 7}
        f0 := s[int].g0
        f0(x)
        f0p := (*s[int]).g0
@@ -106,7 +106,7 @@ func genMethodExpressions[T comparable](want T) {
 }
 
 func methodValues() {
-       x := s[int]{a:7}
+       x := s[int]{a: 7}
        f0 := x.g0
        f0()
        f1 := x.g1
@@ -129,20 +129,20 @@ func genMethodValues[T comparable](want T) {
        }
 }
 
-var x interface{
+var x interface {
        g0()
-       g1()int
-       g2()(int,int)
-} = s[int]{a:7}
-var y interface{} = s[int]{a:7}
+       g1() int
+       g2() (int, int)
+} = s[int]{a: 7}
+var y interface{} = s[int]{a: 7}
 
 func interfaceMethods() {
        x.g0()
        is7(x.g1())
        is77(x.g2())
-       y.(interface{g0()}).g0()
-       is7(y.(interface{g1()int}).g1())
-       is77(y.(interface{g2()(int,int)}).g2())
+       y.(interface{ g0() }).g0()
+       is7(y.(interface{ g1() int }).g1())
+       is77(y.(interface{ g2() (int, int) }).g2())
 }
 
 // Also check for instantiations outside functions.
@@ -154,7 +154,7 @@ var hh0 = s[int].g0
 var hh1 = s[int].g1
 var hh2 = s[int].g2
 
-var xtop = s[int]{a:7}
+var xtop = s[int]{a: 7}
 var ii0 = x.g0
 var ii1 = x.g1
 var ii2 = x.g2
@@ -163,7 +163,7 @@ func globals() {
        gg0(7)
        is7(gg1(7))
        is77(gg2(7))
-       x := s[int]{a:7}
+       x := s[int]{a: 7}
        hh0(x)
        is7(hh1(x))
        is77(hh2(x))
@@ -172,7 +172,6 @@ func globals() {
        is77(ii2())
 }
 
-
 func recursive() {
        if got, want := recur1[int](5), 110; got != want {
                panic(fmt.Sprintf("recur1[int](5) = %d, want = %d", got, want))
@@ -187,14 +186,14 @@ func recur1[T Integer](n T) T {
        if n == 0 || n == 1 {
                return T(1)
        } else {
-               return n * recur2(n - 1)
+               return n * recur2(n-1)
        }
 }
 
 func recur2[T Integer](n T) T {
        list := make([]T, n)
        for i, _ := range list {
-               list[i] = T(i+1)
+               list[i] = T(i + 1)
        }
        var sum T
        for _, elt := range list {
index 0131f6420280acfa429fe65999989d8ff63eb477..89a9b021119035ff2af8cbc8fa279bac4c38724c 100644 (file)
@@ -36,20 +36,20 @@ func g2[T I](x I) (T, bool) {
        return t, ok
 }
 
-func h[T any](x interface{}) struct{a, b T} {
-       return x.(struct{a, b T})
+func h[T any](x interface{}) struct{ a, b T } {
+       return x.(struct{ a, b T })
 }
 
-func k[T any](x interface{}) interface { bar() T } {
-       return x.(interface{bar() T })
+func k[T any](x interface{}) interface{ bar() T } {
+       return x.(interface{ bar() T })
 }
 
 type mybar int
+
 func (x mybar) bar() int {
        return int(x)
 }
 
-
 func main() {
        var i interface{} = int(3)
        var j I = myint(3)
@@ -66,7 +66,7 @@ func main() {
        println(g2[myint](j))
        println(g2[myint](y))
 
-       println(h[int](struct{a, b int}{3, 5}).a)
+       println(h[int](struct{ a, b int }{3, 5}).a)
 
        println(k[int](mybar(3)).bar())
 }
index 66526138145829450289b3c4095811b6b5b298d4..6ddb6b2d08b11238827d2ce2f71e8c19b886fcbf 100644 (file)
@@ -44,29 +44,29 @@ func main() {
        want := MySlice{2, 4, 6}
        got := _DoubleElems[MySlice, int](arg)
        if !reflect.DeepEqual(got, want) {
-                panic(fmt.Sprintf("got %s, want %s", got, want))
+               panic(fmt.Sprintf("got %s, want %s", got, want))
        }
 
        // constraint type inference
        got = _DoubleElems[MySlice](arg)
        if !reflect.DeepEqual(got, want) {
-                panic(fmt.Sprintf("got %s, want %s", got, want))
+               panic(fmt.Sprintf("got %s, want %s", got, want))
        }
 
        got = _DoubleElems(arg)
        if !reflect.DeepEqual(got, want) {
-                panic(fmt.Sprintf("got %s, want %s", got, want))
+               panic(fmt.Sprintf("got %s, want %s", got, want))
        }
 
        farg := MyFloatSlice{1.2, 2.0, 3.5}
        fwant := MyFloatSlice{2.4, 4.0, 7.0}
        fgot := _DoubleElems(farg)
        if !reflect.DeepEqual(fgot, fwant) {
-                panic(fmt.Sprintf("got %s, want %s", fgot, fwant))
+               panic(fmt.Sprintf("got %s, want %s", fgot, fwant))
        }
 
        fgot = _DoubleElems2(farg)
        if !reflect.DeepEqual(fgot, fwant) {
-                panic(fmt.Sprintf("got %s, want %s", fgot, fwant))
+               panic(fmt.Sprintf("got %s, want %s", fgot, fwant))
        }
 }
index 6776b19d125e07424105c77f98814855230b42f9..a1d3e8ae02348f8495933cf337d8910a8aad256c 100644 (file)
@@ -40,7 +40,7 @@ func (x myint) foo() {
 
 func k[T comparable](t T, i interface{}) bool {
        // Compare derived type value to interface.
-       return struct{a, b T}{t, t} == i
+       return struct{ a, b T }{t, t} == i
 }
 
 func main() {
@@ -51,21 +51,19 @@ func main() {
        assert(h(myint(3), myint(3)))
        assert(!h(myint(3), myint(5)))
 
-       type S struct { a, b float64 }
+       type S struct{ a, b float64 }
 
-       assert(f(S{3,5}, S{3,5}))
-       assert(!f(S{3,5}, S{4,6}))
-       assert(g(S{3,5}, S{3,5}))
-       assert(!g(S{3,5}, S{4,6}))
+       assert(f(S{3, 5}, S{3, 5}))
+       assert(!f(S{3, 5}, S{4, 6}))
+       assert(g(S{3, 5}, S{3, 5}))
+       assert(!g(S{3, 5}, S{4, 6}))
 
-       assert(k(3, struct{a, b int}{3, 3}))
-       assert(!k(3, struct{a, b int}{3, 4}))
+       assert(k(3, struct{ a, b int }{3, 3}))
+       assert(!k(3, struct{ a, b int }{3, 4}))
 }
 
-func assert(b bool)  {
+func assert(b bool) {
        if !b {
                panic("assertion failed")
        }
 }
-
-
index baa7fbc68e5d6bb03af0d271394b203de64930fa..e19cfe69565848da0f723186c99836bd0028f968 100644 (file)
@@ -8,11 +8,11 @@ package main
 
 import "fmt"
 
-func fact[T interface { ~int | ~int64 | ~float64 }](n T) T {
+func fact[T interface{ ~int | ~int64 | ~float64 }](n T) T {
        if n == 1 {
                return 1
        }
-       return n * fact(n - 1)
+       return n * fact(n-1)
 }
 
 func main() {
index cb1ff2615b064ceb0050ea18bb223cb229d2519c..0bd73a88e7daef699992f7ce8756334f69f5e42a 100644 (file)
@@ -4,9 +4,9 @@
 
 package a
 
-func Fact[T interface { int | int64 | float64 }](n T) T {
+func Fact[T interface{ int | int64 | float64 }](n T) T {
        if n == 1 {
                return 1
        }
-       return n * Fact(n - 1)
+       return n * Fact(n-1)
 }
index f2a2630ad09d60b94f780753dce0c68b78c626bc..cecf349a9ad7da758487ef03eccfc28f22d9751d 100644 (file)
@@ -225,7 +225,6 @@ func TestShortestPath() {
        }
 }
 
-
 func main() {
        TestShortestPath()
 }
index f4023366b9e55860ab4ba795e67e882659265a1e..ee3a9e0dc3a83d7c2a3333cc7abce8b9c6f549c3 100644 (file)
@@ -37,11 +37,11 @@ type C interface {
 type myInt int
 
 func (x myInt) foo() int {
-       return int(x+1)
+       return int(x + 1)
 }
 
-func h[T C](x T) interface{foo() int} {
-       var i interface{foo()int} = x
+func h[T C](x T) interface{ foo() int } {
+       var i interface{ foo() int } = x
        return i
 }
 func i[T C](x T) C {
index 80824efac378ee05190f1db73e5a939f5493356b..906f76d325c8d2cc511cfe2b74b0ba3198f35b58 100644 (file)
@@ -79,4 +79,3 @@ func main() {
                panic(fmt.Sprintf("got %d, want %d", got, want))
        }
 }
-
index 1d194993187f4a7bcde00fd12daa25765a0597f8..28ea3e3afbb7763f88c6e438832f678820babb72 100644 (file)
@@ -23,9 +23,11 @@ func F() {
 
 // Testing the various combinations of method expressions.
 type S1 struct{}
+
 func (*S1) M() {}
 
 type S2 struct{}
+
 func (S2) M() {}
 
 func _F1[T interface{ M() }](t T) {
index 13a575d16fb2c46876fb8aebd90c161b8e2500ae..c4b6902eeade0580f494f698c6fb0892ddcc4ec5 100644 (file)
@@ -8,14 +8,14 @@
 
 package p
 
-func _[T interface{~map[string]int}](x T) {
+func _[T interface{ ~map[string]int }](x T) {
        _ = x == nil
 }
 
 // simplified test case from issue
 
 type PathParamsConstraint interface {
-        ~map[string]string | ~[]struct{key, value string}
+       ~map[string]string | ~[]struct{ key, value string }
 }
 
 type PathParams[T PathParamsConstraint] struct {
index de1140b67cfe3852b37ce1bcd76336f905897135..5ebce72628ff6157e09ea9a4cbc75f7e6291643c 100644 (file)
@@ -8,7 +8,7 @@
 
 package main
 
-type A1[T any] struct{
+type A1[T any] struct {
        val T
 }
 
index 744698f40be2d535ecaaf6363bb1ae774dbb01e0..1efee3b0af2ecb9ed18790f94a0751bf99401259 100644 (file)
@@ -13,11 +13,12 @@ import (
 type s[T any] struct {
        a T
 }
+
 func (x s[T]) f() T {
        return x.a
 }
 func main() {
-       x := s[int]{a:7}
+       x := s[int]{a: 7}
        f := x.f
        if got, want := f(), 7; got != want {
                panic(fmt.Sprintf("got %d, want %d", got, want))
index bab48e7d2f551f1a64e47463bb7986e0694d0212..cd4d923ef55e955d4f8b34925e4981527d1def78 100644 (file)
@@ -10,7 +10,7 @@ func foo[T any](d T) {
        switch v := interface{}(d).(type) {
        case string:
                if v != "x" {
-                       panic("unexpected v: "+v)
+                       panic("unexpected v: " + v)
                }
        }
 
index 76629f742408c2f5fdeb80b2e172088132deeb9a..717329471e12252e4739dcf1d636edb134ba5a70 100644 (file)
@@ -11,7 +11,7 @@ import (
 )
 
 type Numeric interface {
-       int32|int64|float64|complex64
+       int32 | int64 | float64 | complex64
 }
 
 //go:noline
index c63c9bff79fe339c2b17be61d636af07903eac2b..adfe72f1de1ea2cd899766e316f6be3ab7456a1c 100644 (file)
@@ -11,10 +11,10 @@ import (
 )
 
 type Ordered interface {
-        ~int | ~int8 | ~int16 | ~int32 | ~int64 |
-                ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
-                ~float32 | ~float64 |
-                ~string
+       ~int | ~int8 | ~int16 | ~int32 | ~int64 |
+               ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
+               ~float32 | ~float64 |
+               ~string
 }
 
 // _List is a linked list of ordered values of type T.
@@ -34,9 +34,9 @@ func (l *_List[T]) Largest() T {
 }
 
 type OrderedNum interface {
-        ~int | ~int8 | ~int16 | ~int32 | ~int64 |
-                ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
-                ~float32 | ~float64
+       ~int | ~int8 | ~int16 | ~int32 | ~int64 |
+               ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
+               ~float32 | ~float64
 }
 
 // _ListNum is a linked _List of ordered numeric values of type T.
@@ -64,40 +64,40 @@ func main() {
        i2 := &_List[int]{i3, 3}
        i1 := &_List[int]{i2, 2}
        if got, want := i1.Largest(), 3; got != want {
-                panic(fmt.Sprintf("got %d, want %d", got, want))
+               panic(fmt.Sprintf("got %d, want %d", got, want))
        }
 
        b3 := &_List[byte]{nil, byte(1)}
        b2 := &_List[byte]{b3, byte(3)}
        b1 := &_List[byte]{b2, byte(2)}
        if got, want := b1.Largest(), byte(3); got != want {
-                panic(fmt.Sprintf("got %d, want %d", got, want))
+               panic(fmt.Sprintf("got %d, want %d", got, want))
        }
 
        f3 := &_List[float64]{nil, 13.5}
        f2 := &_List[float64]{f3, 1.2}
        f1 := &_List[float64]{f2, 4.5}
        if got, want := f1.Largest(), 13.5; got != want {
-                panic(fmt.Sprintf("got %f, want %f", got, want))
+               panic(fmt.Sprintf("got %f, want %f", got, want))
        }
 
        s3 := &_List[string]{nil, "dd"}
        s2 := &_List[string]{s3, "aa"}
        s1 := &_List[string]{s2, "bb"}
        if got, want := s1.Largest(), "dd"; got != want {
-                panic(fmt.Sprintf("got %s, want %s", got, want))
+               panic(fmt.Sprintf("got %s, want %s", got, want))
        }
 
        j3 := &_ListNum[int]{nil, 1}
        j2 := &_ListNum[int]{j3, 32}
        j1 := &_ListNum[int]{j2, 2}
        if got, want := j1.ClippedLargest(), 2; got != want {
-                panic(fmt.Sprintf("got %d, want %d", got, want))
+               panic(fmt.Sprintf("got %d, want %d", got, want))
        }
        g3 := &_ListNum[float64]{nil, 13.5}
        g2 := &_ListNum[float64]{g3, 1.2}
        g1 := &_ListNum[float64]{g2, 4.5}
        if got, want := g1.ClippedLargest(), 4.5; got != want {
-                panic(fmt.Sprintf("got %f, want %f", got, want))
+               panic(fmt.Sprintf("got %f, want %f", got, want))
        }
 }
index 32023cf319d49aa2394a986cb349a5a1b23772bc..e7f346c78e13c7addd209c42fb50904931f5925b 100644 (file)
@@ -50,7 +50,7 @@ func (e *_Element[T]) Prev() *_Element[T] {
 // The zero value for _List is an empty list ready to use.
 type _List[T any] struct {
        root _Element[T] // sentinel list element, only &root, root.prev, and root.next are used
-       len  int     // current list length excluding (this) sentinel element
+       len  int         // current list length excluding (this) sentinel element
 }
 
 // Init initializes or clears list l.
@@ -594,7 +594,6 @@ func TestTransform() {
        checkList(l2, []interface{}{"1", "2"})
 }
 
-
 func main() {
        TestList()
        TestExtending()
@@ -607,4 +606,3 @@ func main() {
        TestInsertAfterUnknownMark()
        TestTransform()
 }
-
index 2b5b23cde33960c65db19ee8bf26cf49261b2a01..bf1641af9c384d8a0baeb4ff41fe87501aa4bf95 100644 (file)
@@ -5,49 +5,49 @@
 package a
 
 type Ordered interface {
-        ~int | ~int8 | ~int16 | ~int32 | ~int64 |
-                ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
-                ~float32 | ~float64 |
-                ~string
+       ~int | ~int8 | ~int16 | ~int32 | ~int64 |
+               ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
+               ~float32 | ~float64 |
+               ~string
 }
 
 // List is a linked list of ordered values of type T.
 type List[T Ordered] struct {
-        Next *List[T]
-        Val  T
+       Next *List[T]
+       Val  T
 }
 
 func (l *List[T]) Largest() T {
-        var max T
-        for p := l; p != nil; p = p.Next {
-                if p.Val > max {
-                        max = p.Val
-                }
-        }
-        return max
+       var max T
+       for p := l; p != nil; p = p.Next {
+               if p.Val > max {
+                       max = p.Val
+               }
+       }
+       return max
 }
 
 type OrderedNum interface {
-        ~int | ~int8 | ~int16 | ~int32 | ~int64 |
-                ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
-                ~float32 | ~float64
+       ~int | ~int8 | ~int16 | ~int32 | ~int64 |
+               ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
+               ~float32 | ~float64
 }
 
 // ListNum is a linked _List of ordered numeric values of type T.
 type ListNum[T OrderedNum] struct {
-        Next *ListNum[T]
-        Val  T
+       Next *ListNum[T]
+       Val  T
 }
 
 const Clip = 5
 
 // clippedLargest returns the largest in the list of OrderNums, but a max of 5.
 func (l *ListNum[T]) ClippedLargest() T {
-        var max T
-        for p := l; p != nil; p = p.Next {
-                if p.Val > max && p.Val < Clip {
-                        max = p.Val
-                }
-        }
-        return max
+       var max T
+       for p := l; p != nil; p = p.Next {
+               if p.Val > max && p.Val < Clip {
+                       max = p.Val
+               }
+       }
+       return max
 }
index d43ad508be51a85842062d4bad700ff4094176a2..985ff59a18994bbb9c5c383a763d9982888be160 100644 (file)
@@ -10,43 +10,43 @@ import (
 )
 
 func main() {
-        i3 := &a.List[int]{nil, 1}
-        i2 := &a.List[int]{i3, 3}
-        i1 := &a.List[int]{i2, 2}
-        if got, want := i1.Largest(), 3; got != want {
-                panic(fmt.Sprintf("got %d, want %d", got, want))
-        }
+       i3 := &a.List[int]{nil, 1}
+       i2 := &a.List[int]{i3, 3}
+       i1 := &a.List[int]{i2, 2}
+       if got, want := i1.Largest(), 3; got != want {
+               panic(fmt.Sprintf("got %d, want %d", got, want))
+       }
 
-        b3 := &a.List[byte]{nil, byte(1)}
-        b2 := &a.List[byte]{b3, byte(3)}
-        b1 := &a.List[byte]{b2, byte(2)}
-        if got, want := b1.Largest(), byte(3); got != want {
-                panic(fmt.Sprintf("got %d, want %d", got, want))
-        }
+       b3 := &a.List[byte]{nil, byte(1)}
+       b2 := &a.List[byte]{b3, byte(3)}
+       b1 := &a.List[byte]{b2, byte(2)}
+       if got, want := b1.Largest(), byte(3); got != want {
+               panic(fmt.Sprintf("got %d, want %d", got, want))
+       }
 
-        f3 := &a.List[float64]{nil, 13.5}
-        f2 := &a.List[float64]{f3, 1.2}
-        f1 := &a.List[float64]{f2, 4.5}
-        if got, want := f1.Largest(), 13.5; got != want {
-                panic(fmt.Sprintf("got %f, want %f", got, want))
-        }
+       f3 := &a.List[float64]{nil, 13.5}
+       f2 := &a.List[float64]{f3, 1.2}
+       f1 := &a.List[float64]{f2, 4.5}
+       if got, want := f1.Largest(), 13.5; got != want {
+               panic(fmt.Sprintf("got %f, want %f", got, want))
+       }
 
-        s3 := &a.List[string]{nil, "dd"}
-        s2 := &a.List[string]{s3, "aa"}
-        s1 := &a.List[string]{s2, "bb"}
-        if got, want := s1.Largest(), "dd"; got != want {
-                panic(fmt.Sprintf("got %s, want %s", got, want))
-        }
-        j3 := &a.ListNum[int]{nil, 1}
-        j2 := &a.ListNum[int]{j3, 32}
-        j1 := &a.ListNum[int]{j2, 2}
-        if got, want := j1.ClippedLargest(), 2; got != want {
-                panic(fmt.Sprintf("got %d, want %d", got, want))
-        }
-        g3 := &a.ListNum[float64]{nil, 13.5}
-        g2 := &a.ListNum[float64]{g3, 1.2}
-        g1 := &a.ListNum[float64]{g2, 4.5}
-        if got, want := g1.ClippedLargest(), 4.5; got != want {
-                panic(fmt.Sprintf("got %f, want %f", got, want))
-        }
+       s3 := &a.List[string]{nil, "dd"}
+       s2 := &a.List[string]{s3, "aa"}
+       s1 := &a.List[string]{s2, "bb"}
+       if got, want := s1.Largest(), "dd"; got != want {
+               panic(fmt.Sprintf("got %s, want %s", got, want))
+       }
+       j3 := &a.ListNum[int]{nil, 1}
+       j2 := &a.ListNum[int]{j3, 32}
+       j1 := &a.ListNum[int]{j2, 2}
+       if got, want := j1.ClippedLargest(), 2; got != want {
+               panic(fmt.Sprintf("got %d, want %d", got, want))
+       }
+       g3 := &a.ListNum[float64]{nil, 13.5}
+       g2 := &a.ListNum[float64]{g3, 1.2}
+       g1 := &a.ListNum[float64]{g2, 4.5}
+       if got, want := g1.ClippedLargest(), 4.5; got != want {
+               panic(fmt.Sprintf("got %f, want %f", got, want))
+       }
 }
index 76ad669767a9f3861d5f5be4f2885d9e3dd550dd..3a7dfc3999a0db856c877a5cc2c4f21c899e801c 100644 (file)
@@ -44,7 +44,7 @@ func (e *Element[T]) Prev() *Element[T] {
 // The zero value for List is an empty list ready to use.
 type List[T any] struct {
        root Element[T] // sentinel list element, only &root, root.prev, and root.next are used
-       len  int     // current list length excluding (this) sentinel element
+       len  int        // current list length excluding (this) sentinel element
 }
 
 // Init initializes or clears list l.
index 0c2c38e3995a2636439a49884463d7499218a397..226e1a9a571bde4b654e44bd9e52ce86bdc019c5 100644 (file)
@@ -301,7 +301,6 @@ func TestTransform() {
        checkList(l2, []interface{}{"1", "2"})
 }
 
-
 func main() {
        TestList()
        TestExtending()
index 9372c76b4db7db29728adae11cb0b5f401ad0581..9b20d87bb77e53cbf345876ca23471e970271f6b 100644 (file)
@@ -11,7 +11,7 @@ import "sync"
 // A Lockable is a value that may be safely simultaneously accessed
 // from multiple goroutines via the Get and Set methods.
 type Lockable[T any] struct {
-       x T
+       x  T
        mu sync.Mutex
 }
 
index 6835e214b8d7b30aedfcb0ffb7286896b99596c1..cbfa80ac6b1d338bf40a4d6c76da0f3f419c60b2 100644 (file)
@@ -7,9 +7,9 @@ package a
 // Map calls the function f on every element of the slice s,
 // returning a new slice of the results.
 func Mapper[F, T any](s []F, f func(F) T) []T {
-        r := make([]T, len(s))
-        for i, v := range s {
-                r[i] = f(v)
-        }
-        return r
+       r := make([]T, len(s))
+       for i, v := range s {
+               r[i] = f(v)
+       }
+       return r
 }
index 7d42492b74102e82582d22ea9bbed61658fe35b0..fa0f249e61510c3a136fc0c66b3cff4d3f876df0 100644 (file)
@@ -5,12 +5,12 @@
 package a
 
 type Ordered interface {
-        int | int64 | float64
+       int | int64 | float64
 }
 
 func Min[T Ordered](x, y T) T {
-        if x < y {
-                return x
-        }
-        return y
+       if x < y {
+               return x
+       }
+       return y
 }
index 6c3e0eba363da4481ecc17c6107344064ac1f627..fabde62c5d7218c987cbd64793586c941456451c 100644 (file)
@@ -5,12 +5,12 @@
 package a
 
 type Ordered interface {
-        ~int | ~int64 | ~float64 | ~string
+       ~int | ~int64 | ~float64 | ~string
 }
 
 func Min[T Ordered](x, y T) T {
-        if x < y {
-                return x
-        }
-        return y
+       if x < y {
+               return x
+       }
+       return y
 }
index 56ca57cea5efd18065cececbb0f248a2279933d7..5b924d3ce5dfec687d84c11e0bcf7b145493abcb 100644 (file)
@@ -5,7 +5,8 @@
 package a
 
 type X int
+
 func (x X) M() X { return x }
 
 func F[T interface{ M() U }, U interface{ M() T }]() {}
-func G() { F[X, X]() }
+func G()                                             { F[X, X]() }
index 699505ec75b941399eeff3f1c673fd0a38e1361e..0f539d659c39785752cd29083cfad45161bd29ec 100644 (file)
@@ -13,15 +13,15 @@ import (
 )
 
 type Ordered interface {
-        ~int | ~int8 | ~int16 | ~int32 | ~int64 |
-                ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
-                ~float32 | ~float64 |
-                ~string
+       ~int | ~int8 | ~int16 | ~int32 | ~int64 |
+               ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
+               ~float32 | ~float64 |
+               ~string
 }
 
 type orderedSlice[Elem Ordered] []Elem
 
-func (s orderedSlice[Elem]) Len() int           { return len(s) }
+func (s orderedSlice[Elem]) Len() int { return len(s) }
 func (s orderedSlice[Elem]) Less(i, j int) bool {
        if s[i] < s[j] {
                return true
@@ -32,7 +32,7 @@ func (s orderedSlice[Elem]) Less(i, j int) bool {
        }
        return false
 }
-func (s orderedSlice[Elem]) Swap(i, j int)      { s[i], s[j] = s[j], s[i] }
+func (s orderedSlice[Elem]) Swap(i, j int) { s[i], s[j] = s[j], s[i] }
 
 func _OrderedSlice[Elem Ordered](s []Elem) {
        sort.Sort(orderedSlice[Elem](s))
@@ -68,7 +68,7 @@ func testOrdered[Elem Ordered](name string, s []Elem, sorter func([]Elem)) bool
        }
        for i := len(s1) - 1; i > 0; i-- {
                if s1[i] < s1[i-1] {
-                       fmt.Printf("%s: element %d (%v) < element %d (%v)", name, i, s1[i], i - 1, s1[i - 1])
+                       fmt.Printf("%s: element %d (%v) < element %d (%v)", name, i, s1[i], i-1, s1[i-1])
                        ok = false
                }
        }
index 6a895bd3960b432182b11031c052fb673283be67..1f077333b8fcc49c46d10260d58d4d6f1022df37 100644 (file)
@@ -15,10 +15,10 @@ import (
 )
 
 type Ordered interface {
-        ~int | ~int8 | ~int16 | ~int32 | ~int64 |
-                ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
-                ~float32 | ~float64 |
-                ~string
+       ~int | ~int8 | ~int16 | ~int32 | ~int64 |
+               ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
+               ~float32 | ~float64 |
+               ~string
 }
 
 // _Map is an ordered map.
@@ -230,7 +230,7 @@ func _Ranger[Elem any]() (*_Sender[Elem], *_Receiver[Elem]) {
                values: c,
                done:   d,
        }
-       r := &_Receiver[Elem] {
+       r := &_Receiver[Elem]{
                values: c,
                done:   d,
        }
index 37fc3e79b9f9a10b0c79dd03b82454cae5bcca7c..d6a2de5d7b3e4a7eead46e360ac9a9c04b1293a1 100644 (file)
@@ -10,10 +10,10 @@ import (
 )
 
 type Ordered interface {
-        ~int | ~int8 | ~int16 | ~int32 | ~int64 |
-                ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
-                ~float32 | ~float64 |
-                ~string
+       ~int | ~int8 | ~int16 | ~int32 | ~int64 |
+               ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
+               ~float32 | ~float64 |
+               ~string
 }
 
 // Map is an ordered map.
@@ -170,7 +170,7 @@ func Ranger[Elem any]() (*Sender[Elem], *Receiver[Elem]) {
                values: c,
                done:   d,
        }
-       r := &Receiver[Elem] {
+       r := &Receiver[Elem]{
                values: c,
                done:   d,
        }
index ac4cee6a781c507eadb77b204a08e7fc0196fc33..978f1e763c09f4d2ae5badbcc33a46dad0771af0 100644 (file)
@@ -17,7 +17,7 @@ func TestMap() {
                panic(fmt.Sprintf("unexpectedly found %q in empty map", []byte("a")))
        }
 
-       for _, c := range []int{ 'a', 'c', 'b' } {
+       for _, c := range []int{'a', 'c', 'b'} {
                if !m.Insert([]byte(string(c)), c) {
                        panic(fmt.Sprintf("key %q unexpectedly already present", []byte(string(c))))
                }
index 57742022b10bee9beca5c859ec0025b1ebf35f62..c1427b9c52c2d48896401fec162ff12d7a0ec029 100644 (file)
@@ -25,7 +25,10 @@ func main() {
                panic(fmt.Sprintf("unexpected f2 size == %d, want %d", got, want))
        }
 
-       type mypair struct { f1 int32; f2 int64 }
+       type mypair struct {
+               f1 int32
+               f2 int64
+       }
        mp := mypair(p)
        if mp.f1 != 1 || mp.f2 != 2 {
                panic(fmt.Sprintf("mp == %#v, want %#v", mp, mypair{1, 2}))
index 27b2412961b2df2623c61ca004e605e4e89557cd..a984fba37b6e6655d8ba2031166d7b575737927c 100644 (file)
@@ -5,6 +5,6 @@
 package a
 
 type Pair[F1, F2 any] struct {
-        Field1 F1
-        Field2 F2
+       Field1 F1
+       Field2 F2
 }
index fc2face81dfbc7b058f4fd4ac0bd3e682612a9be..027fdd9ce766605db05c73fe435af0384923e274 100644 (file)
@@ -11,17 +11,20 @@ import (
 )
 
 func main() {
-        p := a.Pair[int32, int64]{1, 2}
-        if got, want := unsafe.Sizeof(p.Field1), uintptr(4); got != want {
-                panic(fmt.Sprintf("unexpected f1 size == %d, want %d", got, want))
-        }
-        if got, want := unsafe.Sizeof(p.Field2), uintptr(8); got != want {
-                panic(fmt.Sprintf("unexpected f2 size == %d, want %d", got, want))
-        }
+       p := a.Pair[int32, int64]{1, 2}
+       if got, want := unsafe.Sizeof(p.Field1), uintptr(4); got != want {
+               panic(fmt.Sprintf("unexpected f1 size == %d, want %d", got, want))
+       }
+       if got, want := unsafe.Sizeof(p.Field2), uintptr(8); got != want {
+               panic(fmt.Sprintf("unexpected f2 size == %d, want %d", got, want))
+       }
 
-        type mypair struct { Field1 int32; Field2 int64 }
-        mp := mypair(p)
-        if mp.Field1 != 1 || mp.Field2 != 2 {
-                panic(fmt.Sprintf("mp == %#v, want %#v", mp, mypair{1, 2}))
-        }
+       type mypair struct {
+               Field1 int32
+               Field2 int64
+       }
+       mp := mypair(p)
+       if mp.Field1 != 1 || mp.Field2 != 2 {
+               panic(fmt.Sprintf("mp == %#v, want %#v", mp, mypair{1, 2}))
+       }
 }
index 258514489e1708ef552242a081c34f313bfc2c51..4f07b590e36fae404b99cb4d120d7efae02b9c5f 100644 (file)
@@ -160,7 +160,7 @@ func TestSet() {
        vals := s1.Values()
        sort.Ints(vals)
        w1 := []int{1, 2, 3, 4}
-       if !_SliceEqual(vals,  w1) {
+       if !_SliceEqual(vals, w1) {
                panic(fmt.Sprintf("(%v).Values() == %v, want %v", s1, vals, w1))
        }
 }
index d0b831b5333bd6ca9c786a9871633485f7b57c28..99455e93fa1c908a7543829d63c6510f2a89e59a 100644 (file)
@@ -44,7 +44,6 @@ func fromStrings1a[T any, PT Setter[T]](s []string) []PT {
        return result
 }
 
-
 // Takes one type parameter and a set function
 func fromStrings2[T any](s []string, set func(*T, string)) []T {
        results := make([]T, len(s))
index 61b1b17a982703ed7ca77ef4b2b412b680a9b1da..da12e9f9fc9ededbb4a4f477cf8a979de9096e21 100644 (file)
@@ -5,26 +5,26 @@
 package a
 
 type Ordered interface {
-        ~int | ~int8 | ~int16 | ~int32 | ~int64 |
-                ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
-                ~float32 | ~float64 |
-                ~string
+       ~int | ~int8 | ~int16 | ~int32 | ~int64 |
+               ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
+               ~float32 | ~float64 |
+               ~string
 }
 
 // Max returns the maximum of two values of some ordered type.
 func Max[T Ordered](a, b T) T {
-        if a > b {
-                return a
-        }
-        return b
+       if a > b {
+               return a
+       }
+       return b
 }
 
 // Min returns the minimum of two values of some ordered type.
 func Min[T Ordered](a, b T) T {
-        if a < b {
-                return a
-        }
-        return b
+       if a < b {
+               return a
+       }
+       return b
 }
 
 // Equal reports whether two slices are equal: the same length and all
@@ -121,7 +121,7 @@ func Append[T any](s []T, t ...T) []T {
        if tot <= cap(s) {
                s = s[:tot]
        } else {
-               news := make([]T, tot, tot + tot/2)
+               news := make([]T, tot, tot+tot/2)
                Copy(news, s)
                s = news
        }
index 2d4d3b28318054ace1812473d770d39c8d0d6d36..0f79e10018b17f7e9062316c0db711ba1a91871d 100644 (file)
@@ -12,42 +12,42 @@ import (
 )
 
 type Integer interface {
-        ~int | ~int8 | ~int16 | ~int32 | ~int64 |
-                ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr
+       ~int | ~int8 | ~int16 | ~int32 | ~int64 |
+               ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr
 }
 
 func TestEqual() {
-        s1 := []int{1, 2, 3}
-        if !a.Equal(s1, s1) {
-                panic(fmt.Sprintf("a.Equal(%v, %v) = false, want true", s1, s1))
-        }
-        s2 := []int{1, 2, 3}
-        if !a.Equal(s1, s2) {
-                panic(fmt.Sprintf("a.Equal(%v, %v) = false, want true", s1, s2))
-        }
-        s2 = append(s2, 4)
-        if a.Equal(s1, s2) {
-                panic(fmt.Sprintf("a.Equal(%v, %v) = true, want false", s1, s2))
-        }
-
-        s3 := []float64{1, 2, math.NaN()}
-        if !a.Equal(s3, s3) {
-                panic(fmt.Sprintf("a.Equal(%v, %v) = false, want true", s3, s3))
-        }
-
-        if a.Equal(s1, nil) {
-                panic(fmt.Sprintf("a.Equal(%v, nil) = true, want false", s1))
-        }
-        if a.Equal(nil, s1) {
-                panic(fmt.Sprintf("a.Equal(nil, %v) = true, want false", s1))
-        }
-        if !a.Equal(s1[:0], nil) {
-                panic(fmt.Sprintf("a.Equal(%v, nil = false, want true", s1[:0]))
-        }
+       s1 := []int{1, 2, 3}
+       if !a.Equal(s1, s1) {
+               panic(fmt.Sprintf("a.Equal(%v, %v) = false, want true", s1, s1))
+       }
+       s2 := []int{1, 2, 3}
+       if !a.Equal(s1, s2) {
+               panic(fmt.Sprintf("a.Equal(%v, %v) = false, want true", s1, s2))
+       }
+       s2 = append(s2, 4)
+       if a.Equal(s1, s2) {
+               panic(fmt.Sprintf("a.Equal(%v, %v) = true, want false", s1, s2))
+       }
+
+       s3 := []float64{1, 2, math.NaN()}
+       if !a.Equal(s3, s3) {
+               panic(fmt.Sprintf("a.Equal(%v, %v) = false, want true", s3, s3))
+       }
+
+       if a.Equal(s1, nil) {
+               panic(fmt.Sprintf("a.Equal(%v, nil) = true, want false", s1))
+       }
+       if a.Equal(nil, s1) {
+               panic(fmt.Sprintf("a.Equal(nil, %v) = true, want false", s1))
+       }
+       if !a.Equal(s1[:0], nil) {
+               panic(fmt.Sprintf("a.Equal(%v, nil = false, want true", s1[:0]))
+       }
 }
 
 func offByOne[Elem Integer](a, b Elem) bool {
-       return a == b + 1 || a == b - 1
+       return a == b+1 || a == b-1
 }
 
 func TestEqualFn() {
@@ -92,12 +92,12 @@ func TestMap() {
 
 func TestReduce() {
        s1 := []int{1, 2, 3}
-       r := a.Reduce(s1, 0, func(f float64, i int) float64 { return float64(i) * 2.5 + f })
+       r := a.Reduce(s1, 0, func(f float64, i int) float64 { return float64(i)*2.5 + f })
        if want := 15.0; r != want {
                panic(fmt.Sprintf("a.Reduce(%v, 0, ...) = %v, want %v", s1, r, want))
        }
 
-       if got := a.Reduce(nil, 0, func(i, j int) int { return i + j}); got != 0 {
+       if got := a.Reduce(nil, 0, func(i, j int) int { return i + j }); got != 0 {
                panic(fmt.Sprintf("a.Reduce(nil, 0, add) = %v, want 0", got))
        }
 }
index 50783a5439b40c4248842fc609f90d05a5c6e6c2..b5e8e0c60637ed80736bfdfc65ce09c8d4c3b116 100644 (file)
@@ -15,31 +15,31 @@ import (
 )
 
 type Ordered interface {
-        ~int | ~int8 | ~int16 | ~int32 | ~int64 |
-                ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
-                ~float32 | ~float64 |
-                ~string
+       ~int | ~int8 | ~int16 | ~int32 | ~int64 |
+               ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
+               ~float32 | ~float64 |
+               ~string
 }
 
 type Integer interface {
-        ~int | ~int8 | ~int16 | ~int32 | ~int64 |
-                ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr
+       ~int | ~int8 | ~int16 | ~int32 | ~int64 |
+               ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr
 }
 
 // Max returns the maximum of two values of some ordered type.
 func _Max[T Ordered](a, b T) T {
-        if a > b {
-                return a
-        }
-        return b
+       if a > b {
+               return a
+       }
+       return b
 }
 
 // Min returns the minimum of two values of some ordered type.
 func _Min[T Ordered](a, b T) T {
-        if a < b {
-                return a
-        }
-        return b
+       if a < b {
+               return a
+       }
+       return b
 }
 
 // _Equal reports whether two slices are equal: the same length and all
@@ -136,7 +136,7 @@ func _Append[T any](s []T, t ...T) []T {
        if tot <= cap(s) {
                s = s[:tot]
        } else {
-               news := make([]T, tot, tot + tot/2)
+               news := make([]T, tot, tot+tot/2)
                _Copy(news, s)
                s = news
        }
@@ -156,37 +156,37 @@ func _Copy[T any](s, t []T) int {
 }
 
 func TestEqual() {
-        s1 := []int{1, 2, 3}
-        if !_Equal(s1, s1) {
-                panic(fmt.Sprintf("_Equal(%v, %v) = false, want true", s1, s1))
-        }
-        s2 := []int{1, 2, 3}
-        if !_Equal(s1, s2) {
-                panic(fmt.Sprintf("_Equal(%v, %v) = false, want true", s1, s2))
-        }
-        s2 = append(s2, 4)
-        if _Equal(s1, s2) {
-                panic(fmt.Sprintf("_Equal(%v, %v) = true, want false", s1, s2))
-        }
-
-        s3 := []float64{1, 2, math.NaN()}
-        if !_Equal(s3, s3) {
-                panic(fmt.Sprintf("_Equal(%v, %v) = false, want true", s3, s3))
-        }
-
-        if _Equal(s1, nil) {
-                panic(fmt.Sprintf("_Equal(%v, nil) = true, want false", s1))
-        }
-        if _Equal(nil, s1) {
-                panic(fmt.Sprintf("_Equal(nil, %v) = true, want false", s1))
-        }
-        if !_Equal(s1[:0], nil) {
-                panic(fmt.Sprintf("_Equal(%v, nil = false, want true", s1[:0]))
-        }
+       s1 := []int{1, 2, 3}
+       if !_Equal(s1, s1) {
+               panic(fmt.Sprintf("_Equal(%v, %v) = false, want true", s1, s1))
+       }
+       s2 := []int{1, 2, 3}
+       if !_Equal(s1, s2) {
+               panic(fmt.Sprintf("_Equal(%v, %v) = false, want true", s1, s2))
+       }
+       s2 = append(s2, 4)
+       if _Equal(s1, s2) {
+               panic(fmt.Sprintf("_Equal(%v, %v) = true, want false", s1, s2))
+       }
+
+       s3 := []float64{1, 2, math.NaN()}
+       if !_Equal(s3, s3) {
+               panic(fmt.Sprintf("_Equal(%v, %v) = false, want true", s3, s3))
+       }
+
+       if _Equal(s1, nil) {
+               panic(fmt.Sprintf("_Equal(%v, nil) = true, want false", s1))
+       }
+       if _Equal(nil, s1) {
+               panic(fmt.Sprintf("_Equal(nil, %v) = true, want false", s1))
+       }
+       if !_Equal(s1[:0], nil) {
+               panic(fmt.Sprintf("_Equal(%v, nil = false, want true", s1[:0]))
+       }
 }
 
 func offByOne[Elem Integer](a, b Elem) bool {
-       return a == b + 1 || a == b - 1
+       return a == b+1 || a == b-1
 }
 
 func TestEqualFn() {
@@ -231,12 +231,12 @@ func TestMap() {
 
 func TestReduce() {
        s1 := []int{1, 2, 3}
-       r := _Reduce(s1, 0, func(f float64, i int) float64 { return float64(i) * 2.5 + f })
+       r := _Reduce(s1, 0, func(f float64, i int) float64 { return float64(i)*2.5 + f })
        if want := 15.0; r != want {
                panic(fmt.Sprintf("_Reduce(%v, 0, ...) = %v, want %v", s1, r, want))
        }
 
-       if got := _Reduce(nil, 0, func(i, j int) int { return i + j}); got != 0 {
+       if got := _Reduce(nil, 0, func(i, j int) int { return i + j }); got != 0 {
                panic(fmt.Sprintf("_Reduce(nil, 0, add) = %v, want 0", got))
        }
 }
index 3fead6a0671bcf12b03401be5480f609879b277c..af1d72d89928fd9638c3aaed1cee404e1f5f6869 100644 (file)
@@ -11,10 +11,10 @@ import (
 )
 
 type Ordered interface {
-        ~int | ~int8 | ~int16 | ~int32 | ~int64 |
-                ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
-                ~float32 | ~float64 |
-                ~string
+       ~int | ~int8 | ~int16 | ~int32 | ~int64 |
+               ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
+               ~float32 | ~float64 |
+               ~string
 }
 
 func Smallest[T Ordered](s []T) T {
index d92e02713d72cb1030dd89198de9721e6a763c66..eeda25964f40d9f4d4b21ab7112f4416c3b22db1 100644 (file)
@@ -29,8 +29,8 @@ type _ T2[int, string, struct{}]
 type _ T3[bool]
 
 // methods
-func (T1[P]) m1() {}
-func (T1[_]) m2() {}
+func (T1[P]) m1()           {}
+func (T1[_]) m2()           {}
 func (x T2[P1, P2, P3]) m() {}
 
 // type lists
index 20da012cb876220170247cc1e3b320fea3bea26e..855a1edb3bf6884a9917d362d94d987ad00faec2 100644 (file)
@@ -38,9 +38,9 @@ func (a myint) String() string {
 }
 
 func main() {
-       v := StringableList[myint]{ myint(1), myint(2) }
+       v := StringableList[myint]{myint(1), myint(2)}
 
        if got, want := v.String(), "1, 2"; got != want {
-                panic(fmt.Sprintf("got %s, want %s", got, want))
+               panic(fmt.Sprintf("got %s, want %s", got, want))
        }
 }
index 093f6935e698cb52ebd0dd6b40b3f90b304cff36..ad1b41ddac40dc5d1ef0966c8413ff569b752734 100644 (file)
@@ -35,15 +35,15 @@ type S3 struct {
 func main() {
        s1 := S1{Eint{2}, "foo"}
        if got, want := s1.E.v, 2; got != want {
-                panic(fmt.Sprintf("got %d, want %d", got, want))
+               panic(fmt.Sprintf("got %d, want %d", got, want))
        }
        s2 := S2{Eint{3}, Ebool{true}, "foo"}
        if got, want := s2.Eint.v, 3; got != want {
-                panic(fmt.Sprintf("got %d, want %d", got, want))
+               panic(fmt.Sprintf("got %d, want %d", got, want))
        }
        var s3 S3
        s3.E = &Eint{4}
        if got, want := s3.E.v, 4; got != want {
-                panic(fmt.Sprintf("got %d, want %d", got, want))
+               panic(fmt.Sprintf("got %d, want %d", got, want))
        }
 }
index c899af6d0d687b1e026c32e7f7ebd51679872345..b4e84baf8a7fb3e4a6b57b6fce273bad22ef8eb4 100644 (file)
@@ -4,7 +4,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// Test cases where a main dictionary is needed inside a generic function/method, because 
+// Test cases where a main dictionary is needed inside a generic function/method, because
 // we are calling a method on a fully-instantiated type or a fully-instantiated function.
 // (probably not common situations, of course)
 
@@ -33,7 +33,6 @@ func (v *value[T]) get(def T) T {
        }
 }
 
-
 func main() {
        var s value[string]
        if got, want := s.get("ab"), ""; got != want {
index 53e6face11a20446ce740d7e3e3dd5a5a59f103e..d444e007a3a492605e0010adb5b3f6e62916793e 100644 (file)
@@ -40,11 +40,11 @@ func main() {
 
        fwant := vec2[0] + vec2[1]
        fgot := Sum[float64](vec2)
-       if Abs(fgot - fwant) > 1e-10 {
+       if Abs(fgot-fwant) > 1e-10 {
                panic(fmt.Sprintf("got %f, want %f", fgot, fwant))
        }
        fgot = Sum(vec2)
-       if Abs(fgot - fwant) > 1e-10 {
+       if Abs(fgot-fwant) > 1e-10 {
                panic(fmt.Sprintf("got %f, want %f", fgot, fwant))
        }
 }
index 2bcc4af3dbabbdf5700298644d73e4de47ba11f2..a196caf976b0e8d8356ab371540e4d2e32fe7b6f 100644 (file)
@@ -10,18 +10,18 @@ package tparam1
 
 // The predeclared identifier "any" is only visible as a constraint
 // in a type parameter list.
-var _ any // ERROR "cannot use any outside constraint position"
+var _ any     // ERROR "cannot use any outside constraint position"
 func _(_ any) // ERROR "cannot use any outside constraint position"
-type _[_ any /* ok here */ ] struct{}
+type _[_ any /* ok here */] struct{}
 
 const N = 10
 
 type (
-        _[] struct{} // slice
-        _[N] struct{} // array
-        _[T any] struct{}
-        _[T, T any] struct{} // ERROR "T redeclared"
-        _[T1, T2 any, T3 any] struct{}
+       _                     []struct{}  // slice
+       _                     [N]struct{} // array
+       _[T any]              struct{}
+       _[T, T any]           struct{} // ERROR "T redeclared"
+       _[T1, T2 any, T3 any] struct{}
 )
 
 func _[T any]()
@@ -36,7 +36,7 @@ func _[T C]()
 func _[T struct{}]() // ERROR "not an interface"
 func _[T interface{ m() T }]()
 func _[T1 interface{ m() T2 }, T2 interface{ m() T1 }]() {
-        var _ T1
+       var _ T1
 }
 
 // TODO(gri) expand this
index 5c51c9c4617f347d0bb94cf056daba1171a7dd42..3d035bf4572a62cd96553c53affebe942ab07be9 100644 (file)
@@ -10,19 +10,19 @@ package p
 
 // Assignability of an unnamed pointer type to a type parameter that
 // has a matching underlying type.
-func _[T interface{}, PT interface{type *T}] (x T) PT {
-    return &x
+func _[T interface{}, PT interface{ type *T }](x T) PT {
+       return &x
 }
 
 // Indexing of generic types containing type parameters in their type list:
 func at[T interface{ type []E }, E any](x T, i int) E {
-        return x[i]
+       return x[i]
 }
 
 // A generic type inside a function acts like a named type. Its underlying
 // type is itself, its "operational type" is defined by the type list in
 // the tybe bound, if any.
-func _[T interface{type int}](x T) {
+func _[T interface{ type int }](x T) {
        type myint int
        var _ int = int(x)
        var _ T = 42
@@ -30,7 +30,7 @@ func _[T interface{type int}](x T) {
 }
 
 // Indexing a generic type which has a structural contraints to be an array.
-func _[T interface { type [10]int }](x T) {
+func _[T interface{ type [10]int }](x T) {
        _ = x[9] // ok
 }
 
@@ -44,7 +44,7 @@ func _[T interface{ type *int }](p T) int {
 func _[T interface{ type chan int }](ch T) int {
        // This would deadlock if executed (but ok for a compile test)
        ch <- 0
-       return <- ch
+       return <-ch
 }
 
 // Calling of a generic type which has a structural constraint to be a function.
@@ -59,11 +59,10 @@ func _[T interface{ type func(string) int }](f T) int {
 }
 
 // Map access of a generic type which has a structural constraint to be a map.
-func _[V any, T interface { type map[string]V }](p T) V {
+func _[V any, T interface{ type map[string]V }](p T) V {
        return p["test"]
 }
 
-
 // Testing partial and full type inference, including the case where the types can
 // be inferred without needing the types of the function arguments.
 
@@ -86,7 +85,7 @@ func _() {
 }
 */
 
-func f2[A any, B interface{type []A}](_ A, _ B)
+func f2[A any, B interface{ type []A }](_ A, _ B)
 func _() {
        f := f2[byte]
        f(byte(0), []byte{})
@@ -106,7 +105,7 @@ func _() {
 }
 */
 
-func f4[A any, B interface{type []C}, C interface{type *A}](_ A, _ B, c C)
+func f4[A any, B interface{ type []C }, C interface{ type *A }](_ A, _ B, c C)
 func _() {
        f := f4[int]
        var x int
@@ -114,15 +113,20 @@ func _() {
        f4(x, []*int{}, &x)
 }
 
-func f5[A interface{type struct{b B; c C}}, B any, C interface{type *B}](x B) A
+func f5[A interface {
+       type struct {
+               b B
+               c C
+       }
+}, B any, C interface{ type *B }](x B) A
 func _() {
        x := f5(1.2)
        var _ float64 = x.b
        var _ float64 = *x.c
 }
 
-func f6[A any, B interface{type struct{f []A}}](B) A
+func f6[A any, B interface{ type struct{ f []A } }](B) A
 func _() {
-       x := f6(struct{f []string}{})
+       x := f6(struct{ f []string }{})
        var _ string = x
 }
index 5aa5ebfa976f263543d50aa9000c3be3d943ab32..2ed0063cfd6473855a71a27e3327130ae6c553a2 100644 (file)
@@ -5,7 +5,7 @@
 package a
 
 type Value[T any] struct {
-        val T
+       val T
 }
 
 // The noinline directive should survive across import, and prevent instantiations
@@ -13,20 +13,20 @@ type Value[T any] struct {
 
 //go:noinline
 func Get[T any](v *Value[T]) T {
-        return v.val
+       return v.val
 }
 
 //go:noinline
 func Set[T any](v *Value[T], val T) {
-        v.val = val
+       v.val = val
 }
 
 //go:noinline
 func (v *Value[T]) Set(val T) {
-        v.val = val
+       v.val = val
 }
 
 //go:noinline
 func (v *Value[T]) Get() T {
-        return v.val
+       return v.val
 }
index 925fb1e6994da1d3858002e8a6a1726a819c7e8c..606ff2273af8333521a5947fe262497110181dc1 100644 (file)
@@ -10,47 +10,46 @@ import (
 )
 
 func main() {
-        var v1 a.Value[int]
-
-        a.Set(&v1, 1)
-        if got, want := a.Get(&v1), 1; got != want {
-                panic(fmt.Sprintf("Get() == %d, want %d", got, want))
-        }
-        v1.Set(2)
-        if got, want := v1.Get(), 2; got != want {
-                panic(fmt.Sprintf("Get() == %d, want %d", got, want))
-        }
-        v1p := new(a.Value[int])
-        a.Set(v1p, 3)
-        if got, want := a.Get(v1p), 3; got != want {
-                panic(fmt.Sprintf("Get() == %d, want %d", got, want))
-        }
-
-        v1p.Set(4)
-        if got, want := v1p.Get(), 4; got != want {
-                panic(fmt.Sprintf("Get() == %d, want %d", got, want))
-        }
-
-        var v2 a.Value[string]
-        a.Set(&v2, "a")
-        if got, want := a.Get(&v2), "a"; got != want {
-                panic(fmt.Sprintf("Get() == %q, want %q", got, want))
-        }
-
-        v2.Set("b")
-        if got, want := a.Get(&v2), "b"; got != want {
-                panic(fmt.Sprintf("Get() == %q, want %q", got, want))
-        }
-
-        v2p := new(a.Value[string])
-        a.Set(v2p, "c")
-        if got, want := a.Get(v2p), "c"; got != want {
-                panic(fmt.Sprintf("Get() == %d, want %d", got, want))
-        }
-
-        v2p.Set("d")
-        if got, want := v2p.Get(), "d"; got != want {
-                panic(fmt.Sprintf("Get() == %d, want %d", got, want))
-        }
+       var v1 a.Value[int]
+
+       a.Set(&v1, 1)
+       if got, want := a.Get(&v1), 1; got != want {
+               panic(fmt.Sprintf("Get() == %d, want %d", got, want))
+       }
+       v1.Set(2)
+       if got, want := v1.Get(), 2; got != want {
+               panic(fmt.Sprintf("Get() == %d, want %d", got, want))
+       }
+       v1p := new(a.Value[int])
+       a.Set(v1p, 3)
+       if got, want := a.Get(v1p), 3; got != want {
+               panic(fmt.Sprintf("Get() == %d, want %d", got, want))
+       }
+
+       v1p.Set(4)
+       if got, want := v1p.Get(), 4; got != want {
+               panic(fmt.Sprintf("Get() == %d, want %d", got, want))
+       }
+
+       var v2 a.Value[string]
+       a.Set(&v2, "a")
+       if got, want := a.Get(&v2), "a"; got != want {
+               panic(fmt.Sprintf("Get() == %q, want %q", got, want))
+       }
+
+       v2.Set("b")
+       if got, want := a.Get(&v2), "b"; got != want {
+               panic(fmt.Sprintf("Get() == %q, want %q", got, want))
+       }
+
+       v2p := new(a.Value[string])
+       a.Set(v2p, "c")
+       if got, want := a.Get(v2p), "c"; got != want {
+               panic(fmt.Sprintf("Get() == %d, want %d", got, want))
+       }
+
+       v2p.Set("d")
+       if got, want := v2p.Get(), "d"; got != want {
+               panic(fmt.Sprintf("Get() == %d, want %d", got, want))
+       }
 }
-