Avatar
@swift-main protocol P { func foo() -> Int } struct S: P { func foo() -> Int { 42 } } func useP<T: P>(_ p: T) -> T { p } let p: any P = S() let q: any P = useP(p) print(q.foo()) (edited)