{"push_id":2037604453,"size":9,"distinct_size":9,"ref":"refs/heads/master","head":"561855353a14ac25fcb2248117b374c8fb043f92","before":"488aa7060061d95be07088ed22244247d5ec89b0","commits":[{"sha":"e76b34e506ee8c284924a90d539825baea3643ca","author":{"name":"Slava Pestov","email":"9e16c7b0af09ed5751f270a67048f3177998c735@apple.com"},"message":"SILOptimizer: Devirtualizer support for witness thunks with a class-constrained 'Self'","distinct":true,"url":"https://api.github.com/repos/apple/swift/commits/e76b34e506ee8c284924a90d539825baea3643ca"},{"sha":"3a8d484a77e3bb02577cbc7d180e9c74b97106e7","author":{"name":"Slava Pestov","email":"9e16c7b0af09ed5751f270a67048f3177998c735@apple.com"},"message":"Sema: Compute RequirementEnvironment when we are matching a witness\n\nAt this point, we already have a witness, so the requirement\nenvironment can depend on the witness as well as the requirement.\n\nThen, store the RequirementEnvironment inside the RequirementMatch.","distinct":true,"url":"https://api.github.com/repos/apple/swift/commits/3a8d484a77e3bb02577cbc7d180e9c74b97106e7"},{"sha":"b5f231dfb0db72c028c63e3edca442ba96f2e415","author":{"name":"Slava Pestov","email":"9e16c7b0af09ed5751f270a67048f3177998c735@apple.com"},"message":"Sema: Track if the protocol witness for a class conformance is in a protocol extension","distinct":true,"url":"https://api.github.com/repos/apple/swift/commits/b5f231dfb0db72c028c63e3edca442ba96f2e415"},{"sha":"b145d40329a1eb464f0df8648da1707bdad02085","author":{"name":"Slava Pestov","email":"9e16c7b0af09ed5751f270a67048f3177998c735@apple.com"},"message":"Sema: Requirement environments for protocol extension members in class conformances have an abstract 'Self'\n\nConsider the following code:\n\nprotocol P {\n  func foo<A>(_: A)\n}\n\nextension P {\n  func foo<A>(_: A) {}\n}\n\nclass C<T> : P {}\n\nBefore, the witness thunk for [C : P].foo() had the generic signature\n<T, A>, and the witness P.foo() was called with a substitution\nSelf := C<T>.\n\nThis is incorrect because the caller might be using a subclass of C\nas the 'Self' type, but this was being erased.\n\nNow, the witness thunk for [C : P].foo() has the generic signature\n<X : C<T>, T, A>, and the witness P.foo() is called with the\nsubstitution Self := X.\n\nFixes <rdar://problem/33690383>, <https://bugs.swift.org/browse/SR-617>.","distinct":true,"url":"https://api.github.com/repos/apple/swift/commits/b145d40329a1eb464f0df8648da1707bdad02085"},{"sha":"21868c17ca88c144226b2e79227793f13b952bc1","author":{"name":"Slava Pestov","email":"9e16c7b0af09ed5751f270a67048f3177998c735@apple.com"},"message":"Sema: Factor out ConformanceChecker::checkNonFinalClassWitness() from resolveWitnessViaLookup()","distinct":true,"url":"https://api.github.com/repos/apple/swift/commits/21868c17ca88c144226b2e79227793f13b952bc1"},{"sha":"216011437e74b476277a966c616a485c70859419","author":{"name":"Slava Pestov","email":"9e16c7b0af09ed5751f270a67048f3177998c735@apple.com"},"message":"Sema: ConformanceChecker::Adoptee is always nominal","distinct":true,"url":"https://api.github.com/repos/apple/swift/commits/216011437e74b476277a966c616a485c70859419"},{"sha":"80ada277078dd63907519c78dabeb21d9ae73bcd","author":{"name":"Slava Pestov","email":"9e16c7b0af09ed5751f270a67048f3177998c735@apple.com"},"message":"Sema: Lift restriction on classes conforming to protocols with default implementations returning 'Self'\n\nNow that we pass in the correct type metadata for 'Self', it is\nsound for a class to conform to a protocol with a default implementation\nfor a method returning 'Self'.\n\nFixes <rdar://problem/23671426>.","distinct":true,"url":"https://api.github.com/repos/apple/swift/commits/80ada277078dd63907519c78dabeb21d9ae73bcd"},{"sha":"f8b06dceb217af1a8bbbca14850df63dc9e0c455","author":{"name":"Slava Pestov","email":"9e16c7b0af09ed5751f270a67048f3177998c735@apple.com"},"message":"Fix REQUIRES: line in 26725-llvm-smallvectorimpl-swift-diagnosticargument-operator.swift, it was never being run","distinct":true,"url":"https://api.github.com/repos/apple/swift/commits/f8b06dceb217af1a8bbbca14850df63dc9e0c455"},{"sha":"561855353a14ac25fcb2248117b374c8fb043f92","author":{"name":"Slava Pestov","email":"229a86a05141b782cb3778d172c6e19213391e62@gmail.com"},"message":"Merge pull request #12174 from slavapestov/there-can-only-be-one-self\n\nFix issue with 'Self' metadata when class conforms to protocol with default implementations","distinct":true,"url":"https://api.github.com/repos/apple/swift/commits/561855353a14ac25fcb2248117b374c8fb043f92"}]}
{"actor":{"display_login":"slavapestov"}}