https://github.com/apple/swift

sort by:
Revision Author Date Message Commit Date
d9180d2 Merge pull request #11261 from gottesmm/swift-4.0-branch_rdar33595317_1 [4.0] [sil-combine] Make sure that (apply (partial_apply)) -> (apply') bail… 31 July 2017, 22:11:55 UTC
b61a006 Update Xcode version in the README 31 July 2017, 05:15:47 UTC
ae2dae6 [sil-combine] Make sure that (apply (partial_apply)) -> (apply') bails if we have an argument with a dependent type. What is going on here is that currently this optimization if itneeds to perform lfietime extension always creates an alloc_stack at the beginning/end of a function. If the object whose lifetime is being extended has a dependent type, then the alloc_stack will be created before the dependent type exists resulting in the compiler crashing. rdar://33595317 29 July 2017, 23:04:29 UTC
19d2953 Merge pull request #11232 from moiseev/integers-revised-4 [swift-4.0-branch] Implement SE-0104 changes 28 July 2017, 23:18:47 UTC
e067279 Merge pull request #11246 from natecook1000/nc4-appendkeypath [4.0] Mark _AppendKeyPath as visible in interface 28 July 2017, 21:31:24 UTC
7dc1e1e Merge pull request #11242 from slavapestov/ambiguous-requirement-witness-subclass-existential-4.0 Sema: Fix requirement/witness disambiguation for subclass existentials [4.0] 28 July 2017, 21:06:30 UTC
12b5fd7 Merge pull request #11247 from apple/update-swift-4.0-branch-for-xcode-9-beta-4 Update swift 4.0 branch to build with Xcode 9 beta 4 28 July 2017, 20:37:37 UTC
b7da742 Merge pull request #11240 from gottesmm/swift-4.0-branchrdar33502257 [4.0] When creating destroys for addresses passed into a partial apply, fir… 28 July 2017, 19:02:49 UTC
8d05261 [test] Require objc_interop for AVFoundation tests 28 July 2017, 18:53:21 UTC
ba9481f Update swift 4.0 to build with Xcode 9 beta 4, macOS 10.13, iOS 11, tvOS 11, and watchOS 4 SDKs. 28 July 2017, 18:11:49 UTC
57de9c4 Merge pull request #11236 from xedin/rdar-33477726-4.0 [4.0] [QoI] Improve diagnostics of unsatisfied generic requirements 28 July 2017, 17:10:48 UTC
94b02a0 Sema: Fix requirement/witness disambiguation for subclass existentials When performing a lookup into a class C, we might find a member of C that witnesses a requirement in a protocol Q that C conforms to. In this case, AST name lookup returns both results. There are two further levels of fitering which can eliminate the ambiguity: - Sema name lookup maps requirements to witnesses if the base type of the lookup is a nominal type or a class-constrained archetype. Imported conformances don't have this mapping recorded, but there's another hack in this code path where if a requirement maps to itself inside a conformance, it is dropped from the results altogether. - If the duplicate results were not filtered out in Sema name lookup, there was another hack in CSRanking which would a witness higher than it's requirement when comparing solutions. This doesn't work for imported conformances, but usually name lookup filters out the duplicate results sooner, which also eliminates the exponential behavior from having multiple constraint system solutions. However, if we have a subclass existential C & P where C conforms to Q and we find a member of C that witnesses a requirement of Q, then (C & P) does not conform to Q. So if the conformance was imported, *both* of the above checks would fail to disambiguate the witness and requirement, and the member access would fail to type check. To make this work with imported conformances, teach Sema name lookup to extract the superclass from an existential before performing the conformance check. If the conformance check fails, it means we found the protocol member via the 'existential' part of the subclass existential (eg, in our case, a member of P), and we proceed as before. Fixes <rdar://problem/33291112>. 28 July 2017, 06:38:11 UTC
828bc37 When creating destroys for addresses passed into a partial apply, first move the values into a stack location with a live range that is guaranteed to be larger than the partial apply's live range. Otherwise, we may insert destroy_addrs on alloc_stack whose lifetimes have ended. rdar://33502257 (cherry picked from commit 81914b9234cec1548b0fbb596adf979ad4fb7b73) 28 July 2017, 04:51:23 UTC
b0d8161 [stdlib] Mark _AppendKeyPath as visible in interface 28 July 2017, 04:21:54 UTC
1d33945 Merge pull request #11214 from milseman/4_0_substring_subview [4.0] [stdlib] Give Substring its own views 28 July 2017, 03:35:37 UTC
0ba8f1e Merge pull request #11237 from swiftix/swift-4.0-branch-fixes1 [4.0] [sil-opened-archetypes-tracker] Remove only those archetype definitions that are registered with the current SILOpenedArchetypesTracker 28 July 2017, 02:18:08 UTC
6bfe25f Merge pull request #11229 from moiseev/more-string-protocol-4 [swift-4.0-branch] Switch Int/Float inits + join to be on StringProtocol 28 July 2017, 00:51:58 UTC
ccd4c98 [stdlib] extendingOrTruncating: => truncatingIfNeeded: (cherry picked from commit a5ff35cd41a8199cd94ab43a4f093a889ba8fdad) 27 July 2017, 23:53:58 UTC
becbcf3 [QoI] Improve diagnostics of unsatisfied generic requirements Fixes a problem related to presence of InOutType in function parameters which diagnostics related to generic parameter requirements didn't handle correctly, and improves diagnostics for unsatisfied generic requirements in operator applications, which we didn't attempt to diagnose at all. Resolves: rdar://problem/33477726 (cherry picked from commit 242006706e76436fe2b7d63d2863c42c12fb5f9e) 27 July 2017, 23:32:15 UTC
3fe9a6c [sil-opened-archetypes-tracker] Remove only those archetype definitions that are registered with the current SILOpenedArchetypesTracker It may happen that a valid opened archetype was not registered in the SILOpenedArchetypesTracker, because the tracker was created without scanning the whole function and thus may not aware of all opened archetypes of the function. This often happens e.g. during inlining. Therefore, remove the archetype definition only if it was registered before. Fixes rdar://problem/33513110 27 July 2017, 23:20:21 UTC
f6f10f7 [test] Fix the endianness related test failures 27 July 2017, 22:10:42 UTC
0424234 [test] Fix validation tests (cherry picked from commit 5da3e1dab3aed226e17a1e30b7e7e40f80b90a2a) 27 July 2017, 21:38:58 UTC
a138cca [stdlib] Get rid of ArithmeticOverflow type (cherry picked from commit 1c3e597928aa33a4bb662d120bab8a4d18b1d5d7) 27 July 2017, 21:38:55 UTC
a47932b [stdlib] init<T : FloatingPoint> ==> init<T : BinaryFloatingPoint> (cherry picked from commit 5d47a0d98d17cc096995196c53ab6d8f6b34130e) 27 July 2017, 21:38:09 UTC
1bf8e41 [stdlib] Rationalize bitshifting in protocols Only FixedWidthInteger, not BinaryInteger, should have masking shifts. BinaryInteger should have a non-masking shift requirement. Removed some dead code. Ported the endianness-related changes from master. (cherry picked from commit 33e9ec4690b7f9c11dd81619c542332b3d07ef1e) 27 July 2017, 21:34:45 UTC
c12fd11 Switch Int/Float inits + join to be on StringProtocol (cherry picked from commit 92bc5b7829d6dfacedc8f85af80bb0813564fd64) 27 July 2017, 21:00:20 UTC
3aa7c5f [stdlib] Repair Substring -> String conversion 27 July 2017, 20:45:58 UTC
04a0d48 [stdlib] Give Substring its own views This necessary for ensuring the property that String doesn't keep inaccessible memory alive. For example, before this change, String(s.dropFirst().unicodeScalars) would compile and produce a String that owned inaccessible memory. Now it no longer compiles. String's view's SubSequences are the same as the Substring's view. E.g. String.UnicodeScalarView.SubSequence is Substring.UnicodeScalarView. New compatibility inits added, to work around the fact that many previously failable initializers are now non-failable. 27 July 2017, 20:45:58 UTC
2bfba3f [stdlib] Squash some warnings in a test 27 July 2017, 20:45:58 UTC
6c325bf [stdlib] Strip allocator implementation dependencies from a test These tests depend on the specific characteristics of the memory allocator under use. In particular, if the allocator decides to return a larger memory block than requested, the tests may fail. I can only make wild guesses as to why changes to String would cause this test to fail on Linux, but that's what we're observing. check failed at .../swift/validation-test/stdlib/Inputs/CommonArrayTests.gyb, line 159 8 >= 9 27 July 2017, 20:45:58 UTC
7ae2944 [stdlib] Add in sanity checks for out-of-bounds legacyOffsets. UTF8View's endIndex needs to potentially apply a legacyOffset. This adds a sanity check that it is in range, and a fast-path for the common case of 0. 27 July 2017, 20:45:58 UTC
5ef7c98 [stdlib] Backward-compatible String.UTF8View slicing When slicing String.UTF8View in Swift 3 mode, in the absence of type context, produce String.UTF8View. 27 July 2017, 20:45:58 UTC
c071225 [stdlib] Make String.UTF8View bidirectional This is a step along the way toward handling backward-compatiblity of UTF8View slicing and preventing inadvertent creation of String instances that keep inaccessible memory alive. 27 July 2017, 20:19:48 UTC
1e09623 [stdlib] Refactor out StdlibUnittest SPI from the stdlib. Move _lines and _split out of the standard library and into StdlibUnittest, which is why they were there in the first place. NFC. 27 July 2017, 20:19:44 UTC
27ea284 Merge pull request #11159 from airspeedswift/4.0-substring-filter [4.0]Have Substring.filter return a String 27 July 2017, 16:51:04 UTC
8034962 Merge pull request #11204 from DougGregor/lex-multiline-nlescape-last-4.0 [4.0] [SE-0182][Lexer] Diagnose escaped newline at the end of the last line in multiline string 27 July 2017, 00:28:03 UTC
ce46aef Merge pull request #11201 from milseman/4_0_very_persistent [4.0] [stdlib] Fix bug in Substring's _persistentContent 26 July 2017, 19:49:23 UTC
b664f90 [SE-0182][Lexer] Diagnose escaped newline at the end of the last line in multiline string (cherry picked from commit a2d3ff4debce9ba7c88c61c32c98d05b735038e8) 26 July 2017, 18:49:44 UTC
0e49ffd Merge pull request #11176 from moiseev/missing-default-profile-4 [swift-4.0-branch][overlay] Add back INSetProfileInCarIntent.defaultProfile for compatibliity 26 July 2017, 17:07:44 UTC
796cfdf Merge pull request #11156 from moiseev/binary-integer-words-4 [swift-4.0-branch][stdlib] Implement BinaryInteger.words 26 July 2017, 17:06:37 UTC
707b416 Merge pull request #11136 from huonw/symbol-list-10-4.0 [4.0] TBD including all files from a full build. 26 July 2017, 16:50:51 UTC
854cffa [stdlib] Fix bug in Substring's _persistentContent Substring's _persistentContent has a fast path that avoids a copy when the Substring represents the entire outer String. It correctly detected situations where the wrapped _StringCore was not itself a slice, but was omitting the extra checks to make sure the Substring's own range covered the entire String. Test added. 26 July 2017, 16:00:56 UTC
26efa24 [String] Delete dead code; NFC 26 July 2017, 16:00:52 UTC
72bc593 Merge pull request #11173 from aschwaighofer/swift-4.0-branch-irgen_fix_partial_apply_generic_class_capture_empty_type [4.0] IRGen: Fix partial applies of generic functions capturing the generic parameters in an argument 26 July 2017, 13:41:54 UTC
c0edaee Merge pull request #11185 from DougGregor/se-0182-4.0 [4.0] [Parse] An implementation for SE-0182 26 July 2017, 02:33:13 UTC
e04a589 Merge pull request #11184 from DougGregor/swift-objc-members-inherited-4.0 [4.0] [Clang importer] Map swift_objc_members attribute found on superclasses. 26 July 2017, 01:05:41 UTC
194a22a Merge pull request #11105 from milseman/4_0_self_modifying_emoji [4.0] Be a little more permissive in emoji grapheme literals. 26 July 2017, 00:57:18 UTC
ebffdd1 [Parse] An implementation for SE-0182 (cherry picked from commit c0fcc1afba6f81dff7843de49fd5c552f1f00c40) 25 July 2017, 23:40:10 UTC
5573652 [Clang importer] Map swift_objc_members attribute found on superclasses. Fixes rdar://problem/33514802. 25 July 2017, 23:30:51 UTC
c176490 Merge pull request #11165 from slavapestov/parse-type-colon-4.0 Parse: Fix dictionary with generic key type in expression context [4.0] 25 July 2017, 23:30:08 UTC
631dc2c "[overlay] Add back INSetProfileInCarIntent.defaultProfile for compatibliity <rdar://problem/33457609> (cherry picked from commit 936a79cbf2eee87f03000ad570b1db6db1e10d10) 25 July 2017, 22:29:49 UTC
d251f58 Merge pull request #11162 from slavapestov/introducing-superclass-constraint-4.0 Sema: Stricter superclass constraints when opening a generic signature [4.0] 25 July 2017, 22:29:20 UTC
9049eb1 Merge pull request #11168 from DougGregor/nscolor-literal-extended-srgb-4.0 [4.0] [AppKit overlay] Use NSColor(red:green:blue:alpha:) for color literals. 25 July 2017, 20:15:00 UTC
79159f5 [4.0] IRGen: Fix partial applies of generic functions capturing the generic parameters in an argument The code assumed if there is no context object but rather the captured argument is reused as the context object that the parameter index for this argument is going to be the last one. This is not true if there are empty types in the parameter list. rdar://33502272 25 July 2017, 20:14:08 UTC
1293360 Merge pull request #11150 from rjmccall/nonaccessing-pointer-conversions-4.0 [4.0] Allow pointer comparisons and KVO methods to avoid initiating formal accesses 25 July 2017, 20:12:52 UTC
f511dd1 Merge pull request #11146 from jckarter/dynamic-required-init-override-4.0 [4.0] SILGen: Fix override handling when a dynamic init is also required. 25 July 2017, 19:14:15 UTC
f8e4bbf [Serialization] Recover from ObjC protocols changing inheritance. (#11155) When there's an Objective-C protocol that adopts other protocols, the other protocols become part of the requirement signature. If that can change, Swift conformances to that protocol will get very confused when it comes time to deserialize the conformances that satisfy the requirement signature. To recover from this, just deserialize /all/ trailing conformances, rather than follow the requirement signature, and match them up after the fact. (This only works for Objective-C protocols where we know all conformance requirements represent inherited protocols, as opposed to constraints on associated types.) rdar://problem/33356098 25 July 2017, 18:33:59 UTC
fe65d4e SILGen: Fix override handling when a dynamic init is also required. A missed case from #11107. Fixes SR-5542 | rdar://problem/33490780. 25 July 2017, 17:28:47 UTC
38a7815 [AppKit overlay] Use NSColor(red:green:blue:alpha:) for color literals. This initializer, which is the same on iOS, allows negative values and values > 1.0 to support the extended sRGB color space. Fixes rdar://problem/33500905. (cherry picked from commit 8b3889a0a388b41a2c19916b99957505c70b0938) 25 July 2017, 17:14:35 UTC
b77c61a Merge pull request #11163 from DougGregor/jsexport-redundant-inheritance-4.0 [4.0] [GSB/IRGen] Allow redundant inheritance of the JSExport protocol. 25 July 2017, 17:08:46 UTC
ef388fc [GSB/IRGen] Allow redundant inheritance of the JSExport protocol. Inheritance of a protocol from JavaScriptCore's JSExport protocol is used to indicate that the methods and properties of that protocol should be exported to JavaScript. The actual check to determine whether a protocol (directly) inherits JSExport is performed via the Objective-C runtime. Note that the presence of JSExport in the protocol hierarchy is not sufficient; the protocol must directly inherit JSExport. Swift warns about redundant conformance requirements and eliminates them from the requirement signature (and, therefore, the Objective-C metadata). This behavior is incorrect for JSExport, because the conformance is actually needed for this API to work properly. Recognize a protocol's inheritance JSExport specifically (by name) when computing the requirement signature of the protocol. When we find such a redundancy, suppress the "redundant conformance constraint" diagnostic and add a new (hidden) attribute @_restatedObjCConformance(proto). The attribute is used only by Objective-C protocol metadata emission to ensure that we get the expected metadata in the Objective-C runtime. Fixes rdar://problem/32674145. (cherry picked from commit 1b2a2c9b90b9698ef889e2501ac3e1e9fc8d7757) 25 July 2017, 14:15:14 UTC
6b4e6f2 Parse: Fix dictionary with generic key type in expression context Fixes <rdar://problem/33506631> and <https://bugs.swift.org/browse/SR-5538>. 25 July 2017, 06:56:39 UTC
093ce80 Sema: Stricter superclass constraints when opening a generic signature A generic signature like <T : SomeClass> would create a subtype constraint between the type variable for T and SomeClass. This is too loose, because a subclass existential like 'SomeClass & SomeProto' is a subtype of SomeClass, but cannot bind to T, because it is not representationally a single retainable pointer. Fixes <rdar://problem/32617814>, <https://bugs.swift.org/browse/SR-5142>. 25 July 2017, 06:00:41 UTC
75b7e05 Merge pull request #11152 from itaiferber/4.0-nsnumber-custom-anyhashable-fix [4.0] NSNumber custom AnyHashable fix 25 July 2017, 02:37:53 UTC
e3712e2 Merge pull request #11151 from itaiferber/4.0-class-codable-fixes [4.0] Codable class fixes 25 July 2017, 02:32:53 UTC
e5e9a52 Merge pull request #11154 from xedin/rdar-32973206-4.0 [4.0] [ConstraintSolver] Prefer same name class properties found on subclass over superclass 25 July 2017, 00:55:17 UTC
eba66fe Merge pull request #11147 from devincoughlin/tsan-external-write-4.0 25 July 2017, 00:06:18 UTC
8353712 Have Substring.filter return a String 25 July 2017, 00:05:54 UTC
64de151 [stdlib] Define custom Words types for each standard fixed with integer This adds 8 more collection views, but makes integer definitions more consistent across all the available bit widths and between 32-bit and 64-bit platforms. (cherry picked from commit 9996d071c419ba70c43026bee13be3aa36914d4d) 24 July 2017, 23:54:53 UTC
e467a70 [stdlib] Fix sign extension in word -> multi-word integer conversions This fixes integer conversion issues on 32-bit platforms. (cherry picked from commit 735fe972422f87f7056bdb5d4e3cf0999a81ef89) 24 July 2017, 23:54:51 UTC
14984ee [stdlib] Make UInt.Words.var internal We don’t need Words’ members to be @_transparent; simple conversions use _lowWord instead. (cherry picked from commit e975445b702293c4d3441bcda7fe1aa81dd45da9) 24 July 2017, 23:53:54 UTC
1882d23 [stdlib] Revert @_transparent to prevent SIL size explosion (cherry picked from commit 1dccb452781d1139a5c502a8f2be2ff2b197851d) 24 July 2017, 23:53:54 UTC
6039a6e BigInt prototype: Reserve capacity for words. Add some tests. (cherry picked from commit 46dc04fc01b469c821fe2e94a29a5dc4b8ed7682) 24 July 2017, 23:53:54 UTC
2e9c8e3 BigInt prototype: Fix Bit.leadingZero/trailingZero (cherry picked from commit 0246ef187dcb52ebb9cef21a12ae864cdd8cb7dd) 24 July 2017, 23:53:54 UTC
620ae31 [stdlib] _lowUWord => _lowWord (cherry picked from commit 826f8daf4a25657965f65cbb7343e751c76fe2e1) 24 July 2017, 23:53:52 UTC
509a800 [stdlib][test] Update integer tests. (cherry picked from commit 6ae2040c42ecd3f3ca71325a1990ef6f2964ac2e) 24 July 2017, 23:53:42 UTC
f558fa8 [stdlib] Remove BinaryInteger._word(at:) Removes BinaryInteger's _word(at:) requirement and its countOfRepresentedWords property, making the words property the sole way to access an integer's words. This is a better fix for https://bugs.swift.org/browse/SR-5275. (cherry picked from commit c8d4fd424294a75a912a5cf77ad8168c43b28c49) 24 July 2017, 23:53:39 UTC
0abe593 Revert LookupResult changes from master 24 July 2017, 23:36:17 UTC
f720a52 [ConstraintSolver] Prefer same name class properties found on subclass over superclass If class property with the same name has been found on both subclass and superclass, let's always prefer subclass with all else equal, because subclass property could only be found if requested directly. Resolves: rdar://problem/32973206 (cherry picked from commit 96c4bcd411c23ee021537f97506e9cedad6958ed) 24 July 2017, 23:15:20 UTC
b0539a5 Add ObjC unit test to verify NSNumber bridging 24 July 2017, 23:05:08 UTC
620058e Add NSNumber AnyHashable bridging test 24 July 2017, 23:05:08 UTC
e1d7410 Fix NSNumber's custom AnyHashable representation When we give NSNumber a custom AnyHashable representation, we want to give it as large a box as possible. When we want to compare it against other AnyHashable boxes such as Int or UInt, it's always possible to upcast the Int/UInt to a larger integer size like Int64 or UInt64 for the comparison. By eliminating the smaller boxes we create, we can maintain the existing behavior that _SwiftTypePreservingNSNumber gave us. 24 July 2017, 23:05:08 UTC
7b33533 [stdlib] Remove DoubleWidth<T> (#11141) <rdar://problem/33493257> 24 July 2017, 22:58:29 UTC
7ba7a7f [swift-4.0-branch] Implement SE-0171: Reduce with inout (#11135) * [stdlib] Implement reduce with inout (SE-0171) Implement and document `reduce(into:_:)`, with a few notes: - The `initial` parameter was renamed `initialResult` to match the first parameter in `reduce(_:_:)`. - The unnamed `combining` parameter was renamed `updateAccumulatingResult` to try and resemble the naming of the closure parameter in `reduce(_:_:)`. - The closure throws and `reduce(into:_)` re-throws. - This documentation mentions that `reduce(into:_)` is preferred over `reduce(_:_:)` when the result is a copy-on-write type and an example where the result is a dictionary. Add benchmarks for reduce with accumulation into a scalar, an array, and a dictionary. Update expected error message in closures test (since there are now two `reduce` methods, the diagnostic is different). * [stdlib] Add unit tests for the two reduce variants This checks: - The examples from the documentation of `reduce(_:_:)` and `reduce(into:_:)`. - Different levels of inference in the closure arguments being passed. - That the value passed as the `initialResult` remains unmodified. * [stdlib] Update reduce benchmark to compare the two forms The ReduceInto benchmark performs three tasks using both `reduce(_:_)` and `reduce(into:_:)` so that their performance can be compared: 1. Summing an array, reducing to `Int` 2. Filtering an array, reducing to `[Int]` 3. Counting letter frequencies, reducing to `[Character: Int]` * [benchmarks] Re-generating benchmark main 24 July 2017, 22:56:24 UTC
b256693 Additional responses to feedback * Make Decodable synthesis lazy again * Remove side effects from assertions * Assert on superclass failable initializers (and verify via a unit test) * Fix space typo * Remove more needless instances of single-element arrays * Unambiguously refer to init() in unit tests * Add failable superclass init tests and a test to ensure Decodable fails to be inherited when superclass synthesis fails * Add tests for structs to ensure they receive no-argument initializers where appropriate 24 July 2017, 22:44:58 UTC
3168370 Responses to feedback * Use `isSpecificProtocol` instead of `==` * Synthesize Encodable implementation lazily * Don’t mark conformances as Used when they don’t need to be * Avoid creating explicit one-element arrays * Use lookupDirect instead of walking AST manually * Produce diagnostic for Decodable classes whose non-Decodable superclass has a failable init * Filter lazy vars manually since getStoredProperties() does not always do so * Amend Decodable class diagnostic text * Check for enum RawType errors only if the type was already validated * Update unit tests to match changes 24 July 2017, 22:44:58 UTC
8e65747 Add notes to suggest overriding init(from:) Classes which inherit from Codable classes inherit their Codable implementation (as opposed to synthesizing their own). In cases where they add their own storage, they will fail to inherit their superclass’s init(from:). In this case, we provide a diagnostic suggesting that init(from:) be overridden. 24 July 2017, 22:44:57 UTC
df64f48 Don’t prevent default/memberwise init Some synthesized initializers (specifically, init(from:)) should not prevent the synthesis of a default or memberwise initializer. 24 July 2017, 22:44:57 UTC
77710c3 Allow overriding synthesized Decodable impl. Classes which receive a synthesized Decodable implementation should be able to subclass non-Decodable classes (if the superclass has an accessible init()) method. Also improve diagnostics when this is not the case. 24 July 2017, 22:44:57 UTC
2dee8c6 Stylistic cleanup 24 July 2017, 22:44:57 UTC
d980972 Suppress access enforcement when an l-value is converted to a pointer just for pointer identity. The current technique for deciding whether that's the case is *extremely* hacky and need to be replaced with an attribute, but I'm reluctant to take that on so late in the schedule. The hack is terrible but not too hard to back out in the future. Anyone who names a method like this just to get the magic behavior knows well that they are not on the side of righteousness. rdar://33265254 24 July 2017, 22:24:31 UTC
5da8a9f Add functions to check whether a DeclName is a specific compound name. Also add an Identifier::is(StringRef), which is slightly nicer to use than 'ident.str() == string' without making it too easy to use this instead of Identifier equality. 24 July 2017, 22:18:48 UTC
e1e48ab [SILOptimizer] A signature optimized function should have specialized linkage. Previously this would mean that specialization of a public function are public, which is incorrect. 24 July 2017, 22:10:39 UTC
30c980c [Foundation] Functions declared in a header should be static. These were accidentally left as `extern` rather than the correct `static` or `static inline` (etc.). 24 July 2017, 22:10:39 UTC
b4736de [Dispatch] Functions declared in a header should be static. These were accidentally non-static. 24 July 2017, 22:10:39 UTC
60e372d [TBDGen] Class inits can appear in extensions, not just ClassDecls. 24 July 2017, 22:10:39 UTC
57f290b [TBDGen] #if's can appear inside protocols. 24 July 2017, 22:10:39 UTC
927fe81 [TBDGen] Generic classes have field offsets too. 24 July 2017, 22:10:38 UTC
095ebaa [SILGen] MaterializeForSet closures should never be serialized and private. If the closure is serialized, it needs to be shared. 24 July 2017, 22:10:38 UTC
c8b0423 [TSan] Change TSan inout accesses to use __tsan_external_write callback (#11032) Adopt the __tsan_external_write compiler-rt callbacks when IRGen'ing the TSan inout access builtin. rdar://problem/32260994 rdar://problem/33461691 24 July 2017, 21:00:36 UTC
back to top