{"action":"closed","number":3470,"pull_request":{"url":"https://api.github.com/repos/apple/swift/pulls/3470","id":77174929,"html_url":"https://github.com/apple/swift/pull/3470","diff_url":"https://github.com/apple/swift/pull/3470.diff","patch_url":"https://github.com/apple/swift/pull/3470.patch","issue_url":"https://api.github.com/repos/apple/swift/issues/3470","number":3470,"state":"closed","locked":false,"title":"Add 💥 (😢 → 66, 😀 → 5108) in swift::TypeChecker::addImplicitConstructors(…)","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":"Add test case for crash triggered in `swift::TypeChecker::addImplicitConstructors(…)`.\r\n\r\nAssertion failure in [`lib/Sema/TypeCheckDecl.cpp (line 7354)`](https://github.com/apple/swift/blob/master/lib/Sema/TypeCheckDecl.cpp#L7354):\r\n\r\n```\r\nAssertion `!classDecl->hasSuperclass() || classDecl->getSuperclass()->getAnyNominal()->isInvalid() || classDecl->getSuperclass()->getAnyNominal() ->addedImplicitInitializers()' failed.\r\n\r\nWhen executing: void swift::TypeChecker::addImplicitConstructors(swift::NominalTypeDecl *)\r\n```\r\n\r\n<details>\r\n<summary>Assertion context:</summary>\r\n```\r\n        && !structDecl->hasUnreferenceableStorage()) {\r\n      // For a struct with memberwise initialized properties, we add a\r\n      // memberwise init.\r\n      if (FoundMemberwiseInitializedProperty) {\r\n        // Create the implicit memberwise constructor.\r\n        auto ctor = createImplicitConstructor(\r\n                      *this, decl, ImplicitConstructorKind::Memberwise);\r\n        decl->addMember(ctor);\r\n      }\r\n\r\n      // If we found a stored property, add a default constructor.\r\n      if (!SuppressDefaultInitializer)\r\n        defineDefaultConstructor(decl);\r\n    }\r\n    return;\r\n  }\r\n\r\n  // For a class with a superclass, automatically define overrides\r\n  // for all of the superclass's designated initializers.\r\n  // FIXME: Currently skipping generic classes.\r\n  auto classDecl = cast<ClassDecl>(decl);\r\n  assert(!classDecl->hasSuperclass() ||\r\n         classDecl->getSuperclass()->getAnyNominal()->isInvalid() ||\r\n         classDecl->getSuperclass()->getAnyNominal()\r\n           ->addedImplicitInitializers());\r\n  if (classDecl->hasSuperclass()) {\r\n    bool canInheritInitializers = !FoundDesignatedInit;\r\n\r\n    // We can't define these overrides if we have any uninitialized\r\n    // stored properties.\r\n```\r\n</details>\r\n<details>\r\n<summary>Stack trace:</summary>\r\n```\r\nswift: /path/to/swift/lib/Sema/TypeCheckDecl.cpp:7354: void swift::TypeChecker::addImplicitConstructors(swift::NominalTypeDecl *): Assertion `!classDecl->hasSuperclass() || classDecl->getSuperclass()->getAnyNominal()->isInvalid() || classDecl->getSuperclass()->getAnyNominal() ->addedImplicitInitializers()' failed.\r\n8  swift           0x0000000000ebd54a swift::TypeChecker::addImplicitConstructors(swift::NominalTypeDecl*) + 4506\r\n9  swift           0x0000000000eb044e swift::TypeChecker::checkInheritanceClause(swift::Decl*, swift::GenericTypeResolver*) + 5854\r\n10 swift           0x0000000000eb1778 swift::TypeChecker::validateDecl(swift::ValueDecl*, bool) + 376\r\n11 swift           0x0000000001110bdb swift::DeclContext::lookupQualified(swift::Type, swift::DeclName, swift::NLOptions, swift::LazyResolver*, llvm::SmallVectorImpl<swift::ValueDecl*>&) const + 2667\r\n12 swift           0x000000000110f2bf swift::UnqualifiedLookup::UnqualifiedLookup(swift::DeclName, swift::DeclContext*, swift::LazyResolver*, bool, swift::SourceLoc, bool, bool) + 2495\r\n13 swift           0x0000000000ef32db swift::TypeChecker::lookupUnqualified(swift::DeclContext*, swift::DeclName, swift::SourceLoc, swift::OptionSet<swift::NameLookupFlags, unsigned int>) + 187\r\n16 swift           0x0000000000f24b8e swift::TypeChecker::resolveIdentifierType(swift::DeclContext*, swift::IdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 158\r\n18 swift           0x0000000000f25ae4 swift::TypeChecker::resolveType(swift::TypeRepr*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 164\r\n19 swift           0x0000000000f24a80 swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 192\r\n20 swift           0x0000000000eb017a swift::TypeChecker::checkInheritanceClause(swift::Decl*, swift::GenericTypeResolver*) + 5130\r\n21 swift           0x0000000000eb1778 swift::TypeChecker::validateDecl(swift::ValueDecl*, bool) + 376\r\n22 swift           0x0000000001110bdb swift::DeclContext::lookupQualified(swift::Type, swift::DeclName, swift::NLOptions, swift::LazyResolver*, llvm::SmallVectorImpl<swift::ValueDecl*>&) const + 2667\r\n23 swift           0x000000000110f2bf swift::UnqualifiedLookup::UnqualifiedLookup(swift::DeclName, swift::DeclContext*, swift::LazyResolver*, bool, swift::SourceLoc, bool, bool) + 2495\r\n24 swift           0x0000000000ef32db swift::TypeChecker::lookupUnqualified(swift::DeclContext*, swift::DeclName, swift::SourceLoc, swift::OptionSet<swift::NameLookupFlags, unsigned int>) + 187\r\n27 swift           0x0000000000f24b8e swift::TypeChecker::resolveIdentifierType(swift::DeclContext*, swift::IdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 158\r\n29 swift           0x0000000000f25ae4 swift::TypeChecker::resolveType(swift::TypeRepr*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 164\r\n30 swift           0x0000000000f24a80 swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 192\r\n32 swift           0x0000000000eef09e swift::TypeChecker::validateGenericFuncSignature(swift::AbstractFunctionDecl*) + 94\r\n37 swift           0x0000000000eb6da6 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) + 150\r\n40 swift           0x0000000000f1eb64 swift::TypeChecker::typeCheckClosureBody(swift::ClosureExpr*) + 244\r\n41 swift           0x0000000000f4aeac swift::constraints::ConstraintSystem::applySolution(swift::constraints::Solution&, swift::Expr*, swift::Type, bool, bool, bool) + 876\r\n42 swift           0x0000000000ea5431 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*) + 769\r\n44 swift           0x0000000000f1eca6 swift::TypeChecker::typeCheckTopLevelCodeDecl(swift::TopLevelCodeDecl*) + 134\r\n45 swift           0x0000000000ed8fcd swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) + 1133\r\n46 swift           0x0000000000c65a49 swift::CompilerInstance::performSema() + 3289\r\n48 swift           0x00000000007d89b9 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 2857\r\n49 swift           0x00000000007a49d8 main + 2872\r\nStack dump:\r\n0.\tProgram arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28364-swift-typechecker-addimplicitconstructors.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28364-swift-typechecker-addimplicitconstructors-2a3ab6.o\r\n1.\tWhile type-checking expression at [validation-test/compiler_crashers/28364-swift-typechecker-addimplicitconstructors.swift:10:1 - line:15:12] RangeText=\"{\r\n2.\tWhile type-checking 'd' at validation-test/compiler_crashers/28364-swift-typechecker-addimplicitconstructors.swift:11:1\r\n3.\tWhile resolving type B<T> at [validation-test/compiler_crashers/28364-swift-typechecker-addimplicitconstructors.swift:12:8 - line:12:11] RangeText=\"B<T>\"\r\n4.\tWhile resolving type b at [validation-test/compiler_crashers/28364-swift-typechecker-addimplicitconstructors.swift:15:12 - line:15:12] RangeText=\"b\"\r\n<unknown>:0: error: unable to execute command: Aborted\r\n<unknown>:0: error: compile command failed due to signal (use -v to see invocation)\r\n```\r\n</details>","created_at":"2016-07-12T19:15:52Z","updated_at":"2016-07-12T23:06:19Z","closed_at":"2016-07-12T23:06:19Z","merged_at":"2016-07-12T23:06:19Z","merge_commit_sha":"8f5742cfc6bf7e04e79828fef1c306b6fbe78114","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/apple/swift/pulls/3470/commits","review_comments_url":"https://api.github.com/repos/apple/swift/pulls/3470/comments","review_comment_url":"https://api.github.com/repos/apple/swift/pulls/comments{/number}","comments_url":"https://api.github.com/repos/apple/swift/issues/3470/comments","statuses_url":"https://api.github.com/repos/apple/swift/statuses/6898f60e203a975f17b499a30fbb40f1e244d883","head":{"label":"practicalswift:swiftc-28364-swift-typechecker-addimplicitconstructors","ref":"swiftc-28364-swift-typechecker-addimplicitconstructors","sha":"6898f60e203a975f17b499a30fbb40f1e244d883","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}","deployments_url":"https://api.github.com/repos/practicalswift/swift/deployments","created_at":"2015-12-06T09:58:13Z","updated_at":"2016-04-08T19:23:07Z","pushed_at":"2016-07-12T19:15:09Z","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":101897,"stargazers_count":1,"watchers_count":1,"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":1,"default_branch":"master"}},"base":{"label":"apple:master","ref":"master","sha":"07a67f5ecdf99457fb51bc8209ce1fe3e943096d","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}","deployments_url":"https://api.github.com/repos/apple/swift/deployments","created_at":"2015-10-23T21:15:07Z","updated_at":"2016-07-12T20:36:11Z","pushed_at":"2016-07-12T23:06:19Z","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":159847,"stargazers_count":32271,"watchers_count":32271,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":4475,"mirror_url":null,"open_issues_count":96,"forks":4475,"open_issues":96,"watchers":32271,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/apple/swift/pulls/3470"},"html":{"href":"https://github.com/apple/swift/pull/3470"},"issue":{"href":"https://api.github.com/repos/apple/swift/issues/3470"},"comments":{"href":"https://api.github.com/repos/apple/swift/issues/3470/comments"},"review_comments":{"href":"https://api.github.com/repos/apple/swift/pulls/3470/comments"},"review_comment":{"href":"https://api.github.com/repos/apple/swift/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/apple/swift/pulls/3470/commits"},"statuses":{"href":"https://api.github.com/repos/apple/swift/statuses/6898f60e203a975f17b499a30fbb40f1e244d883"}},"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":1,"review_comments":0,"commits":1,"additions":15,"deletions":0,"changed_files":1}}
{"actor":{"display_login":"gribozavr"}}