Avatar
any Pset がつぶれることと any PP を満たすことは両立できるんじゃないかな?たとえば↓のコードで、 getSetValuefoo を渡すときに existential container を分解して特殊化されてない版を実行させることに問題はなくない? protocol Foo { associatedtype Value var value: Value { get set } } struct Bar: Foo { var value: Int } func getSetValue<F: Foo>(of foo: F) -> F { var foo: F = foo let value: F.Value = foo.value // get foo.value = value // set return foo } var foo: any Foo = Bar(value: 42) let value: Any = foo.value // foo.value = value // NG foo = getSetValue(of: foo)