summaryrefslogtreecommitdiffstats
path: root/src/cmd/compile/internal/ssa/testdata/pushback.go
blob: 754e6cbb2307876bb4bed202c968f64c88658acd (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
30
package main

type Node struct {
	Circular bool
}

type ExtNode[V any] struct {
	v V
	Node
}

type List[V any] struct {
	root *ExtNode[V]
	len  int
}

func (list *List[V]) PushBack(arg V) {
	if list.len == 0 {
		list.root = &ExtNode[V]{v: arg}
		list.root.Circular = true
		list.len++
		return
	}
	list.len++
}

func main() {
	var v List[int]
	v.PushBack(1)
}