protocol P { associatedtype T var t: T { get } } struct S: P { var t: Int { 23 } } // This explicit type annotation crashes the compiler let spt: (some P).T = S().t // This works let sp: some P = S() let spt1 = sp.t