Skip to content

Commit 370ff5f

Browse files
committed
[dev.typeparams] test: update all the typeparam tests to use the new union/tilde syntax
Did a mix of tilde and non-tilde usage. Tilde notation is not quite fully functional, so no tests are currently trying to distinguish (fail/not fail) based on tilde usage. Change-Id: Ib50cec2fc0684f9d9f3561c889fd44c7a7af458c Reviewed-on: https://go-review.googlesource.com/c/go/+/324572 Trust: Dan Scales <[email protected]> Trust: Robert Griesemer <[email protected]> Run-TryBot: Dan Scales <[email protected]> TryBot-Result: Go Bot <[email protected]> Reviewed-by: Robert Griesemer <[email protected]>
1 parent 5a008a9 commit 370ff5f

18 files changed

Lines changed: 55 additions & 55 deletions

File tree

test/typeparam/absdiff.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ import (
1212
)
1313

1414
type Numeric interface {
15-
type int, int8, int16, int32, int64,
16-
uint, uint8, uint16, uint32, uint64, uintptr,
17-
float32, float64,
18-
complex64, complex128
15+
~int | ~int8 | ~int16 | ~int32 | ~int64 |
16+
~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
17+
~float32 | ~float64 |
18+
~complex64 | ~complex128
1919
}
2020

2121
// numericAbs matches numeric types with an Abs method.
@@ -33,14 +33,14 @@ func absDifference[T numericAbs[T]](a, b T) T {
3333

3434
// orderedNumeric matches numeric types that support the < operator.
3535
type orderedNumeric interface {
36-
type int, int8, int16, int32, int64,
37-
uint, uint8, uint16, uint32, uint64, uintptr,
38-
float32, float64
36+
~int | ~int8 | ~int16 | ~int32 | ~int64 |
37+
~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
38+
~float32 | ~float64
3939
}
4040

4141
// Complex matches the two complex types, which do not have a < operator.
4242
type Complex interface {
43-
type complex64, complex128
43+
~complex64 | ~complex128
4444
}
4545

4646
// orderedAbs is a helper type that defines an Abs method for

test/typeparam/adder.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111
)
1212

1313
type AddType interface {
14-
type int, int64, string
14+
int | int64 | string
1515
}
1616

1717
// Add can add numbers or strings

test/typeparam/double.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212
)
1313

1414
type Number interface {
15-
type int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, uintptr, float32, float64
15+
~int | ~int8 | ~int16 | ~int32 | ~int64 | ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr | ~float32 | ~float64
1616
}
1717

1818
type MySlice []int

test/typeparam/fact.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ package main
88

99
import "fmt"
1010

11-
func fact[T interface { type int, int64, float64 }](n T) T {
11+
func fact[T interface { ~int | ~int64 | ~float64 }](n T) T {
1212
if n == 1 {
1313
return 1
1414
}

test/typeparam/factimp.dir/a.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
package a
66

7-
func Fact[T interface { type int, int64, float64 }](n T) T {
7+
func Fact[T interface { int | int64 | float64 }](n T) T {
88
if n == 1 {
99
return 1
1010
}

test/typeparam/list.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ import (
1111
)
1212

1313
type Ordered interface {
14-
type int, int8, int16, int32, int64,
15-
uint, uint8, uint16, uint32, uint64, uintptr,
16-
float32, float64,
17-
string
14+
~int | ~int8 | ~int16 | ~int32 | ~int64 |
15+
~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
16+
~float32 | ~float64 |
17+
~string
1818
}
1919

2020
// _List is a linked list of ordered values of type T.
@@ -34,9 +34,9 @@ func (l *_List[T]) Largest() T {
3434
}
3535

3636
type OrderedNum interface {
37-
type int, int8, int16, int32, int64,
38-
uint, uint8, uint16, uint32, uint64, uintptr,
39-
float32, float64
37+
~int | ~int8 | ~int16 | ~int32 | ~int64 |
38+
~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
39+
~float32 | ~float64
4040
}
4141

4242
// _ListNum is a linked _List of ordered numeric values of type T.

test/typeparam/listimp.dir/a.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
package a
66

77
type Ordered interface {
8-
type int, int8, int16, int32, int64,
9-
uint, uint8, uint16, uint32, uint64, uintptr,
10-
float32, float64,
11-
string
8+
~int | ~int8 | ~int16 | ~int32 | ~int64 |
9+
~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
10+
~float32 | ~float64 |
11+
~string
1212
}
1313

1414
// List is a linked list of ordered values of type T.
@@ -28,9 +28,9 @@ func (l *List[T]) Largest() T {
2828
}
2929

3030
type OrderedNum interface {
31-
type int, int8, int16, int32, int64,
32-
uint, uint8, uint16, uint32, uint64, uintptr,
33-
float32, float64
31+
~int | ~int8 | ~int16 | ~int32 | ~int64 |
32+
~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
33+
~float32 | ~float64
3434
}
3535

3636
// ListNum is a linked _List of ordered numeric values of type T.

test/typeparam/min.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111
)
1212

1313
type Ordered interface {
14-
type int, int64, float64, string
14+
~int | ~int64 | ~float64 | ~string
1515
}
1616

1717
func min[T Ordered](x, y T) T {

test/typeparam/mincheck.dir/a.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
package a
66

77
type Ordered interface {
8-
type int, int64, float64
8+
int | int64 | float64
99
}
1010

1111
func Min[T Ordered](x, y T) T {

test/typeparam/minimp.dir/a.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
package a
66

77
type Ordered interface {
8-
type int, int64, float64, string
8+
~int | ~int64 | ~float64 | ~string
99
}
1010

1111
func Min[T Ordered](x, y T) T {

0 commit comments

Comments
 (0)