-
Notifications
You must be signed in to change notification settings - Fork 10.6k
Closed
Labels
bugA deviation from expected or documented behavior. Also: expected but undesirable behavior.A deviation from expected or documented behavior. Also: expected but undesirable behavior.compilerThe Swift compiler itselfThe Swift compiler itselfcrashBug: A crash, i.e., an abnormal termination of softwareBug: A crash, i.e., an abnormal termination of software
Description
Previous ID | SR-8094 |
Radar | rdar://problem/41425828 |
Original Reporter | @hartbit |
Type | Bug |
Status | Closed |
Resolution | Done |
Additional Detail from JIRA
Votes | 0 |
Component/s | Compiler |
Labels | Bug, CompilerCrash |
Assignee | @DougGregor |
Priority | Medium |
md5: 9e0b02a0af3cd59e317bb63c28706717
Issue Description:
@objc protocol Foo {
associatedtype Bar
var property: Generic<Bar> { get }
}
class Generic<Element> {
}
class FooImpl<T>: NSObject, Foo {
let property: Generic<T>
}
And the error:
/Users/david/Desktop/SpeechRecognizerTests/SpeechRecognizerTests/DebugVariable.swift:15:20: error: associated type 'Bar' cannot be declared inside '@objc' protocol 'Foo'
associatedtype Bar
^
/Users/david/Desktop/SpeechRecognizerTests/SpeechRecognizerTests/DebugVariable.swift:16:9: error: property cannot be a member of an @objc protocol because its type cannot be represented in Objective-C
var property: Generic<Bar> { get }
^ ~~~~~~~~~~~~
/Users/david/Desktop/SpeechRecognizerTests/SpeechRecognizerTests/DebugVariable.swift:16:19: note: classes not annotated with @objc cannot be represented in Objective-C
var property: Generic<Bar> { get }
^~~~~~~~~~~~
/Users/david/Desktop/SpeechRecognizerTests/SpeechRecognizerTests/DebugVariable.swift:16:9: note: inferring '@objc' because the declaration is a member of an '@objc' protocol
var property: Generic<Bar> { get }
^
0 swift 0x0000000110878a9a PrintStackTraceSignalHandler(void*) + 42
1 swift 0x0000000110877ea6 SignalHandler(int) + 966
2 libsystem_platform.dylib 0x00007fff658b3f5a _sigtramp + 26
3 libsystem_platform.dylib 0x00007ffee311a688 _sigtramp + 2105960264
4 swift 0x000000010e084f6f swift::ProtocolConformance::getTypeWitnessAndDecl(swift::AssociatedTypeDecl*, swift::LazyResolver*, swift::SubstOptions) const + 463
5 swift 0x000000010dcea1b2 swift::TypeChecker::resolveWitness(swift::NormalProtocolConformance const*, swift::ValueDecl*) + 418
6 swift 0x000000010e085ebe swift::NormalProtocolConformance::getWitness(swift::ValueDecl*, swift::LazyResolver*) const + 190
7 swift 0x000000010dce6f24 swift::TypeChecker::findWitnessedObjCRequirements(swift::ValueDecl const*, bool) + 772
8 swift 0x000000010dc89616 shouldMarkAsObjC(swift::TypeChecker&, swift::ValueDecl const*, bool) + 1606
9 swift 0x000000010dc7cea4 swift::TypeChecker::validateDecl(swift::ValueDecl*) + 8212
10 swift 0x000000010dc9d4dd std::__1::__function::__func<(anonymous namespace)::DeclChecker::visitBoundVars(swift::Pattern*)::'lambda'(swift::VarDecl*), std::__1::allocator<(anonymous namespace)::DeclChecker::visitBoundVars(swift::Pattern*)::'lambda'(swift::VarDecl*)>, void (swift::VarDecl*)>::operator()(swift::VarDecl*&&) + 45
11 swift 0x000000010e080685 swift::Pattern::forEachVariable(std::__1::function<void (swift::VarDecl*)> const&) const + 261
12 swift 0x000000010dc96308 (anonymous namespace)::DeclChecker::visit(swift::Decl*) + 2776
13 swift 0x000000010dc99aab (anonymous namespace)::DeclChecker::visitClassDecl(swift::ClassDecl*) + 411
14 swift 0x000000010dc95a19 (anonymous namespace)::DeclChecker::visit(swift::Decl*) + 489
15 swift 0x000000010dd2d486 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) + 1830
16 swift 0x000000010d964c25 swift::CompilerInstance::performSema() + 4933
17 swift 0x000000010cb6138b performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) + 731
18 swift 0x000000010cb5dbbf swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 7839
19 swift 0x000000010cb07768 main + 13144
20 libdyld.dylib 0x00007fff655a5015 start + 1
Stack dump:
0. Program arguments: /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c /Users/david/Desktop/SpeechRecognizerTests/SpeechRecognizerTests/ViewController.swift -primary-file /Users/david/Desktop/SpeechRecognizerTests/SpeechRecognizerTests/DebugVariable.swift /Users/david/Desktop/SpeechRecognizerTests/SpeechRecognizerTests/AppDelegate.swift /Users/david/Desktop/SpeechRecognizerTests/SpeechRecognizerTests/SpeechView.swift /Users/david/Desktop/SpeechRecognizerTests/SpeechRecognizerTests/SpeechRecognizer.swift -emit-module-path /Users/david/Library/Developer/Xcode/DerivedData/SpeechRecognizerTests-cwygaokbyhlhiofzmhcrhxqbpbwt/Build/Intermediates.noindex/SpeechRecognizerTests.build/Debug-iphoneos/SpeechRecognizerTests.build/Objects-normal/arm64/DebugVariable~partial.swiftmodule -emit-module-doc-path /Users/david/Library/Developer/Xcode/DerivedData/SpeechRecognizerTests-cwygaokbyhlhiofzmhcrhxqbpbwt/Build/Intermediates.noindex/SpeechRecognizerTests.build/Debug-iphoneos/SpeechRecognizerTests.build/Objects-normal/arm64/DebugVariable~partial.swiftdoc -serialize-diagnostics-path /Users/david/Library/Developer/Xcode/DerivedData/SpeechRecognizerTests-cwygaokbyhlhiofzmhcrhxqbpbwt/Build/Intermediates.noindex/SpeechRecognizerTests.build/Debug-iphoneos/SpeechRecognizerTests.build/Objects-normal/arm64/DebugVariable.dia -emit-dependencies-path /Users/david/Library/Developer/Xcode/DerivedData/SpeechRecognizerTests-cwygaokbyhlhiofzmhcrhxqbpbwt/Build/Intermediates.noindex/SpeechRecognizerTests.build/Debug-iphoneos/SpeechRecognizerTests.build/Objects-normal/arm64/DebugVariable.d -emit-reference-dependencies-path /Users/david/Library/Developer/Xcode/DerivedData/SpeechRecognizerTests-cwygaokbyhlhiofzmhcrhxqbpbwt/Build/Intermediates.noindex/SpeechRecognizerTests.build/Debug-iphoneos/SpeechRecognizerTests.build/Objects-normal/arm64/DebugVariable.swiftdeps -target arm64-apple-ios11.4 -Xllvm -aarch64-use-tbi -enable-objc-interop -sdk /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk -I /Users/david/Library/Developer/Xcode/DerivedData/SpeechRecognizerTests-cwygaokbyhlhiofzmhcrhxqbpbwt/Build/Products/Debug-iphoneos -F /Users/david/Library/Developer/Xcode/DerivedData/SpeechRecognizerTests-cwygaokbyhlhiofzmhcrhxqbpbwt/Build/Products/Debug-iphoneos -F /Users/david/Library/Developer/Xcode/DerivedData/SpeechRecognizerTests-cwygaokbyhlhiofzmhcrhxqbpbwt/Build/Products/Debug-iphoneos/RxCocoa -F /Users/david/Library/Developer/Xcode/DerivedData/SpeechRecognizerTests-cwygaokbyhlhiofzmhcrhxqbpbwt/Build/Products/Debug-iphoneos/RxSwift -enable-testing -g -module-cache-path /Users/david/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -swift-version 4 -enforce-exclusivity=checked -Onone -D DEBUG -D COCOAPODS -serialize-debugging-options -Xcc -working-directory -Xcc /Users/david/Desktop/SpeechRecognizerTests -Xcc -I/Users/david/Library/Developer/Xcode/DerivedData/SpeechRecognizerTests-cwygaokbyhlhiofzmhcrhxqbpbwt/Build/Intermediates.noindex/SpeechRecognizerTests.build/Debug-iphoneos/SpeechRecognizerTests.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/david/Library/Developer/Xcode/DerivedData/SpeechRecognizerTests-cwygaokbyhlhiofzmhcrhxqbpbwt/Build/Intermediates.noindex/SpeechRecognizerTests.build/Debug-iphoneos/SpeechRecognizerTests.build/SpeechRecognizerTests-generated-files.hmap -Xcc -I/Users/david/Library/Developer/Xcode/DerivedData/SpeechRecognizerTests-cwygaokbyhlhiofzmhcrhxqbpbwt/Build/Intermediates.noindex/SpeechRecognizerTests.build/Debug-iphoneos/SpeechRecognizerTests.build/SpeechRecognizerTests-own-target-headers.hmap -Xcc -I/Users/david/Library/Developer/Xcode/DerivedData/SpeechRecognizerTests-cwygaokbyhlhiofzmhcrhxqbpbwt/Build/Intermediates.noindex/SpeechRecognizerTests.build/Debug-iphoneos/SpeechRecognizerTests.build/SpeechRecognizerTests-all-non-framework-target-headers.hmap -Xcc -ivfsoverlay -Xcc /Users/david/Library/Developer/Xcode/DerivedData/SpeechRecognizerTests-cwygaokbyhlhiofzmhcrhxqbpbwt/Build/Intermediates.noindex/SpeechRecognizerTests.build/Debug-iphoneos/SpeechRecognizerTests.build/all-product-headers.yaml -Xcc -iquote -Xcc /Users/david/Library/Developer/Xcode/DerivedData/SpeechRecognizerTests-cwygaokbyhlhiofzmhcrhxqbpbwt/Build/Intermediates.noindex/SpeechRecognizerTests.build/Debug-iphoneos/SpeechRecognizerTests.build/SpeechRecognizerTests-project-headers.hmap -Xcc -I/Users/david/Library/Developer/Xcode/DerivedData/SpeechRecognizerTests-cwygaokbyhlhiofzmhcrhxqbpbwt/Build/Products/Debug-iphoneos/include -Xcc -I/Users/david/Library/Developer/Xcode/DerivedData/SpeechRecognizerTests-cwygaokbyhlhiofzmhcrhxqbpbwt/Build/Intermediates.noindex/SpeechRecognizerTests.build/Debug-iphoneos/SpeechRecognizerTests.build/DerivedSources/arm64 -Xcc -I/Users/david/Library/Developer/Xcode/DerivedData/SpeechRecognizerTests-cwygaokbyhlhiofzmhcrhxqbpbwt/Build/Intermediates.noindex/SpeechRecognizerTests.build/Debug-iphoneos/SpeechRecognizerTests.build/DerivedSources -Xcc -DDEBUG=1 -Xcc -DCOCOAPODS=1 -module-name SpeechRecognizerTests -o /Users/david/Library/Developer/Xcode/DerivedData/SpeechRecognizerTests-cwygaokbyhlhiofzmhcrhxqbpbwt/Build/Intermediates.noindex/SpeechRecognizerTests.build/Debug-iphoneos/SpeechRecognizerTests.build/Objects-normal/arm64/DebugVariable.o -embed-bitcode-marker -index-store-path /Users/david/Library/Developer/Xcode/DerivedData/SpeechRecognizerTests-cwygaokbyhlhiofzmhcrhxqbpbwt/Index/DataStore -index-system-modules
1. While type-checking 'FooImpl' at /Users/david/Desktop/SpeechRecognizerTests/SpeechRecognizerTests/DebugVariable.swift:22:1
2. While type-checking declaration 0x7fc1bf270d58 at /Users/david/Desktop/SpeechRecognizerTests/SpeechRecognizerTests/DebugVariable.swift:23:5
3. While validating 'property' at /Users/david/Desktop/SpeechRecognizerTests/SpeechRecognizerTests/DebugVariable.swift:23:9
4. While resolving requirement SpeechRecognizerTests.(file).Foo.Bar@/Users/david/Desktop/SpeechRecognizerTests/SpeechRecognizerTests/DebugVariable.swift:15:20 in conformance <T> FooImpl<T>: Foo module SpeechRecognizerTests
error: Segmentation fault: 11
Metadata
Metadata
Assignees
Labels
bugA deviation from expected or documented behavior. Also: expected but undesirable behavior.A deviation from expected or documented behavior. Also: expected but undesirable behavior.compilerThe Swift compiler itselfThe Swift compiler itselfcrashBug: A crash, i.e., an abnormal termination of softwareBug: A crash, i.e., an abnormal termination of software