{"action":"closed","number":663,"pull_request":{"url":"https://api.github.com/repos/apple/swift/pulls/663","id":54178045,"html_url":"https://github.com/apple/swift/pull/663","diff_url":"https://github.com/apple/swift/pull/663.diff","patch_url":"https://github.com/apple/swift/pull/663.patch","issue_url":"https://api.github.com/repos/apple/swift/issues/663","number":663,"state":"closed","locked":false,"title":"[SourceKit] Add test case for crash triggered in swift::ProtocolDecl::requiresClassSlow()","user":{"login":"practicalswift","id":7826565,"avatar_url":"https://avatars.githubusercontent.com/u/7826565?v=3","gravatar_id":"","url":"https://api.github.com/users/practicalswift","html_url":"https://github.com/practicalswift","followers_url":"https://api.github.com/users/practicalswift/followers","following_url":"https://api.github.com/users/practicalswift/following{/other_user}","gists_url":"https://api.github.com/users/practicalswift/gists{/gist_id}","starred_url":"https://api.github.com/users/practicalswift/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/practicalswift/subscriptions","organizations_url":"https://api.github.com/users/practicalswift/orgs","repos_url":"https://api.github.com/users/practicalswift/repos","events_url":"https://api.github.com/users/practicalswift/events{/privacy}","received_events_url":"https://api.github.com/users/practicalswift/received_events","type":"User","site_admin":false},"body":"Stack trace:\r\n\r\n```\r\nfound code completion token A at offset 224\r\nswift-ide-test: /path/to/swift/lib/AST/Decl.cpp:2476: bool swift::ProtocolDecl::requiresClassSlow(): Assertion `isInheritedProtocolsValid() || isBeingTypeChecked()' failed.\r\n8  swift-ide-test  0x0000000000b3be03 swift::ProtocolDecl::requiresClassSlow() + 403\r\n9  swift-ide-test  0x0000000000b89562 swift::CanType::isReferenceTypeImpl(swift::CanType, bool) + 290\r\n11 swift-ide-test  0x000000000092c150 swift::configureImplicitSelf(swift::TypeChecker&, swift::AbstractFunctionDecl*) + 160\r\n14 swift-ide-test  0x000000000092c680 swift::TypeChecker::validateDecl(swift::ValueDecl*, bool) + 800\r\n15 swift-ide-test  0x0000000000b77a1c swift::DeclContext::lookupQualified(swift::Type, swift::DeclName, unsigned int, swift::LazyResolver*, llvm::SmallVectorImpl<swift::ValueDecl*>&) const + 2908\r\n16 swift-ide-test  0x0000000000b7640c swift::UnqualifiedLookup::UnqualifiedLookup(swift::DeclName, swift::DeclContext*, swift::LazyResolver*, bool, swift::SourceLoc, bool, bool) + 2252\r\n17 swift-ide-test  0x00000000009541ab swift::TypeChecker::lookupUnqualified(swift::DeclContext*, swift::DeclName, swift::SourceLoc, swift::OptionSet<swift::NameLookupFlags, unsigned int>) + 187\r\n20 swift-ide-test  0x000000000097e0ce swift::TypeChecker::resolveIdentifierType(swift::DeclContext*, swift::IdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 158\r\n22 swift-ide-test  0x000000000097dfc4 swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 212\r\n23 swift-ide-test  0x00000000009ef4e2 swift::IterativeTypeChecker::processResolveInheritedClauseEntry(std::pair<llvm::PointerUnion<swift::TypeDecl*, swift::ExtensionDecl*>, unsigned int>, llvm::function_ref<bool (swift::TypeCheckRequest)>) + 146\r\n24 swift-ide-test  0x00000000009eede7 swift::IterativeTypeChecker::satisfy(swift::TypeCheckRequest) + 359\r\n25 swift-ide-test  0x0000000000928fc9 swift::TypeChecker::resolveInheritanceClause(llvm::PointerUnion<swift::TypeDecl*, swift::ExtensionDecl*>) + 137\r\n26 swift-ide-test  0x000000000092c793 swift::TypeChecker::validateDecl(swift::ValueDecl*, bool) + 1075\r\n27 swift-ide-test  0x0000000000b7637c swift::UnqualifiedLookup::UnqualifiedLookup(swift::DeclName, swift::DeclContext*, swift::LazyResolver*, bool, swift::SourceLoc, bool, bool) + 2108\r\n28 swift-ide-test  0x00000000009541ab swift::TypeChecker::lookupUnqualified(swift::DeclContext*, swift::DeclName, swift::SourceLoc, swift::OptionSet<swift::NameLookupFlags, unsigned int>) + 187\r\n31 swift-ide-test  0x000000000097e0ce swift::TypeChecker::resolveIdentifierType(swift::DeclContext*, swift::IdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 158\r\n33 swift-ide-test  0x000000000097dfc4 swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 212\r\n34 swift-ide-test  0x000000000092a351 swift::TypeChecker::checkInheritanceClause(swift::Decl*, swift::GenericTypeResolver*) + 4929\r\n35 swift-ide-test  0x00000000009503f5 swift::TypeChecker::checkGenericParamList(swift::ArchetypeBuilder*, swift::GenericParamList*, swift::DeclContext*, bool, swift::GenericTypeResolver*) + 373\r\n37 swift-ide-test  0x000000000095081c swift::TypeChecker::validateGenericFuncSignature(swift::AbstractFunctionDecl*) + 124\r\n42 swift-ide-test  0x0000000000931ec7 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) + 151\r\n43 swift-ide-test  0x00000000008ff562 swift::typeCheckCompletionDecl(swift::Decl*) + 1122\r\n46 swift-ide-test  0x000000000085ce13 swift::performDelayedParsing(swift::DeclContext*, swift::PersistentParserState&, swift::CodeCompletionCallbacksFactory*) + 307\r\n47 swift-ide-test  0x000000000076bb24 swift::CompilerInstance::performSema() + 3316\r\n48 swift-ide-test  0x00000000007152b7 main + 33239\r\nStack dump:\r\n0.\tProgram arguments: swift-ide-test -code-completion -code-completion-token=A -source-filename=<INPUT-FILE>\r\n1.\tWhile type-checking 'P' at <INPUT-FILE>:6:47\r\n2.\tWhile resolving type o at [<INPUT-FILE>:8:4 - line:8:4] RangeText=\"o\"\r\n3.\tWhile resolving type a at [<INPUT-FILE>:6:35 - line:6:35] RangeText=\"a\"\r\n4.\tWhile type-checking 'a' at <INPUT-FILE>:5:1\r\n```","created_at":"2015-12-19T12:43:31Z","updated_at":"2015-12-19T12:55:55Z","closed_at":"2015-12-19T12:55:55Z","merged_at":"2015-12-19T12:55:55Z","merge_commit_sha":"f95f76688518a25ff12d056978a7abac3a23e9ad","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/apple/swift/pulls/663/commits","review_comments_url":"https://api.github.com/repos/apple/swift/pulls/663/comments","review_comment_url":"https://api.github.com/repos/apple/swift/pulls/comments{/number}","comments_url":"https://api.github.com/repos/apple/swift/issues/663/comments","statuses_url":"https://api.github.com/repos/apple/swift/statuses/05d307428033822127e7047d1f9138cea631d14f","head":{"label":"practicalswift:sourcekit-045-swift-protocoldecl-requiresclassslow","ref":"sourcekit-045-swift-protocoldecl-requiresclassslow","sha":"05d307428033822127e7047d1f9138cea631d14f","user":{"login":"practicalswift","id":7826565,"avatar_url":"https://avatars.githubusercontent.com/u/7826565?v=3","gravatar_id":"","url":"https://api.github.com/users/practicalswift","html_url":"https://github.com/practicalswift","followers_url":"https://api.github.com/users/practicalswift/followers","following_url":"https://api.github.com/users/practicalswift/following{/other_user}","gists_url":"https://api.github.com/users/practicalswift/gists{/gist_id}","starred_url":"https://api.github.com/users/practicalswift/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/practicalswift/subscriptions","organizations_url":"https://api.github.com/users/practicalswift/orgs","repos_url":"https://api.github.com/users/practicalswift/repos","events_url":"https://api.github.com/users/practicalswift/events{/privacy}","received_events_url":"https://api.github.com/users/practicalswift/received_events","type":"User","site_admin":false},"repo":{"id":47491399,"name":"swift","full_name":"practicalswift/swift","owner":{"login":"practicalswift","id":7826565,"avatar_url":"https://avatars.githubusercontent.com/u/7826565?v=3","gravatar_id":"","url":"https://api.github.com/users/practicalswift","html_url":"https://github.com/practicalswift","followers_url":"https://api.github.com/users/practicalswift/followers","following_url":"https://api.github.com/users/practicalswift/following{/other_user}","gists_url":"https://api.github.com/users/practicalswift/gists{/gist_id}","starred_url":"https://api.github.com/users/practicalswift/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/practicalswift/subscriptions","organizations_url":"https://api.github.com/users/practicalswift/orgs","repos_url":"https://api.github.com/users/practicalswift/repos","events_url":"https://api.github.com/users/practicalswift/events{/privacy}","received_events_url":"https://api.github.com/users/practicalswift/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/practicalswift/swift","description":"The Swift Programming Language","fork":true,"url":"https://api.github.com/repos/practicalswift/swift","forks_url":"https://api.github.com/repos/practicalswift/swift/forks","keys_url":"https://api.github.com/repos/practicalswift/swift/keys{/key_id}","collaborators_url":"https://api.github.com/repos/practicalswift/swift/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/practicalswift/swift/teams","hooks_url":"https://api.github.com/repos/practicalswift/swift/hooks","issue_events_url":"https://api.github.com/repos/practicalswift/swift/issues/events{/number}","events_url":"https://api.github.com/repos/practicalswift/swift/events","assignees_url":"https://api.github.com/repos/practicalswift/swift/assignees{/user}","branches_url":"https://api.github.com/repos/practicalswift/swift/branches{/branch}","tags_url":"https://api.github.com/repos/practicalswift/swift/tags","blobs_url":"https://api.github.com/repos/practicalswift/swift/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/practicalswift/swift/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/practicalswift/swift/git/refs{/sha}","trees_url":"https://api.github.com/repos/practicalswift/swift/git/trees{/sha}","statuses_url":"https://api.github.com/repos/practicalswift/swift/statuses/{sha}","languages_url":"https://api.github.com/repos/practicalswift/swift/languages","stargazers_url":"https://api.github.com/repos/practicalswift/swift/stargazers","contributors_url":"https://api.github.com/repos/practicalswift/swift/contributors","subscribers_url":"https://api.github.com/repos/practicalswift/swift/subscribers","subscription_url":"https://api.github.com/repos/practicalswift/swift/subscription","commits_url":"https://api.github.com/repos/practicalswift/swift/commits{/sha}","git_commits_url":"https://api.github.com/repos/practicalswift/swift/git/commits{/sha}","comments_url":"https://api.github.com/repos/practicalswift/swift/comments{/number}","issue_comment_url":"https://api.github.com/repos/practicalswift/swift/issues/comments{/number}","contents_url":"https://api.github.com/repos/practicalswift/swift/contents/{+path}","compare_url":"https://api.github.com/repos/practicalswift/swift/compare/{base}...{head}","merges_url":"https://api.github.com/repos/practicalswift/swift/merges","archive_url":"https://api.github.com/repos/practicalswift/swift/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/practicalswift/swift/downloads","issues_url":"https://api.github.com/repos/practicalswift/swift/issues{/number}","pulls_url":"https://api.github.com/repos/practicalswift/swift/pulls{/number}","milestones_url":"https://api.github.com/repos/practicalswift/swift/milestones{/number}","notifications_url":"https://api.github.com/repos/practicalswift/swift/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/practicalswift/swift/labels{/name}","releases_url":"https://api.github.com/repos/practicalswift/swift/releases{/id}","created_at":"2015-12-06T09:58:13Z","updated_at":"2015-12-06T09:58:30Z","pushed_at":"2015-12-19T12:43:16Z","git_url":"git://github.com/practicalswift/swift.git","ssh_url":"git@github.com:practicalswift/swift.git","clone_url":"https://github.com/practicalswift/swift.git","svn_url":"https://github.com/practicalswift/swift","homepage":"","size":61817,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"apple:master","ref":"master","sha":"aa951aad64523624f0351762886b57268cc9adf5","user":{"login":"apple","id":10639145,"avatar_url":"https://avatars.githubusercontent.com/u/10639145?v=3","gravatar_id":"","url":"https://api.github.com/users/apple","html_url":"https://github.com/apple","followers_url":"https://api.github.com/users/apple/followers","following_url":"https://api.github.com/users/apple/following{/other_user}","gists_url":"https://api.github.com/users/apple/gists{/gist_id}","starred_url":"https://api.github.com/users/apple/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apple/subscriptions","organizations_url":"https://api.github.com/users/apple/orgs","repos_url":"https://api.github.com/users/apple/repos","events_url":"https://api.github.com/users/apple/events{/privacy}","received_events_url":"https://api.github.com/users/apple/received_events","type":"Organization","site_admin":false},"repo":{"id":44838949,"name":"swift","full_name":"apple/swift","owner":{"login":"apple","id":10639145,"avatar_url":"https://avatars.githubusercontent.com/u/10639145?v=3","gravatar_id":"","url":"https://api.github.com/users/apple","html_url":"https://github.com/apple","followers_url":"https://api.github.com/users/apple/followers","following_url":"https://api.github.com/users/apple/following{/other_user}","gists_url":"https://api.github.com/users/apple/gists{/gist_id}","starred_url":"https://api.github.com/users/apple/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apple/subscriptions","organizations_url":"https://api.github.com/users/apple/orgs","repos_url":"https://api.github.com/users/apple/repos","events_url":"https://api.github.com/users/apple/events{/privacy}","received_events_url":"https://api.github.com/users/apple/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/apple/swift","description":"The Swift Programming Language","fork":false,"url":"https://api.github.com/repos/apple/swift","forks_url":"https://api.github.com/repos/apple/swift/forks","keys_url":"https://api.github.com/repos/apple/swift/keys{/key_id}","collaborators_url":"https://api.github.com/repos/apple/swift/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/apple/swift/teams","hooks_url":"https://api.github.com/repos/apple/swift/hooks","issue_events_url":"https://api.github.com/repos/apple/swift/issues/events{/number}","events_url":"https://api.github.com/repos/apple/swift/events","assignees_url":"https://api.github.com/repos/apple/swift/assignees{/user}","branches_url":"https://api.github.com/repos/apple/swift/branches{/branch}","tags_url":"https://api.github.com/repos/apple/swift/tags","blobs_url":"https://api.github.com/repos/apple/swift/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/apple/swift/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/apple/swift/git/refs{/sha}","trees_url":"https://api.github.com/repos/apple/swift/git/trees{/sha}","statuses_url":"https://api.github.com/repos/apple/swift/statuses/{sha}","languages_url":"https://api.github.com/repos/apple/swift/languages","stargazers_url":"https://api.github.com/repos/apple/swift/stargazers","contributors_url":"https://api.github.com/repos/apple/swift/contributors","subscribers_url":"https://api.github.com/repos/apple/swift/subscribers","subscription_url":"https://api.github.com/repos/apple/swift/subscription","commits_url":"https://api.github.com/repos/apple/swift/commits{/sha}","git_commits_url":"https://api.github.com/repos/apple/swift/git/commits{/sha}","comments_url":"https://api.github.com/repos/apple/swift/comments{/number}","issue_comment_url":"https://api.github.com/repos/apple/swift/issues/comments{/number}","contents_url":"https://api.github.com/repos/apple/swift/contents/{+path}","compare_url":"https://api.github.com/repos/apple/swift/compare/{base}...{head}","merges_url":"https://api.github.com/repos/apple/swift/merges","archive_url":"https://api.github.com/repos/apple/swift/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/apple/swift/downloads","issues_url":"https://api.github.com/repos/apple/swift/issues{/number}","pulls_url":"https://api.github.com/repos/apple/swift/pulls{/number}","milestones_url":"https://api.github.com/repos/apple/swift/milestones{/number}","notifications_url":"https://api.github.com/repos/apple/swift/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/apple/swift/labels{/name}","releases_url":"https://api.github.com/repos/apple/swift/releases{/id}","created_at":"2015-10-23T21:15:07Z","updated_at":"2015-12-19T12:32:02Z","pushed_at":"2015-12-19T12:55:55Z","git_url":"git://github.com/apple/swift.git","ssh_url":"git@github.com:apple/swift.git","clone_url":"https://github.com/apple/swift.git","svn_url":"https://github.com/apple/swift","homepage":"https://swift.org/","size":79498,"stargazers_count":24039,"watchers_count":24039,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":2901,"mirror_url":null,"open_issues_count":60,"forks":2901,"open_issues":60,"watchers":24039,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/apple/swift/pulls/663"},"html":{"href":"https://github.com/apple/swift/pull/663"},"issue":{"href":"https://api.github.com/repos/apple/swift/issues/663"},"comments":{"href":"https://api.github.com/repos/apple/swift/issues/663/comments"},"review_comments":{"href":"https://api.github.com/repos/apple/swift/pulls/663/comments"},"review_comment":{"href":"https://api.github.com/repos/apple/swift/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/apple/swift/pulls/663/commits"},"statuses":{"href":"https://api.github.com/repos/apple/swift/statuses/05d307428033822127e7047d1f9138cea631d14f"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"gribozavr","id":1120569,"avatar_url":"https://avatars.githubusercontent.com/u/1120569?v=3","gravatar_id":"","url":"https://api.github.com/users/gribozavr","html_url":"https://github.com/gribozavr","followers_url":"https://api.github.com/users/gribozavr/followers","following_url":"https://api.github.com/users/gribozavr/following{/other_user}","gists_url":"https://api.github.com/users/gribozavr/gists{/gist_id}","starred_url":"https://api.github.com/users/gribozavr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gribozavr/subscriptions","organizations_url":"https://api.github.com/users/gribozavr/orgs","repos_url":"https://api.github.com/users/gribozavr/repos","events_url":"https://api.github.com/users/gribozavr/events{/privacy}","received_events_url":"https://api.github.com/users/gribozavr/received_events","type":"User","site_admin":false},"comments":0,"review_comments":0,"commits":1,"additions":8,"deletions":0,"changed_files":1}}