public protocol P { func foo() } public struct S<T>: P { var x: T public __consuming func foo() {} } public func testing<T: P>(c: T) { c.foo() }
S.foo()