aboutsummaryrefslogtreecommitdiff
path: root/src/go/types/testdata/examples/operations.go2
blob: 18e4d6080c59f0307c55e94bf389e4109eb88a7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// Copyright 2021 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 p

// indirection

func _[P any](p P) {
        _ = *p // ERROR cannot indirect p
}

func _[P interface{ int }](p P) {
        _ = *p // ERROR cannot indirect p
}

func _[P interface{ *int }](p P) {
        _ = *p
}

func _[P interface{ *int | *string }](p P) {
        _ = *p // ERROR must have identical base types
}

type intPtr *int

func _[P interface{ *int | intPtr } ](p P) {
        var _ int = *p
}