// Copyright 2020 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 type Number1 interface { // embedding non-interface types is permitted int float64 } func Add[T Number1](a, b T) T { return a /* ERROR not defined */ + b } type Number2 interface { int|float64 } func Add2[T Number2](a, b T) T { return a + b }