Avatar
Avatar
omochimetaru
@swift-main -Xfrontend -enable-experimental-named-opaque-types protocol P<A> { associatedtype A } protocol Q {} struct S<A>: P {} struct K: Q {} func makePair() -> <T0: Q, T1: Q> (S<T0>, S<T1>) { (S<K>(), S<K>()) } func usePair<T: Q>(_ pair: (S<T>, S<T>)) {} func main() { let pair = makePair() usePair(pair) }
swiftNightly BOT 5/30/2022 4:38 AM
exit status: 134 with stderr:<stdin>:1:11: error: protocols do not allow generic parameters; use associated types instead protocol P<A> { ^ swift-frontend: /home/build-user/swift/lib/Sema/CSSimplify.cpp:3221: ConstraintSystem::TypeMatchResult swift::constraints::ConstraintSystem::matchDeepEqualityTypes(swift::Type, swift::Type, swift::constraints::ConstraintLocatorBuilder): Assertion `opaque1->getCanonicalInterfaceType(arch1->getInterfaceType())->isEqual( opaque2->getCanonicalInterfaceType(arch2->getInterfaceType()))' failed. Stack dump: 0. Program arguments: /usr/bin/swift-frontend -frontend -interpret - -disable-objc-interop -new-driver-path /usr/bin/swift-driver -enable-experimental-named-opaque-types -empty-abi-descriptor -resource-dir /usr/lib/swift -module-name main 1. Swift version 5.7-dev (LLVM aac709978dda363, Swift 8c308d0ff137dde) 2. Compiling with the current language version 3. While evaluating request TypeCheckSourceFileRequest(source_file "<stdin>") 4. While evaluating request TypeCheckFunctionBodyRequest(main.(file).main()@<stdin>:15:6) 5. While type-checking statement at [<stdin>:15:13 - line:18:1] RangeText="{ let pair = makePair() usePair(pair) " 6. While type-checking expression at [<stdin>:17:5 - line:17:17] RangeText="usePair(pair" Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it): /usr/bin/swift-frontend[0x62f7253] /usr/bin/swift-frontend[0x62f4dfe] /usr/bin/swift-frontend[0x62f75e6] /lib/x86_64-linux-gnu/libpthread.so.0(+0x12980)[0x7f70ed252980] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7)[0x7f70eb4c5e87] /lib/x86_64-linux-gnu/libc.so.6(abort+0x141)[0x7f70eb4c77f1] /lib/x86_64-linux-gnu/libc.so.6(+0x303fa)[0x7f70eb4b73fa] /lib/x86_64-linux-gnu/libc.so.6(+0x30472)[0x7f70eb4b7472] /usr/bin/swift-frontend[0x13579fe] /usr/bin/swift-frontend[0x137e7d5] /usr/bin/swift-frontend[0x1363e37] /usr/bin/swift-frontend[0x1351451] /usr/bin