{"push_id":1200230256,"size":42,"distinct_size":42,"ref":"refs/heads/master","head":"7718f102c1be555b6841346c857ac8b3f9502278","before":"f98ff6aac69f91c7f88854cc6b4bcbb3977595d1","commits":[{"sha":"aa7b206fab4c8693abcc1a0831eeeaa50f1ed686","author":{"name":"Michael Ilseman","email":"3f7910911894c419e7beffe925bdc07f88f817be@apple.com"},"message":"[id as Any] Import with the proper Any type\n\nChanges how we import from just protocol<> to the proper Any\ntype. This means that uses of AnyObject will either implicitly cast up\nto Any, or must be explicitly cast through a temporary if used as an\nlvalue. id as Any is still predicated on the id-as-any flags.","distinct":true,"url":"https://api.github.com/repos/sschiau/swift/commits/aa7b206fab4c8693abcc1a0831eeeaa50f1ed686"},{"sha":"4f89520c93614749b89475a1d58d63f26b2a0145","author":{"name":"practicalswift","email":"7bc8dfe66114fb97ee9aed052bc05e17800b570f@users.noreply.github.com"},"message":"Case #08008 belongs to \"compiler_crashers\" (and not \"compiler_crashers_2\") :-)","distinct":true,"url":"https://api.github.com/repos/sschiau/swift/commits/4f89520c93614749b89475a1d58d63f26b2a0145"},{"sha":"c69b824d86320da1d96f3c5a3e696fdd3ad6ed8e","author":{"name":"Russell Currey","email":"2eacafec92f559d51886f12bbdf842327b6af83e@russell.cc"},"message":"Use \"powerpc64{le}\" instead of \"ppc64{le}\"\n\nA mix of \"powerpc64\" and \"ppc64\" existed, causing build failures.\n\nStandardise on \"powerpc64\" and \"powerpc64le\", which are commonly used in\ntarget triples, such as those generated by config.guess.\n\nSigned-off-by: Russell Currey <ruscur@russell.cc>","distinct":true,"url":"https://api.github.com/repos/sschiau/swift/commits/c69b824d86320da1d96f3c5a3e696fdd3ad6ed8e"},{"sha":"0c1f1405000bf51ce5f22a28198e5db87a8e2cf9","author":{"name":"practicalswift","email":"7bc8dfe66114fb97ee9aed052bc05e17800b570f@users.noreply.github.com"},"message":"Add 💥 (😢 → 64, 😀 → 5107) in swift::constraints::ConstraintGraphNode::getAdjacency(…)\n\nAdd test case for crash triggered in `swift::constraints::ConstraintGraphNode::getAdjacency(…)`.\n\nAssertion failure in [`lib/Sema/ConstraintGraph.cpp (line 129)`](https://github.com/apple/swift/blob/master/lib/Sema/ConstraintGraph.cpp#L129):\n\n```\nAssertion `typeVar != TypeVar && \"Cannot be adjacent to oneself\"' failed.\n\nWhen executing: ConstraintGraphNode::Adjacency &swift::constraints::ConstraintGraphNode::getAdjacency(swift::TypeVariableType *)\n```\n\n<details>\n<summary>Assertion context:</summary>\n```\n\n  // If this is the last constraint, just pop it off the list and we're done.\n  unsigned lastIndex = Constraints.size()-1;\n  if (index == lastIndex) {\n    Constraints.pop_back();\n    return;\n  }\n\n  // This constraint is somewhere in the middle; swap it with the last\n  // constraint, so we can remove the constraint from the vector in O(1)\n  // time rather than O(n) time.\n  auto lastConstraint = Constraints[lastIndex];\n  Constraints[index] = lastConstraint;\n  ConstraintIndex[lastConstraint] = index;\n  Constraints.pop_back();\n}\n\nConstraintGraphNode::Adjacency &\nConstraintGraphNode::getAdjacency(TypeVariableType *typeVar) {\n  assert(typeVar != TypeVar && \"Cannot be adjacent to oneself\");\n\n  // Look for existing adjacency information.\n  auto pos = AdjacencyInfo.find(typeVar);\n\n  if (pos != AdjacencyInfo.end())\n    return pos->second;\n\n  // If we weren't already adjacent to this type variable, add it to the\n  // list of adjacencies.\n  pos = AdjacencyInfo.insert(\n```\n</details>\n<details>\n<summary>Stack trace:</summary>\n```\nswift: /path/to/swift/lib/Sema/ConstraintGraph.cpp:129: ConstraintGraphNode::Adjacency &swift::constraints::ConstraintGraphNode::getAdjacency(swift::TypeVariableType *): Assertion `typeVar != TypeVar && \"Cannot be adjacent to oneself\"' failed.\n8  swift           0x0000000000fe1be8 swift::constraints::ConstraintGraphNode::getAdjacency(swift::TypeVariableType*) + 296\n9  swift           0x0000000000fe15e2 swift::constraints::ConstraintGraph::bindTypeVariable(swift::TypeVariableType*, swift::Type) + 242\n10 swift           0x0000000000f3f4de swift::constraints::ConstraintSystem::assignFixedType(swift::TypeVariableType*, swift::Type, bool) + 366\n11 swift           0x0000000000fa2fdc swift::constraints::ConstraintSystem::matchTypes(swift::Type, swift::Type, swift::constraints::TypeMatchKind, unsigned int, swift::constraints::ConstraintLocatorBuilder) + 3404\n12 swift           0x0000000000fa702d swift::constraints::ConstraintSystem::matchDeepEqualityTypes(swift::Type, swift::Type, swift::constraints::ConstraintLocatorBuilder) + 877\n13 swift           0x0000000000fa7a43 swift::constraints::ConstraintSystem::simplifyRestrictedConstraint(swift::constraints::ConversionRestrictionKind, swift::Type, swift::Type, swift::constraints::TypeMatchKind, unsigned int, swift::constraints::ConstraintLocatorBuilder) + 1091\n14 swift           0x0000000000fa4c92 swift::constraints::ConstraintSystem::matchTypes(swift::Type, swift::Type, swift::constraints::TypeMatchKind, unsigned int, swift::constraints::ConstraintLocatorBuilder) + 10754\n15 swift           0x0000000000fa6b40 swift::constraints::ConstraintSystem::matchFunctionTypes(swift::FunctionType*, swift::FunctionType*, swift::constraints::TypeMatchKind, unsigned int, swift::constraints::ConstraintLocatorBuilder) + 672\n16 swift           0x0000000000fa5d81 swift::constraints::ConstraintSystem::matchTypes(swift::Type, swift::Type, swift::constraints::TypeMatchKind, unsigned int, swift::constraints::ConstraintLocatorBuilder) + 15089\n17 swift           0x0000000000fae6f2 swift::constraints::ConstraintSystem::simplifyConstraint(swift::constraints::Constraint const&) + 626\n18 swift           0x0000000000fb1a79 swift::constraints::ConstraintSystem::simplify(bool) + 105\n19 swift           0x0000000000fb4e80 swift::constraints::ConstraintSystem::solveRec(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 48\n20 swift           0x0000000000fb8c83 swift::constraints::ConstraintSystem::solveSimplified(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 9171\n21 swift           0x0000000000fb4f95 swift::constraints::ConstraintSystem::solveRec(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 325\n22 swift           0x0000000000fb8c83 swift::constraints::ConstraintSystem::solveSimplified(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 9171\n23 swift           0x0000000000fb4f95 swift::constraints::ConstraintSystem::solveRec(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 325\n24 swift           0x0000000000fb7600 swift::constraints::ConstraintSystem::solveSimplified(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 3408\n25 swift           0x0000000000fb4f95 swift::constraints::ConstraintSystem::solveRec(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 325\n26 swift           0x0000000000fb8c83 swift::constraints::ConstraintSystem::solveSimplified(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 9171\n27 swift           0x0000000000fb4f95 swift::constraints::ConstraintSystem::solveRec(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 325\n28 swift           0x0000000000fb8c83 swift::constraints::ConstraintSystem::solveSimplified(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 9171\n29 swift           0x0000000000fb4f95 swift::constraints::ConstraintSystem::solveRec(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 325\n30 swift           0x0000000000fb7600 swift::constraints::ConstraintSystem::solveSimplified(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 3408\n31 swift           0x0000000000fb4f95 swift::constraints::ConstraintSystem::solveRec(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 325\n32 swift           0x0000000000fb8c83 swift::constraints::ConstraintSystem::solveSimplified(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 9171\n33 swift           0x0000000000fb4f95 swift::constraints::ConstraintSystem::solveRec(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 325\n34 swift           0x0000000000fb8c83 swift::constraints::ConstraintSystem::solveSimplified(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 9171\n35 swift           0x0000000000fb4f95 swift::constraints::ConstraintSystem::solveRec(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 325\n36 swift           0x0000000000fb8c83 swift::constraints::ConstraintSystem::solveSimplified(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 9171\n37 swift           0x0000000000fb4f95 swift::constraints::ConstraintSystem::solveRec(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 325\n38 swift           0x0000000000fb8c83 swift::constraints::ConstraintSystem::solveSimplified(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 9171\n39 swift           0x0000000000fb4f95 swift::constraints::ConstraintSystem::solveRec(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 325\n40 swift           0x0000000000fb4d49 swift::constraints::ConstraintSystem::solve(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 73\n41 swift           0x0000000000e9ec00 swift::TypeChecker::solveForExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem&, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) + 800\n42 swift           0x0000000000ea5392 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*) + 610\n44 swift           0x0000000000f1eca6 swift::TypeChecker::typeCheckTopLevelCodeDecl(swift::TopLevelCodeDecl*) + 134\n45 swift           0x0000000000ed8fcd swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) + 1133\n46 swift           0x0000000000c65a49 swift::CompilerInstance::performSema() + 3289\n48 swift           0x00000000007d89b9 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 2857\n49 swift           0x00000000007a49d8 main + 2872\nStack dump:\n0.\tProgram arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28362-swift-constraints-constraintgraphnode-getadjacency.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28362-swift-constraints-constraintgraphnode-getadjacency-2beaa7.o\n1.\tWhile type-checking expression at [validation-test/compiler_crashers/28362-swift-constraints-constraintgraphnode-getadjacency.swift:10:1 - line:10:10] RangeText=\"[1,{[1,{[]\"\n<unknown>:0: error: unable to execute command: Aborted\n<unknown>:0: error: compile command failed due to signal (use -v to see invocation)\n```\n</details>","distinct":true,"url":"https://api.github.com/repos/sschiau/swift/commits/0c1f1405000bf51ce5f22a28198e5db87a8e2cf9"},{"sha":"a16a063ac616cfa47baab54e7fd7c6224a5e0f6e","author":{"name":"Russell Currey","email":"2eacafec92f559d51886f12bbdf842327b6af83e@russell.cc"},"message":"Use TIOCSTI instead of TIOCGWINSZ in Glibc test\n\nvalidation-test/stlib/Glibc.swift was failing on powerpc64le due to the\nmissing TIOCGWINSZ symbol.  Since (from what I can tell) this is just a\nrandom tty ioctl, replace it with a different ioctl that should be more\ncommonly defined.\n\nSigned-off-by: Russell Currey <ruscur@russell.cc>","distinct":true,"url":"https://api.github.com/repos/sschiau/swift/commits/a16a063ac616cfa47baab54e7fd7c6224a5e0f6e"},{"sha":"9af632123589e495d43ef6b193ae2295f166a8c6","author":{"name":"Russell Currey","email":"2eacafec92f559d51886f12bbdf842327b6af83e@russell.cc"},"message":"Fix PersistentVector test for powerpc64{le}\n\nThis test has a check for 32/64bit, include powerpc64{le} in this check.\n\nSigned-off-by: Russell Currey <ruscur@russell.cc>","distinct":true,"url":"https://api.github.com/repos/sschiau/swift/commits/9af632123589e495d43ef6b193ae2295f166a8c6"},{"sha":"fd47aeff3b0386c3f2d6f6105fc4c15213c7410a","author":{"name":"practicalswift","email":"7bc8dfe66114fb97ee9aed052bc05e17800b570f@users.noreply.github.com"},"message":"Use tr to lower case string (instead of invoking python).","distinct":true,"url":"https://api.github.com/repos/sschiau/swift/commits/fd47aeff3b0386c3f2d6f6105fc4c15213c7410a"},{"sha":"2bcb86264bc40ceaea30f0d84ac1baa9aaa8a935","author":{"name":"Robert Widmann","email":"8d9dbc76a6f28af262d9ada6aa64c8464e94ce54@gmail.com"},"message":"Do not subject protocol Self to accessibility diagnostics\n\nIt is currently impossible to declare a protocol as unavailable and\nstill ship valid Swift code because while typechecking protocol Self,\nwe attempt to do an accessibility check on its generic signature and\nfind that, surprise surprise, the protocol is unavailable.  Rather than\nplumb another parameter through Sema, this patch piggybacks on existing\nbehavior of AllowPotentiallyUnavailableProtocol to disable the check\nfor protocol self.","distinct":true,"url":"https://api.github.com/repos/sschiau/swift/commits/2bcb86264bc40ceaea30f0d84ac1baa9aaa8a935"},{"sha":"09367a5323b4e02e76867b3d6d2f3a02cd46a170","author":{"name":"Robert Widmann","email":"8d9dbc76a6f28af262d9ada6aa64c8464e94ce54@gmail.com"},"message":"Merge pull request #3462 from practicalswift/move-crasher-to-correct-dir\n\nCase #08008 belongs to \"compiler_crashers\" (and not \"compiler_crashers_2\") :-)","distinct":true,"url":"https://api.github.com/repos/sschiau/swift/commits/09367a5323b4e02e76867b3d6d2f3a02cd46a170"},{"sha":"60b5564bbebeff94e97dd4de68ca807d9379ccdd","author":{"name":"Robert Widmann","email":"8d9dbc76a6f28af262d9ada6aa64c8464e94ce54@gmail.com"},"message":"Merge pull request #3467 from CodaFi/inherited-wealth-and-ancillary-diagnostic-relief-claims\n\n[SE-2007][Sema] Don't subject protocol 'Self' to availability checks in lookup","distinct":true,"url":"https://api.github.com/repos/sschiau/swift/commits/60b5564bbebeff94e97dd4de68ca807d9379ccdd"},{"sha":"b797165d36bc8141832c54fec12d1a79d7f00146","author":{"name":"practicalswift","email":"7bc8dfe66114fb97ee9aed052bc05e17800b570f@users.noreply.github.com"},"message":"Merge pull request #3465 from practicalswift/use-tr-instead-of-python\n\nUse tr to lower case string (instead of invoking python).","distinct":true,"url":"https://api.github.com/repos/sschiau/swift/commits/b797165d36bc8141832c54fec12d1a79d7f00146"},{"sha":"b63bddd648aa586cf3167de17d0704a2ab896945","author":{"name":"practicalswift","email":"7bc8dfe66114fb97ee9aed052bc05e17800b570f@users.noreply.github.com"},"message":"Merge pull request #3464 from practicalswift/swiftc-28362-swift-constraints-constraintgraphnode-getadjacency\n\nAdd 💥 (😢 → 64, 😀 → 5107) in swift::constraints::ConstraintGraphNode::getAdjacency(…)","distinct":true,"url":"https://api.github.com/repos/sschiau/swift/commits/b63bddd648aa586cf3167de17d0704a2ab896945"},{"sha":"e9688dc41be285864c09dea66ac521f9de70d661","author":{"name":"Dmitri Gribenko","email":"1d361ada365e4964f49a61228b2eb80f416328e4@gmail.com"},"message":"Merge pull request #3466 from ruscur/powerpc64-fixes\n\npowerpc64{le} build and test fixes","distinct":true,"url":"https://api.github.com/repos/sschiau/swift/commits/e9688dc41be285864c09dea66ac521f9de70d661"},{"sha":"ca4a32b5a9c4ceb1c884a9548277c952de8a32a3","author":{"name":"Doug Gregor","email":"251fda27d0a603ec7038aeb3aa510e8fbf5b9bc1@apple.com"},"message":"[SE-0112] Bridge NSError to ErrorProtocol.\n\nIntroduce bridging of NSError to ErrorProtocol, so an Objective-C API\nexpressed via an \"NSError *\" will be imported using ErrorProtocol in\nthe Swift. For example, the Objective-C method:\n\n  - (void)handleError:(NSError *)error userInteractionPermitted:(BOOL)userInteractionPermitted;\n\nwill now be imported as:\n\n  func handleError(_ error: ErrorProtocol, userInteractionPermitted: Bool)\n\nThis is bullet (3) under the proposed solution of SE-0112. Note that\nwe made one semantic change here: instead of removing the conformance\nof NSError to ErrorProtocol, which caused numerous problems both\ntheoretical and actual because the model expects that an NSError\nconforms to ErrorProtocol without requiring wrapping, we instead limit\nthe ErrorProtocol -> NSError conversion that would be implied by\nbridging. This is defensible in the short term because it also\neliminates the implicit conversion, and aligns with SE-0072, which\neliminates implicit bridging conversions altogether.","distinct":true,"url":"https://api.github.com/repos/sschiau/swift/commits/ca4a32b5a9c4ceb1c884a9548277c952de8a32a3"},{"sha":"abf73d3bee187f2c3713efe9323147290eed30b5","author":{"name":"Doug Gregor","email":"251fda27d0a603ec7038aeb3aa510e8fbf5b9bc1@apple.com"},"message":"[Name lookup] Use the overload signature's type for shadowing of var/subscript decls.\n\nFor historical reasons, the \"name shadowing\" computation is only\nlooking at the type---not even the interface type!---of\ndeclarations. For variables and subscripts, this means that the\ncontext (e.g., a constrained extension) wasn't been considered at all,\nleading to declarations from other imported modules being\nignored. Patch up a little bit of this by using the overload\nsignature's type for variables and subscripts, because I need it for\nErrorProtocol's default implementations.\n\nLonger-term, we should be using the overload signature (or something\nvery like it) for shadowing, consistently.","distinct":true,"url":"https://api.github.com/repos/sschiau/swift/commits/abf73d3bee187f2c3713efe9323147290eed30b5"},{"sha":"b0f9317765b12b51cc6c4ef5fab00689da64fbd6","author":{"name":"Doug Gregor","email":"251fda27d0a603ec7038aeb3aa510e8fbf5b9bc1@apple.com"},"message":"[SE-0112] Add error protocols LocalizedError, RecoverableError, CustomNSError\n\nAn error type can conform to one or more of these new protocols to\ncustomize its behavior and representation. From an implementation\nstandpoint, the protocol conformances are used to fill in the\nuser-info dictionary in NSError to interoperate with the Cocoa\nerror-handling system.\n\nThere are a few outstanding problems with this implementation,\nalthough it is fully functional:\n  * Population of the userInfo dictionary is currently eager; we\n  should use user info providers on platforms where they are\n  available.\n  * At present, the Swift dynamic casting machinery is unable to unbox a\n  _SwiftNativeNSError when trying to cast from it to (e.g.) an\n  existential, which makes it impossible to retrieve the\n  RecoverableError from the NSError. Instead, just capture the original\n  error---hey, they're supposed to be value types anyway!---and use that\n  to implement the entry points for the informal\n  NSErrorRecoveryAttempting protocol.\n\nThis is part (1) of the proposal solution.","distinct":true,"url":"https://api.github.com/repos/sschiau/swift/commits/b0f9317765b12b51cc6c4ef5fab00689da64fbd6"},{"sha":"a428452c3cb9dd85639395c230bc061a7d26609f","author":{"name":"Doug Gregor","email":"251fda27d0a603ec7038aeb3aa510e8fbf5b9bc1@apple.com"},"message":"[SE-0112] Implement ErrorProtocol.localizedDescription.\n\nProvides a localized description for an error, using Cocoa's\nerror-handling logic. The first part of item (4) in SE-0112's proposed\nsolution.","distinct":true,"url":"https://api.github.com/repos/sschiau/swift/commits/a428452c3cb9dd85639395c230bc061a7d26609f"},{"sha":"0bcf4e6d05407f7cc8b8a2af548403d450056139","author":{"name":"Doug Gregor","email":"251fda27d0a603ec7038aeb3aa510e8fbf5b9bc1@apple.com"},"message":"[SE-0112] Sink RawRepresentable down into _BridgedNSError.\n\nThis is part of loosening _BridgedNSError up a bit, so it can work\nwith error types that directly embed an NSError instance.","distinct":true,"url":"https://api.github.com/repos/sschiau/swift/commits/0bcf4e6d05407f7cc8b8a2af548403d450056139"},{"sha":"4fd78234c470189c223e0ad5b972d39ff8cf0ada","author":{"name":"Doug Gregor","email":"251fda27d0a603ec7038aeb3aa510e8fbf5b9bc1@apple.com"},"message":"[SE-0112] Retain the underlying NSError in NSCocoaError.\n\nNSCocoaError was capturing only the code of a Cocoa error, making it\nbasically useless. Instead, capture the entire NSError, the code of\nwhich is tracked by an nested, RawRepresentable type Code. Provide\ntyped accessors for the common keys in the Cocoa error domain, e.g.,\nNSFilePathErrorKey, NSStringEncodingErrorKey, NSUnderlyingErrorKey,\nand NSURLErrorKey, to make this type easier to use.\n\nThis is specifically an implementation of part (4) of the proposed\nsolution to SE-0112, which makes NSCocoaError more usable. It also\nadds localizedDescription to ErrorProtocol.\n\nHowever, it also introduces the infrastructure needed for importing\nerror enumeration types more smoothly, e.g., ErrorCodeProtocol\n(underscored for now), the ~= operator for matching error codes, and\nso on. In essence, NSCocoaError is the pattern that the importer will\nfollow.","distinct":true,"url":"https://api.github.com/repos/sschiau/swift/commits/4fd78234c470189c223e0ad5b972d39ff8cf0ada"},{"sha":"5cd06305f9297ba2b26792d8a96394ce70b40e6d","author":{"name":"Doug Gregor","email":"251fda27d0a603ec7038aeb3aa510e8fbf5b9bc1@apple.com"},"message":"[SE-0112] Make NSURLError embed its NSError.\n\nThis ensures that we don't lose information about the NSError when it\nis bridged to NSError. Use this to expose information for common keys\nin the NSURLError domain (NSURLErrorFailingURLErrorKey,\nNSURLErrorFailingURLStringErrorKey,\nNSURLErrorFailingURLPeerTrustErrorKey).\n\nThis is effectively part of bullet (4) in the proposed solution of\nSE-0112, applied to NSURLError. There are a handful of other domains\nthat need this treatment as well.","distinct":true,"url":"https://api.github.com/repos/sschiau/swift/commits/5cd06305f9297ba2b26792d8a96394ce70b40e6d"}]}
{"actor":{"display_login":"sschiau"}}