package inferred

func app[S interface{ ~[]E }, E interface{}](s S, e E) S {
	return append(s, e)
}

func _() {
	_ = app[[]int]             //@mark(constrInfer, "app"),hoverdef("app", constrInfer)
	_ = app[[]int, int]        //@mark(instance, "app"),hoverdef("app", instance)
	_ = app[[]int]([]int{}, 0) //@mark(partialInfer, "app"),hoverdef("app", partialInfer)
	_ = app([]int{}, 0)        //@mark(argInfer, "app"),hoverdef("app", argInfer)
}
