Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here


The Swift Programming Language

Subscribe to updates I use swift

Statistics on swift

Number of watchers on Github 52483
Number of open issues 489
Main language C++
Average time to merge a PR about 9 hours
Open pull requests 703+
Closed pull requests 108+
Last commit 4 months ago
Repo Created about 5 years ago
Repo Last Updated 4 months ago
Size 577 MB
Homepage https://swift.org
Organization / Authorapple
Latest Releaseswift-5.2.4-RELEASE
Page Updated
Do you use swift? Leave a review!
View open issues (489)
View swift activity
View on github
Book a Mock Interview With Me (Silicon Valley Engineering Leader, 100s of interviews conducted)
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating swift for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

Swift logo

Swift Programming Language

Architecture Master Package
macOS x86_64 Build Status Build Status
Ubuntu 16.04 x86_64 Build Status Build Status
Ubuntu 18.04 x86_64 Build Status Build Status
Ubuntu 20.04 x86_64 Build Status Build Status
CentOS 8 x86_64 Build Status Build Status
Amazon Linux 2 x86_64 Build Status Build Status

Swift Community-Hosted CI Platforms

OS Architecture Build
Ubuntu 16.04 PPC64LE Build Status
Ubuntu 18.04 AArch64 Build Status
Ubuntu 20.04 AArch64 Build Status
CentOS 8 AArch64 Build Status
Amazon Linux 2 AArch64 Build Status
Android ARMv7 Build Status
Android AArch64 Build Status
Windows 2019 (VS 2017) x86_64 Build Status
Windows 2019 (VS 2019) x86_64 Build Status

Swift TensorFlow Community-Hosted CI Platforms

OS Architecture Build
Ubuntu 16.04 x86_64 Build Status
macOS 10.13 x86_64 Build Status
Ubuntu 16.04 (GPU) x86_64 Build Status

Welcome to Swift

Swift is a high-performance system programming language. It has a clean and modern syntax, offers seamless access to existing C and Objective-C code and frameworks, and is memory safe by default.

Although inspired by Objective-C and many other languages, Swift is not itself a C-derived language. As a complete and independent language, Swift packages core features like flow control, data structures, and functions, with high-level constructs like objects, protocols, closures, and generics. Swift embraces modules, eliminating the need for headers and the code duplication they entail.

To learn more about the programming language, visit swift.org.

Contributing to Swift

Contributions to Swift are welcomed and encouraged! Please see the Contributing to Swift guide.

To be a truly great community, Swift.org needs to welcome developers from all walks of life, with different backgrounds, and with a wide range of experience. A diverse and friendly community will have more great ideas, more unique perspectives, and produce more great code. We will work diligently to make the Swift community welcoming to everyone.

To give clarity of what is expected of our members, Swift has adopted the code of conduct defined by the Contributor Covenant. This document is used across many open source communities, and we think it articulates our values well. For more, see the Code of Conduct.

Getting Started

These instructions give the most direct path to a working Swift development environment. To build from source you will need about 2 GB of disk space for the source code and up to 70 GB of disk space for the build artifacts with full debugging. Depending on your machine, a clean build can take a few minutes to several hours. Naturally, incremental builds are much faster.

Once you are able to build things successfully and have a compile-test-debug loop going, check out the development tips for better productivity while working on the compiler.

You can also skim docs/README.md to understand what high-level documentation is available.

System Requirements

macOS, Ubuntu Linux LTS, and the latest Ubuntu Linux release are currently supported as host development operating systems.

Please make sure you use Python 2.x. Python 3.x is not supported currently.


To build for macOS, you need Xcode 12 beta. The required version of Xcode changes frequently, and is often a beta release. Check this document or the host information on https://ci.swift.org for the current required version.

You will also need CMake and Ninja, which can be installed via a package manager:


brew install cmake ninja

You can also use homebrew-bundle from the root of this repository's working directory to install all of these dependencies:

brew bundle


sudo port install cmake ninja

Instructions for installing CMake and Ninja directly can be found below.


For Ubuntu, you'll need the following development dependencies:

sudo apt-get install    \
  clang                 \
  cmake                 \
  git                   \
  icu-devtools          \
  libcurl4-openssl-dev  \
  libedit-dev           \
  libicu-dev            \
  libncurses5-dev       \
  libpython-dev         \
  libsqlite3-dev        \
  libxml2-dev           \
  ninja-build           \
  pkg-config            \
  python                \
  python-six            \
  rsync                 \
  swig                  \
  systemtap-sdt-dev     \
  tzdata                \

Note: LLDB currently requires at least swig-1.3.40 but will successfully build with version 2 shipped with Ubuntu.

Note: For Ubuntu 20.04, use libpython2-dev in place of the libpython-dev package above.

Getting Sources for Swift and Related Projects

First create a directory for all of the Swift sources:

mkdir swift-source
cd swift-source

Note: This is important since update-checkout (see below) checks out repositories next to the Swift source directory. This means that if one clones Swift and has other unrelated repositories, update-checkout may not clone those repositories and will update them instead. Be aware that update-checkout currently does not support paths with non-ASCII characters. If such characters are present in the path to swift-source, update-checkout will fail.

Via HTTPS For those checking out sources as read-only, HTTPS works best:

git clone https://github.com/apple/swift.git
./swift/utils/update-checkout --clone

Via SSH For those who plan on regularly making direct commits, cloning over SSH may provide a better experience (which requires uploading SSH keys to GitHub):

git clone git@github.com:apple/swift.git
./swift/utils/update-checkout --clone-with-ssh

Building Swift

The build-script is a high-level build automation script that supports basic options such as building a Swift-compatible LLDB, building the Swift Package Manager, building for various platforms, running tests after builds, and more.

There are two primary build systems to use: Xcode and Ninja. The Xcode build system allows you to work in Xcode, but Ninja is a bit faster and supports more environments.

First, make sure that you're in the swift directory:

cd swift

To build using Ninja, run:

utils/build-script --release-debuginfo

When developing Swift, it helps to build what you're working on in a debug configuration while building the rest of the project with optimizations. Below are some examples of using debug variants:

utils/build-script --release-debuginfo --debug-swift # Swift frontend built in debug
utils/build-script --release-debuginfo --debug-swift-stdlib # Standard library built in debug
utils/build-script --release-debuginfo --debug-swift --force-optimized-typechecker # Swift frontend sans type checker built in debug

Limiting the amount of debug code in the compiler has a very large impact on Swift compile times, and in turn the test execution time. If you want to build the entire project in debug, you can run:

utils/build-script --debug

For documentation of all available arguments, as well as additional usage information, see the inline help:

utils/build-script -h


To build using Xcode, specify the --xcode argument on any of the above commands. Xcode can be used to edit the Swift source code, but it is not currently fully supported as a build environment for SDKs other than macOS. The generated Xcode project does not integrate with the test runner, but the tests can be run with the 'check-swift' target.

Build Products

All of the build products are placed in swift-source/build/${TOOL}-${MODE}/${PRODUCT}-${PLATFORM}/. If macOS Swift with Ninja in DebugAssert mode was built, all of the products would be in swift-source/build/Ninja-DebugAssert/swift-macosx-x86_64/. It helps to save this directory as an environment variable for future use.

export SWIFT_BUILD_DIR="~/swift-source/build/Ninja-DebugAssert/swift-macosx-x86_64"


Once the first build has completed, Ninja can perform fast incremental builds of various products. These incremental builds are a big timesaver when developing and debugging.

ninja swift-frontend

This will build the Swift compiler, but will not rebuild the standard library or any other target. Building the swift-stdlib target as an additional layer of testing from time to time is also a good idea. To build just the standard library, run:

ninja swift-stdlib

It is always a good idea to do a full build after using update-checkout.

Using Xcode

To open the Swift project in Xcode, open ${SWIFT_BUILD_DIR}/Swift.xcodeproj. It will auto-create a lot of schemes for all of the available targets. A common debug flow would involve:

  • Select the 'swift-frontend' scheme.
  • Pull up the scheme editor (<).
  • Select the 'Arguments' tab and click the '+'.
  • Add the command line options.
  • Close the scheme editor.
  • Build and run.

Another option is to change the scheme to Wait for executable to be launched, then run the build product in Terminal.

Swift Toolchains


Swift toolchains are created using the script build-toolchain. This script is used by swift.org's CI to produce snapshots and can allow for one to locally reproduce such builds for development or distribution purposes. A typical invocation looks like the following:

  $ ./swift/utils/build-toolchain $BUNDLE_PREFIX

where $BUNDLE_PREFIX is a string that will be prepended to the build date to give the bundle identifier of the toolchain's Info.plist. For instance, if $BUNDLE_PREFIX was com.example, the toolchain produced will have the bundle identifier com.example.YYYYMMDD. It will be created in the directory you run the script with a filename of the form: swift-LOCAL-YYYY-MM-DD-a-osx.tar.gz.

Beyond building the toolchain, build-toolchain also supports the following (non-exhaustive) set of useful options::

  • --dry-run: Perform a dry run build. This is off by default.
  • --test: Test the toolchain after it has been compiled. This is off by default.
  • --distcc: Use distcc to speed up the build by distributing the c++ part of the swift build. This is off by default.

More options may be added over time. Please pass --help to build-toolchain to see the full set of options.

Installing into Xcode

On macOS if one wants to install such a toolchain into Xcode:

  1. Untar and copy the toolchain to one of /Library/Developer/Toolchains/ or ~/Library/Developer/Toolchains/. E.x.:
  $ sudo tar -xzf swift-LOCAL-YYYY-MM-DD-a-osx.tar.gz -C /
  $ tar -xzf swift-LOCAL-YYYY-MM-DD-a-osx.tar.gz -C ~/

The script also generates an archive containing debug symbols which can be installed over the main archive allowing symbolication of any compiler crashes.

  $ sudo tar -xzf swift-LOCAL-YYYY-MM-DD-a-osx-symbols.tar.gz -C /
  $ tar -xzf swift-LOCAL-YYYY-MM-DD-a-osx-symbols.tar.gz -C ~/
  1. Specify the local toolchain for Xcode's use via Xcode->Toolchains.

Build Failures

Make sure you are using the correct release of Xcode.

If you have changed Xcode versions but still encounter errors that appear to be related to the Xcode version, try passing --clean to build-script.

When a new version of Xcode is released, you can update your build without recompiling the entire project by passing the --reconfigure option.

Make sure all repositories are up to date with the update-checkout command described above.

Testing Swift

See docs/Testing.md, in particular the section on lit.py.

Learning More

Be sure to look through the docs directory for more information about the compiler. In particular, the documents titled Debugging the Swift Compiler and Continuous Integration for Swift are very helpful to understand before submitting your first PR.

Building Documentation

To read the compiler documentation, start by installing the Sphinx documentation generator tool by running the command:

easy_install -U "Sphinx < 2.0"

Once complete, you can build the Swift documentation by changing directory into docs and typing make. This compiles the .rst files in the docs directory into HTML in the docs/_build/html directory.

Many of the docs are out of date, but you can see some historical design documents in the docs directory.

Another source of documentation is the standard library itself, located in stdlib. Much of the language is actually implemented in the library (including Int), and the standard library gives some examples of what can be expressed today.

Build Dependencies


CMake is the core infrastructure used to configure builds of Swift and its companion projects; at least version 3.16.5 is required.

On macOS, you can download the CMake Binary Distribution, bundled as an application, copy it to /Applications, and add the embedded command line tools to your PATH:

export PATH=/Applications/CMake.app/Contents/bin:$PATH

On Linux, if you have not already installed Swift's development dependencies, you can download and install the CMake package separately using the following command:

sudo apt-get install cmake


Ninja is the current recommended build system for building Swift and is the default configuration generated by CMake. Pre-built packages are available for macOS and Linux distributions. You can also clone Ninja next to the other projects and it will be bootstrapped automatically:


git clone https://github.com/ninja-build/ninja.git && cd ninja
git checkout release


git clone git@github.com:ninja-build/ninja.git && cd ninja
git checkout release
swift open pull requests (View All Pulls)
  • Mac OS X Smoketest preset
  • test: remove `ulimit -c unlimited`
  • [gardening] Use consistent naming of .rst files in docs/ ("CamelCase.rst")
  • [SE-0031] Adjusting 'inout' Declarations for Type Decoration
  • Add .zero convenience static vars for UIEdgeInsets and UIOffset
  • [swift-api-dump] Omit 'python' in usage (NFC)
  • [build-script] Build & test XCTest (on OS X, too)
  • [WIP] Perftest from sib
  • Add a test for enablement of fixed enum on non-Darwin targets
  • Simplify the logic of getting the platform name from a triple.
  • Sema: Initial parsing and synthesis for properties with behaviors.
  • [Parser][SR-711] Couple "expected declaration" Diagnose With A Note
  • [Sema] Allow catch blocks to rethrow errors when safe
  • [stdlib] Fix documentation for Int and UInt sizes
  • [SIL] Introduce createStringLiteralWithNullTerminator
  • [WIP] [Swift 2.2] Enable ios host tests
  • Add @noescape to SequenceType.flatMap
  • [stdlib] add withMemory function to UnsafePointers
  • [Parser] Fix-it for declaration attributes being applied to parameter types (SR-215)
  • [SR-610][stdlib] Use SequenceType._initializeTo where possible
  • [runtime] Resolve symbols and demangle manually
  • Discard swift.ld in favor of portable solution and support gold linker in Swift
  • [test] Add an end-to-end test for code coverage.
  • [stdlib] String from code units API
  • Porting to cygwin
  • Add an in-place merge sort to the standard library.
  • [Driver] Default SDKROOT to / on FreeBSD.
  • [StdLib] Refactor ObjC code in UnicodeTrie validation tests
  • [StdLib] Refactor ObjC code in Unicode validation tests
  • [StdLib] Refactor ObjC code in Set validation tests
  • Add script to build toolchain
  • [WIP] fleshing out Collection.next(Index) -> Index
  • [WIP] Typealiases inside protocols
  • [build-script] Build Foundation before XCTest [AsyncXCTest 4/6]
  • [AST/Sema] Don't crash when referencing enum case in where-clause
  • [Python] Improve block comment consistency
  • [Parse] Fix lookup of foo(_:bar:) expressions
  • [WIP] Small sema fixes
  • New collection indexing model: removed old index protocols
  • [stdlib] Remove 'never-returned-nil' precondition for GeneratorType.next()
  • [SE-0040] Replace '=' with ':' before attribute argument.
  • [WIP] Default witness thunks for storage
  • Make gyb explicitly reference python2.7
  • [Stdlib] Improves CollectionType.sort to accept throwing clousre and…
  • [Python] Fix five classes of PEP-8 violations (E101/E111/E128/E302/W191)
  • [stdlib] Rewrite UTF8 decoding
  • [stdlib] Minor refactor of StrideThroughGenerator.next()
  • [Parse] Don't error on overloads in a conditional compilation block
  • [swiftc/msvc] Compiling with MSVC library
  • [sil] Verify that the type lowering associated with SILTypes in a fun…
  • Hook up compiler-rt to the build system
  • [stdlib] Use fwrite(3) in _Stdout.write()
  • [Gardening] add reference link for "iff"
  • [SILOptimizer/stdlib] Emit failing _preconditions as compiler errors
  • Refactor code duplication in inspecting dylibs
  • WIP [runtime] Thread safety for weak references
  • [ClangImporter] Record C declarations found in @interfaces.
  • [RFC] Port to Android
  • @autoreleased fix for Swift 2.2
  • [Archetype builder] Use protocol conformances of superclass to resolve nested types
  • [SE-0046] Added fixit to hide first parameter in decls
  • WIP: Change all uses of 'CInt' to 'Int32' in the SDK overlay.
  • [SILGen] eliminate SILGen for var parameters
  • IRGen: add support for DLL Storage semantics
  • Benchmarking something
  • Fix a logic error in eraseUseOfValue.
  • FSO: Enable non-generic parameter optimization in generic function
  • Stamp Swift binaries with the language's major/minor version
  • [gardening][build-script] Use String literal concatenation instead of longstring literal
  • Implement Retain/Release code motion.
  • SIL Optimizer: Allow casts between nil of unrelated Optional type to …
  • [upstream-update] update IRGen
  • Provide Metadata for ivar_getTypeEncoding()
  • [gardening] Fix indentation, tab -> spaces, etc. NFC
  • [Runtime] Provide ivar Metadata for ivar_getTypeEncoding()
  • [WIP][Stdlib][SR-1052] Added @discardableResult attr to mutating functions
  • [stdlib] Expected behaviour for advancedBy:Limit:
  • [test] Add an xfail test demonstrating SR-1129
  • [SR-933] rename flatten to flattened
  • Add missing KERN_INSUFFICIENT_BUFFER_SIZE mach error code
  • [cmake] Work around relocation R_X86_64_PC32 link error
  • stdlib: use stubs for unit tests as well
  • New Set[Algebra] API
  • Enablement of ObjectiveCBridgeable protocol for Linux
  • Change FSO argument explosion heuristic and add some TODOs
  • remove unused parameter in printAnnotatedDeclaration
  • [runtime] enhanced and refactored recently added Mutex abstraction
  • [stdlib/msvc] Runtime with MSVC library
  • [stdlib/cygwin] Modified SwiftGlibc for Cygwin and some fix
  • WIP [SR-1058] Extend aliases in protocols to be included in ArchetypeType.
  • SE-0070: Make Optional Requirements Objective-C-only.
  • Reflection: Add tests for single-field classes of various types
  • SR-1070
  • Allow importing pointer-returning methods as throwing.
  • SE-0072: Fully eliminate implicit bridging conversions from Swift
  • Make the MicroStdlib test executable
  • build: link LLVMCoverage some more
  • [build-script] Skip unsupported 'check-swift-only_long-optimize' test variant
  • [tests] Include 'long_test' in 'check-swift-all-*' test targets
  • Remove code motion in ASO.
  • [RFC][test] Introduce utils/run-test, a small utility to run tests for Swift
  • [build-script] Don't run other products tests in "only_long" mode.
  • [SR-710][Frontend] Add `-dump-xctest-methods`
  • runtime: resolve a few global constructors
  • [Sema] Limit inout capture to @noescape contexts
  • [build-script] Refactor toolchain
  • [Compiler] Cygwin is identified by os(Cygwin) instead of os(Windows)
  • [stdlib] Simplification of split function
  • [Coverage] Fix the smoke test when running under ASan
  • Add tests for spurious API changes
  • Simplify function signature optimzation.
  • [SwiftRemoteMirror] Renamed addr_t to swift_addr_t
  • [Parse] Adjust Lexer to allow Multi-line string literals
  • bisecting arraytraps test failure
  • [build-script] Introduce --dry-run mode
  • SE-0036: Requiring Leading Dot Prefixes for Enum Instance Member Implementations
  • Implementation of speculative devirtualization for class protocols
  • [Sema] Warn unhanded errors in empty catch block
  • [docs] Clarify SIL level TBAA rules.
  • [AST][Sema] Fixes the IterativeTypeChecker and better manages circular protocol inheritance
  • Support Linux on z as a Swift platform
  • [SilOptimizer] SR-1469: Issue diagnostic for `init?` at early return statement
  • Add crash case: 28293-irgensilfunction-visitfullapplysite.swift
  • SR-1509: C preprocessor macros with casts should be visible to Swift
  • [stdlib] SR-1485: Implement SE-0017: Change Unmanaged to use UnsafePointer
  • [gardening] Add licensing preamble.
  • [WIP, don't merge] stdlib: refactor unsafe parts of Dictionary
  • Teach the Swift front-end to generate code with sanitizer coverage
  • [swift-3.0-preview-1][SR-1052] Use @discardableResult and warn by default
  • [WIP] Solve the nesting problem in RRCM
  • [swift-3.0-preview-1] stdlib: use _precondition(), not precondition()
  • [swift-3.0-preview-1] stdlib: Fix the signaling NaN representation
  • [swift-3.0-preview-1] stdlib: use a more descriptive generic parameter name in flatMap()
  • [SR-710][Index] isTestCandidate access for Linux
  • [swift-3.0-preview-1] SimplifyCFG: fix crash in case an enum payload is an enum
  • [swift-3.0-preview-1] stdlib: add SWIFT_RUNTIME_STDLIB_INTERFACE attribute where necessary
  • [Don't merge] stdlib: Dictionary, Set: stop overallocating the bitmap
  • [swift-3.0-preview-1] Change the names of the object-literal initializers to be semantically unambiguous.
  • Refactored build-script-impl in for cross-compiling support
  • stdlib: Remove Slice types which are not needed in stdlib itself.
  • Generate native glibc.modulemap when cross-compiling
  • Added '-Blinker' frontend driver option for cross-linker search path
  • Provide fix-its when overriding a bridged value type with the old reference type
  • [Preset] Enable optimized test for Linux package.
  • IRGen: address a TODO in the type metadata emission
  • [Platform] Simplify GLIBC_INCLUDE_PATH detection
  • Configure XCTest for Dispatch if included in Foundation on Linux
  • [android] Don't make "ANDROID" be the primary variant on Linux
  • [CMake] Allow *only* static stdlib to be built
  • SR-1417: Add non-optional overloads of XCTAssertEqual and XCTAssertNotEqual
  • [update-checkout] Also update submodules when checking out branch heads
  • [stdlib] More verbose debugDescription for NaN
  • [stdlib][NFC] Use UInt${bits} instead of ${RawSignificand} to initialize float with bit pattern
  • [swiftc] Add test case for crash triggered in swift::Type::transform(…)
  • CMake: remove an unused variable
  • Adding tests for replaceSubrange overloads for range types
  • [SR-1397][AST] Stop looking into inner nominal decls for outer constructors
  • [SR-1639] Fix linker errors for sourcekitd when in-process
  • [SR-1639][SourceKit] Link SwiftLang libraries to sourcekitd
  • [SourceKit] Conditionally use in-proc for repl
  • [SR-1052][Parser] Error + FixIt for @warn_unused_result
  • [SR-1594] Provide a better diagnostic for nil comparisons.
  • Check value casts are to non-foreign types
  • [stdlib] Documentation consistency for OptionSet initializers
  • Revert "Build workaround: only consider shims to be protected in Swif…
  • [don't merge] Map opened archetypes to the instructions defining them.
  • SE-0067 - Failable initializers for Numeric Types
  • Sink retains across phi node
  • [stdlib] @available attributes for intervals
  • [Sema] Exclude Bad Synthesized Constructors from Member Lookup
  • Improve tracking of opened archetypes
  • [SR-1613][SourceKit] Include libdispatch
  • [Don't merge] Set the number of bits in integer literals to 64 instead of 2048
  • PR to Test ASAN SwiftCI
  • Pass libdispatch source and build directories to Swift PM
  • Improved commands with shell syntax
  • Make the shadowing logic more conservative about typealias declaratio…
  • NSPersistentStoreCoordinator apinote. Add -performBlockAndWait:
  • [SR-1165][apinotes] Avoid duplicate `XCTest.run()`
  • [SourceKit] In-Proc implementation of sourcekitd API functions
  • stdlib: avoid posix sched_yield in favour of C++11
  • IRGen: Remove relative-reference-to-coalesceable-string workarounds for rdar://problem/22674524.
  • [swift-3.0-preview-2-branch][stdlib] unavailable String APIs: use Swift 2.x APIs without first argument labels
  • [SR-1738] add_swift_library takes SHARED/STATIC arg
  • [Index] isTestCandidate Linux fixes
  • update invocation of PrintStackTraceOnError
  • swift-reflection-dump: Expected more
  • Basic: use std::atomic instead of home-grown synch
  • ClangImporter: share more of the clang invocation
  • Fixed a single '$' being accepted as a valid identifier by the lexer.
  • [SE-0025][SR-1275] fileprivate [1/2]
  • Update README.md
  • enum instructions should not block analysis of static initializers.
  • [stdlib] Implementing O(1) methods on `CountableClosedRange`
  • [stdlib] Adding new indices model tests
  • Don't treat Swift methods named "init" as ObjC ARC init methods.
  • [build-script] Add support for using isolated -impl actions.
  • Canonicalize the components of a GenericFunctionType in the context o…
  • [build-script] Add boolean argument helper method
  • Name and label changes for closure parameters + fallout (for review only)
  • SE-0067 (2/5) - Failable initializers for Float->Float
  • [test] Check LD_LIBRARY_PATH a little less strictly.
  • SE-0067 (1/5) - Failable initializers for Fixed->Fixed
  • use the toolchain's clang when building libdispatch
  • Implement floating point strides
  • [don't merge] Track dependencies of SIL instructions on opened archetypes which they use.
  • Add simple tests for SetAlgebra protocol
  • [don't merge] IRGen should emit code for unused private functions at -Onone -g
  • Added -toolchain option to swiftc
  • [WIP] [coverage] Switch to llvm-profdata's pooled profdata merge
  • [stdlib] Enable sendfile from Glibc.
  • stdlib: added TIOC ioctl constants for Darwin/FreeBSD
  • stdlib: add 'rethrows' to ManagedBuffer APIs
  • stdlib: Fix lifetime issues in ManagedBuffer.value
  • [stdlib] Remove _StringCore from UnicodeScalarIndex
  • Separate remote mirror target
  • Fix clang library includes for xcode in swift
  • Revert "[ObjC Interop] Map Swift @objc properties named isFoo to ObjC Cocoa conventions"
  • [WIP] Cleanup mapType{Into,OutOf}Context()
  • Implement an iterative data flow to find epilogue retains or releases
  • [utils] Slightly better exceptions in gyb_stdlib_support.py
  • [SR-1822] Add new fixits for oldhat 'inout'
  • [CMake] Include CMAKE_CURRENT_BINARY_DIR in lib/Basic
  • PS4 support
  • [utils] Python 3 support + tidies in check-incremental
  • Merge SILFunction::Location into SILFunction::DebugScope::Loc.
  • [SE-0089] [in progress] Rename string reflection init
  • [build-script] Factor out a product config object.
  • [SR-1672] Improve diagnostics for trailing closures in stmt-condition
  • [WIP][SR-927] Enable leaks tracking
  • [build-script-impl] Add flag for building SourceKit on Linux
  • [stdlib] implement _fastCStringContents
  • Update to Unicode 9.0.0
  • Backport swift 3.0 code coverage fixes to swift 2.3
  • [Stdlib] Fix entry-point-based process args
  • Adding macOS alias for conditional compilation blocks
  • [update-checkout] Use subparsers to split clone/update paths.
  • [SR-1752] Fix warning about unused result if return type is Void?
  • [stdlib] Better diagnosis for unavailable APIs
  • SE-0102: Remove @noreturn attribute and introduce an empty Never type
  • [Parse] Improve fix-it for deprecated protocol<...> syntax
  • [stdlib] Added POSIXErrorCode for Linux
  • [stdlib/core] hasPrefix/hasSuffix consider the empty string a prefix/suffix of all strings.
  • Embrace operators in types more thoroughly
  • SideEffectAnalysis: Ignore side-effects (except trap) in blocks which end up in unreachable instructions.
  • [Do not merge] Remove unsafeAddress(of:)
  • Revert "Update master to build with Xcode 8 beta 3, OS X 10.12, iOS 1…
  • [SILGen] Utilize _silgen_name for implicit global variables
  • [ClangImporter] Update AvailAttr import for "macosx" to "macos" rename.
  • [WIP] Noescape - flip internal representation
  • Remove `isUniquelyReferenced` and the `NonObjectiveCBase` class
  • [stdlib] Remove optional comparison operators (SE-0121)
  • [overlay] Fix AppKit NSAccessibility notifications type (Notification.Name -> String).
  • dprintf's format argument is read-only
  • [ClangImporter] fix crash when importing macros with bitwise operators
  • [overlay] NSBezierPath.flattened and .reversed
  • [libIDE] Add syntax kind of argument to fix a crash. rdar://27377118
  • Do not build SwiftReflectionTest when we are not including tests.
  • [stdlib] Convert existential collection === operator to method
  • [Foundation] Update ByteCountFormatter to have a uniform apinotes ann…
  • [Foundation] Update CharacterSet and NSCharacterSet punctuationCharac…
  • [Foundation] Update UndoManager registerUndo to adopt new naming rules
  • WIP: DONT MERGE Don't change public external symbols to shared
  • [WIP][SR-1516][stdlib] Implement SE-0045 prefix(while:) and drop(while:)
  • AST: adjust for SVN r275575
  • Basic Sema support for covariant collection casting.
  • [WIP] [stdlib] [SE-0089] Rename String.init(_:)
  • [stdlib] Add nonmutating rotated and concatenated collection prototypes
  • [build-script] When performing smoke testing on OS X, only build the …
  • [stdlib] Restore MemoryLayout.*(ofValue:)
  • Add pty to Glibc modulemap
  • Fix SR-2134: emit 'rawValue' bodies for enums with a generic raw value
  • Fix grammar/capitalization errors in README.md
  • Force LLVM to preserve value names
  • Give a proper error when a member type is inaccessible.
  • noescape by default: deprecate @noescape and @autoclosure(escaping)
  • Runtime: Fix undersized allocation for out-of-line optional cast result.
  • [SR-1894] Consider protocol metatypes as not @objc compatible.
  • AST: Replace recently-added IsInOut bit with simpler check, NFC
  • [swift-3.0-preview-5-branch] stdlib/Foundation: optimize the NSDictionary and NSSet copy-constructors
  • Improve nonexistent decl diagnostic
  • Don't emit @noescape error on every "@autoclosure is now a ..." error
  • [swiftc (39 vs. 5155)] Add crasher in swift::Expr::walk(...)
  • [benchmarks] Dont adhoc sign benchmark stdlibs
  • Fix @available renaming for renamed initializers
  • [ClangImporter] Don't bridge weak and unsafe_unretained properties to value types
  • [Foundation] Simplify the comparison routines for Measurement
  • Dependency analysis: treat member operators as top-level "provides".
  • rdar://problem/27651717 Make bridged String and collection types conform to CVarArg.
  • [Foundation] add hints for replacement APIs for Data of some common u…
  • [Foundation] Scale back struct Notification's userInfo to be in-line …
  • Make bridged String and collection types conform to CVarArg.
  • SIL: update for SVN r277399
  • Add empty parens to var-to-function renames
  • [Preview 5] Fix crash due to bad @objc inference for on Error-conforming Swift enums
  • Don't return nil from URL(string: "", relativeTo: someURL)
  • [Lex] Reject standalone dollars as identifiers
  • [Autolink] Autolinking on COFF for Cygwin/MinGW
  • [stdlib] Fixed for Cygwin
  • Fix several bugs in dynamic casts
  • [QoI] fix diagnosis of non-Optional enum used in optional pattern
  • Add 1 line of comment. For the sake of launching an ASAN job.
  • [SR-656] When invoking `swiftc -v`, link with `-v`
  • [PrintAsObjC] print __attribute__((noescape)) in Obj-C headers
  • [SR-2400] Add `-continue-building-after-errors`
  • Remove AllArchetypes list
  • Operator methods are not @objc-compatible.
  • [docs] LibraryEvolution: 'final' can be added or removed at will.
  • Metadata cache optimizations
  • [Import as Member] Error on convenience inits in extensions of CFTypes
  • Update swift-demangle to interactively demangle
  • [QoI] Diagnose initializers written as typed patterns (SR-1461)
  • [SR-1788] Add -driver-time-compilation option
  • [CodeCompletion] Never emit 'private' for conformance or override declarations
  • Swift components 1
  • SE-0080 (4/4) - Failable initializers for Float->Int
  • [SR-702][Parse] Disallow attributes before '#if'
  • [docs] Streamable => TextOutputStreamable, NFC
  • [upstream-update] swift-format: adjust for SVN r277335
  • [Foundation] Add hack enabling factory intializer
  • Use function signatures for SILDeclRefs in witness_tables, vtables and witness_method instructions
  • README update: cmake Install and Handling errors
  • [swiftc] Fixed for Cygwin
  • [SE-0042][AST/Sema/SILGen] Flattening the function type of unapplied method references
  • [upstream-update] swift-llvm-opt: adjust for SVN r276687
  • New integer protocols [Not Ready to Merge]
  • [QoI] diagnose operator fixity attrs together; improve messages
  • [Scope map] Explicitly model the scope of a function body.
  • [3.0] Throwing methods must return an object type in the @objc thunk to be @objc
  • Allow @testable witnesses to satisfy protocol requirements.
  • Kill some usages of ArchetypeType::getProtocolSelf()
  • [sil-cse] Fix a bug in the CSE of open_existential_ref instructions
  • [tests] Reduce left over files in system temp directory after test execution
  • SILGen tests: always build modules and API notes when importing the mock SDK
  • tests: replace 'rm -rf ... && mkdir -p ...' with a new substitution %empty-directory
  • Distributed testing support [not ready for merge] (replaces #4590)
  • WIP Error out when things fail to load (proof of concept)
  • Start moving toward a callback model for code-completion type-checking
  • Fix for class convenience initializers delegating to factory initializers (3.0)
  • rephrase diagnostic
  • [SR-2209] Add real AccessScope type.
  • Re-apply "Make all CF types Equatable and Hashable."
  • WIP [Serialization] Cross-reference imported ObjC methods by selector.
  • (WIP) Curtail the power of partial_apply
  • [Sema] [gardening] Refactor diagnoseMemoryLayoutMigration [NFC]
  • [QoI] offer typo correction for platform conditionals
  • [SDK] Rename several small overlay source files.
  • Error for declaring postfix operators that begin with '?' or '!'
  • Eager bridging (do not merge)
  • [ClangImporter] import compound macros independent of order
  • SIL: update for LLVM iplist/ilist changes
  • [SR-755] Tool for re-symbolicating fatal stacktraces on Linux.
  • add some logic judgment
  • IRGen: update for SVN r278896
  • Fix more ArrayRef problems in ImmutablePointerSetTests unit tests.
  • SIL ownership staging
  • Sil verify all verify functions when added to worklist
  • [emacs-support] More flymake support
  • Do not emit shadow copied for inout parameters
  • [3.0 compat] Don't diagnose @escaping var-arg closures.
  • [swiftc (75 vs. 5174)] Add crasher in swift::TypeChecker::validateDecl(…)
  • [gardening] Fix typos in GenConstant.{cpp,h}
  • [SR-2503] Implement subtraction for CharacterSet
  • Log debug elapsed time using 2 decimal places
  • Fixed an assert caused when a TupleExpr that didn't have a valid SourceRange had a valid SourceLoc for the first element but not for the last
  • Improve diagnostics for optionals in string interpolation segments
  • [Parse] Improve error handling in parseList
  • build-script: Don't automatically clear the module cache.
  • [code-completion] Handle generic function refs converted to non-generic function type
  • [IRGen] Emit calls to objc_allocWithZone(cls) when allocating obj-c objects.
  • ABI FIXME#16,17: Hoist += operator out of the array types into RangeReplaceableCollection
  • [Gardening] Normalize the way paren types are stripped in Sema.
  • SIL: Avoid dereferencing sentinel nodes in ilist_iterators
  • Add utils/scale-test
  • Replace take-initialization copy_addr instructions with moves in arc-inert blocks
  • [AnyHashable] Eliminate the _AnyHashableProtocol hack.
  • [Driver] Begin testing -driver-show-incremental
  • Fix quarantineProperty in URLResourceValues
  • [cmake] Bump minimum version to 3.4.3
  • [Parse] Don't propagate static spelling to AST while parsing top level decls
  • [Parser] Fix right angle location in erroneous parameter list
  • [Type Checker] SR-2505: Fix "Call arguments did not match up" assertion
  • [swift-format] Remove dependency on clang::tooling::Replacement
  • Foundation overlay cleanup
  • [build-script-impl] Remove some defines that cause warnings and that
  • Change stdlib swiftc's to depend on .swiftmodule's instead of .o's
  • [3.0] CapturePromotion: Substitute using callee generic signature instead of caller's.
  • [no not merge] Partial specialization experiments
  • SR-2208: Improve failure diagnostics for apply expressions
  • [WIP] Teach TypeBase::getMemberSubstitutions to handle a case where the member is a type enclosed in super classes' extension.
  • [Don't merge] docs: description of new mangling scheme, version 2
  • [SR-648] Add option to create statically linked binaries (take 2)
  • [IRGen] Fix lifetime extension issue with StringRef.
  • [Driver] Show incremental is off with bad JSON
  • [Driver] Show incremental is off with bitcode, WMO
  • Pull the ArrayRef use-of-temporary fixes into Swift 2.3
  • [Overlay/Dispatch]: Change DispatchQueue.setSpecific to take an optional
  • AST: Drop types with no explicit requirements from substitution lists
  • Added new frontend flag to accelerate clang importer
  • Fix dispatch time comparisons (#5078)
  • [stdlib] Rewriting native hashed collection indices (rebased)
  • WIP: New refcount representation
  • (wip) IRGen: Include witness tables as part of generic metadata patterns' keys.
  • Disable the ability to use $ as an identifier head harder
  • SR-2280: swiftc -static-stdlib option fails on Linux
  • [stdlib] Delete unneeded inits
  • SR-2405 Print IB_DESIGNABLE and IBInspectable in the generated ObjC header
  • SR-2164: Fix erroneous diagnostic when unable to infer generic parameter
  • Eager Bridging 2: Eager Bridgealoo (do not merge)
  • [Foundation] Improve String bridge performance by implementing SPIs to access character buffers directly
  • [CMake] Refactor to allow an overlay only build
  • utils: Make update-checkout run in parallel.
  • Reflection fixes
  • Eager HashedCollections Bridging
  • Minor ImportName refactoring
  • [test] make a constant_struct_with_padding work when cross-compiling.
  • [gardening] Fix recently introduced typos (chcek → check, elimianted → eliminated, identifer → identifier, inferrable → inferable, scrach → scratch, vlaue → value)
  • [swiftc (107 vs. 5183)] Add crasher in swift::TypeVisitor
  • Update readme for Bash on Ubuntu on Windows
  • [SourceKit] docs for complete.open
  • Store a GenericSignature in GenericEnvironment
  • [ClangImporter] C static-qualified array params are non-nullable.
  • [WIP] Remove -enable-experimental-nested-generic-types flag
  • IRGen: give thunks hidden visibility
  • [SR-2860] Change the way comments are exported to Doxygen
  • [TypeChecker] Issue error message when accessing subscript using keyword
  • [ConstraintSystem] Inference of inout for closure parameters in generic contexts
  • [WIP] SIL type lowering cleanups
  • [stdlib] [WIP] Eliminate version of Array.append(contentsOf:) that takes a Collection
  • Eager string bridging
  • Eager array bridging
  • [Driver] Mark a few more flags as DoesNotAffectIncrementalBuild.
  • Refactor SILDeclRef constructors
  • Reduce memory usage by freeing memory occupied by SILModules after IRGen
  • SILOptimizer: Replace Array.append(contentsOf: with Array.append(elem…
  • (Don't merge yet) Rdar 29016063 precompile bridging header
  • First draft at a new inlinable version of struct Data
  • [IRGen] Request LLDB specific tuning for all targets.
  • [stdlib] Prototype bidirectional UTF-8 Decoding
  • Fix errors and warnings building swift/IRGen on Windows using MSVC
  • Port swift/Immediate to Windows
  • Fix warnings and error building swift/SILOptimizer on Windows with MSVC
  • Fix errors and warnings building swift/SILGen on Windows using MSVC
  • Fix errors and warnings building swift/SIL on Windows using MSVC
  • Fix warnings building swift/parse on Windows using MSVC
  • Fix errors and warnings building swift/driver on Windows using MSVC
  • Fix errors and warnings build swift/clangImporter using MSVC on Windows
  • Port swift/basic to Windows using MSVC
  • Support building swift/AST with MSVC on Windows
  • [QoI] When replacing dynamic Self with object type preserve optinality only if object type is not itself optional
  • Remove archetype mangling
  • build: remove `TARGET_SDKS` from the runtime
  • Add support and instructions for building Swift on Windows with MSVC
  • Enable SourceKit building by default on Linux
  • [swift-format] Update swift-format documentation to include "-indent-switch-case"
  • Warning Cleanups
  • adjust for SVN r286524 and SVN r287369
  • Demonstration of SILGen crash
  • [Diagnostics] Handle ‘open’ in access control diagnostics
  • [stdlib] Revert first(where:) to use for-in loop
  • Fix build errors for SourceKit on Linux
  • [WIP] Use an extra shims header to remove _silgen_name from Dispatch.
  • [WIP] [Utils] Add support for Ninja in Update Checkout script
  • Remove the LDBL_* tests in stdlib/FloatConstants.swift
  • Fix line-directive-tool not being able to invoke swiftc.exe on Windows
  • [QoI] SR-2475: Warn when an unlabeled parameter follows a variadic parameter
  • Invoke the line directive tool from python on Windows
  • Port swift-demangle to Windows
  • Introduce SWIFT_EXTERN_RUNTIME_EXPORT for Windows
  • Fix linker failures compiling Swift on Windows
  • Revert "Mark several C macros imported from <float.h> as deprecated."
  • ClangImporter: fix crash when importing type containing bitfields (regression from #6531)
  • Do stricter checking of -D command-line arguments
  • Fix signed warnings compiling lib/Sema/ConstraintSystem.h
  • FIx recently introduced MSVC control path warnings
  • Enable sourcekitd to be built by default on Linux
  • [Diagnostics] Nullify contextual type if it's generic with type variables
  • [Archetype builder] Make the "archetype anchor" use a total order.
  • [stdlib] Replacing M_PI with .pi
  • [SDK] Support {public} modifier for os_log
  • [Do not merge] New syntax and semantics of the @_specialize attribute
  • Use Swift-3-style access checking to downgrade errors to warnings
  • SR-3175: Include the terminating signal number in the driver output
  • Fix `update-checkout --dump-hashes` and add `update-checkout --dump-hashes-config`
  • Unicode Rethink [Do Not Merge]
  • [WIP] Import APIs under both Swift 3 and Swift 4 names, to produce errors
  • [Diagnostics] Display correct debug note for compound references typo suggestions
  • Fix an assertion failure in SILMem2Reg.
  • Use the right key for the image thumbnail dictionaries in the URL resources struct
  • [ClangImporter] Teach the importer about a couple more kinds macro constants
  • [WIP] [IRGen] Replace examplar archetypes with canonicalized archetypes.
  • SILOptimizer: Replace [].append(contentsOf:) with [].append(element:)
  • [stdlib] De-gyb internal sort functions
  • [Clang importer] Look through typealiases when importing members of swift_wrappers
  • [Migrator] Suggest String <-> Substring conversions
  • TBD: ivar init/destroy, materializeForSet callbacks
  • [strip -ST] Disable runtime stack trace dumping on Darwin when assert…
  • [benchmark] SR-4780 Can not run performance tests that are not in precommit suite
  • [NOT FOR MERGE][stdlib] Potential performance improvement for signum()
  • [4.0] Switch on key paths.
  • Switch on key paths.
  • Remove interpolated strings from benchmark CheckResults
  • qualify some names with their namespace (NFC)
  • [Parser] Add fix-it for missing type errors
  • [WIP] [Stdlib] Eliminate SubSequence from _Indexable.
  • Speculative revert3
  • DO NOT MERGE: WIP: Unicode 9 and Thread Local Storage
  • [SR-964] Warn if the implicit setter argument 'newValue' is unused
  • A different speculative revert
  • Speculative revert of some inlining decisions
  • Update reflection on 4.0 to match code in master
  • [DO NOT MERGE] [ClangImporter] Import NSUInteger as Int everywhere.
  • [Do not merge] Attempt to remove _Strideable
  • [frontend] Add 'finishProcessing()' method for DiagnosticConsumers to do their finalization (e.g. writing to a file)
  • [WIP] [TypeChecker] Score disjunctions and constraint components to prune search space
  • [QoI] Properly diagnose closure parameter distructuring after SE-0110
  • [stdlib] Removing a few harmful overloads of <
  • [benchmark] SR-4572 Remove jinja2 dependency from test harness generation
  • [wip] Add an `inout` version of reduce, as per SE-0171.
  • [swift-4.0-branch][stdlib] Introducing the StringProtocol
  • [stdlib] Delegating to unambiguous funcs in obsoleted String subscripts
  • Better diagnostics for multi-line string literals
  • [stdlib][WIP perf experiment] Give Array types a custom Iterator
  • SR-648: Allow swiftpm to statically link binaries on Linux
  • [ConstraintSolver] Refactor `solveSimplified` to consolidate disjunction choice attributes/operations
  • [stdlib] Renames and tests for Swift 3 compatibility mode
  • IRGen: Don't use global offset variables if we have a dependent layout and an Objective-C super class
  • [4.0] [Driver] Pass -warn-swift3-objc-inference-(minimal|complete) to the frontend
  • Replace UTF8.EncodedScalar
  • Test and cleanup
  • [WIP] An alternative design for heterogeneous comparison
  • [WIP - DO NOT MERGE] More updates for keeping a side map for types in the constraint solver
  • Minor script tweaks
  • [stdlib] Heterogeneous comparisons for concrete integer types
  • [WIP - DO NOT MERGE] Assert if we attempt to bind a type involving ErrorType.
  • [Sema] Diagnose with full name of mismatched compound names
  • [Mangling] Include private discriminators in constructor manglings
  • [constant-propagation] Re-enable compile-time overflow checks that support new integer protocols
  • Ensure fatalError message logged on Android
  • [SourceKit] restore __raw_doc_comment identifier
  • [WIP] Simplify expression checker's member access logic and fix a bug with generic typealiases
  • [stdlib] String index interchange, etc.
  • Added android/build-toolchain
  • [Documentation] Add missing 'of' to UnicodeScalar documentation.
  • [Migrator] Add null-migration driver tests
  • [Migrator] Add fix-it tests to pick up swap exclusivity fix-its
  • [README] Add tzdata to dependencies for Ubuntu
  • [ConstraintSystem] Prevent `shrink` from solving "too complex" sub-expressions
  • Set default CPU for s390x to support conversion between unsigned inte…
  • [Swift3.1] Set default CPU for s390x to support conversion between unsigned inte…
  • [Do not merge] Reinstate "recursive" collection protocol requirements.
  • Properly diagnose crashers involving nested assign exprs
  • [stdlib][WIP perf experiment] Replace AnySequence with Array in default Sequence methods
  • [WIP][IRGen] Emit type field descriptors for imported structs
  • Don't hardcode IR value numbers in IRGen/objc_block.sil.
  • [4.1] Mark conditional_conformances_warning.swift as "REQUIRES: executable_test".
  • Mark conditional_conformances_warning.swift as "REQUIRES: executable_test".
  • [5.0][CursorInfo] Fix crash on init call of inner NTD with generic outer NTD
  • [Foundation] Address a potential leak when writing a data to a URL and the file system representation fails
  • [IRGen][runtime] Simplify runtime CCs and entry point ABIs
  • [SwiftSyntax] Change vars in nodes to lets
  • [4.1] SILGen: Make the optionality check in checkForABIDifferences reflexive to make up for the loss of IUO.
  • [CursorInfo] Fix crash on instance variables used directly in if or for when declared in a generic context
  • Sema: request member layout in the subscript_expr
  • SILGen: Make the optionality check in checkForABIDifferences reflexive to make up for the loss of IUO.
  • [build system] Prefer LLD if it exists
  • [4.1][sil] When expanding aggregate instructions, do so consistently based…
  • [4.1][CursorInfo] Fix crash on init call of inner class with outer generic context
  • [WIP/Don't merge][Verifier] Turn on the verifier for debug info.
  • [Runtime] Remove RuntimeFunctionCounters in no-assert builds.
  • DO NOT MERGE [stdlib] Constrain BinaryInteger.Words to a RandomAccessCollection
  • [WIP] Nothing to see here...IUO changes.
  • [string] Avoid dyncasts through direct metatype comparison.
  • [WIP][Syntax] Performance improvements
  • DO NOT MERGE: See what benchmarks care about _fromCodeUnits
  • [stdlib] _SwiftNativeNS*.init(): Add @nonobjc attribute
  • [Batch mode] WIP: Moving main outputs.
  • WIP: [Batch mode] Includes experimental driver changes for testing
  • [Batch mode] WIP: Frontend endpoint
  • build-script: Run lldb tests for Swift support per-commit
  • [Experiment] Make OpaquePointer an alias for UnsafeRawPointer.
  • [Do Not Merge] Implement #warning and #error
  • Fix a build issue on FreeBSD, correctly define the SwiftShims for stddef and stdint and add required module exports
  • [WIP] [stdlib] Stable sort test implementation
  • [CSSolver] Prioritize bindings with fewer default types
  • Add a -verify-exclusivity option.
  • build: avoid incremental links with link.exe
  • WIP: Closure ABI - Make @noescape Swift closures trivial
  • [build-script] Use a single-threaded runner for the lldb tests
  • IRGen/Runtime: Allow mangled type refs to embed "symbolic references" to type context descriptors.
  • [DON'T MERGE] Switch to SipHash13
  • [4.1] [Constraint solver] Favor more-specialized overload among two generics.
  • [WIP] Re-apply "SwiftSyntax: Teach SwiftSyntax to use SourceKitd to serialize syntax trees. (#14424)"
  • [Lexer] Don't setEscapedIdentifier(true) for tok::eof at ArtificialEOF
  • [Parse] Support `#if swift(<4.1)`
  • [WIP][Sema] Permit implicit casting from an archetype to an enum case in pattern matching
  • IRGen: make the autolink work better in COFF environments
  • Shims: match the declared type for CF interfaces
  • [IRGen] Add a placeholder field to the beginning of class vtables to reserve space for a potential vtable canary in the future.
  • [build-script] Cleanup arg-parsing tests
  • [string] Cleanup, coding conventions, opaque branches
  • [dev-script] Add a new script called at-to-filelist.
  • [DON'T MERGE][stdlib] Make _mixInt and _combineHashValues non-inlineable
  • Adds solver "expression too complex" bail reasons on predictive fail outs
  • [WIP] Don't direct-dispatch to final methods that are overrides
  • [DON'T MERGE] Alternative hashing interface
  • [build-script] Shell Module
  • [build-script] Presets Module
  • [WIP] [Parse] Add _pointer_bit_width platform condition
  • [SILGen] Don't assume physical lvalue components are side effect free
  • ppc64le port.
  • WIP [SILOptimizer] Hoist conditional branches out of inner loops by making a true loop & false loop
  • [stdlib] Use Swift-native Character iteration for hasPrefix/Suffix
  • Remove the now-dead field type vector slot in metadata templates
  • [WIP][CSBindings] Try to infer bindings from related type variables
  • [build-script] Updated build-script-impl to be able to run the tests …
  • [Batch Mode] WIP: Beat StringRefs into const std::string&'s.
  • [string] Simplify String creation.
  • [5.0] [build-script] Fix how the playground frameworks build in build-script.
  • [4.1] [build-script] Fix how the playground frameworks build in build-script.
  • [IRGen] Prevent mergeable traps from being created
  • Dump filelists in the PrettyStackTrace
  • [BatchMode] Actually wire-up the part that pushes multiple aux output args.
  • [Batch Mode] Experiment, do not merge. Test mapping of non-primaries.
  • External key path components and key path descriptors
  • DO NOT MERGE, test to test PR infra
  • [SourceKit] Add defensive guard for invalid offset
  • Change the linking of icu in libswiftCore to use icu-config instead of simply adding via an -l flag in order to capture the correct path
  • [SILVerifier] Disallow address-type block arguments in raw SIL.
  • Handle 'import struct Foo' where Foo is a non-nominal typealias
  • Make sure we infer selectors for accessors when checking a conformance
  • unittests/runtime: Add more stubs related to protocol conformance
  • [swift-4.1-branch] utils: remove reference to swiftImageInspectionStatic
  • Allow 'public' classes to have 'internal' required initializers
  • Expose substring-based initializers in StringProtocol.
  • [CMake] Disabled Policy CMP0068 if it exists
  • [DO NOT MERGE] Smol String
  • Start building the Accelerate overlay for watchOS
  • [SR-7043] Remove duplicate if statement
  • stubs: match ICU signature for unorm2_normalize (NFC)
  • Remove 'public' from a few NSError-bridging-related symbols
  • build: explicitly state arch for ICU
  • [stdlib-wip] Isolate Array bridging behavior for ABI stability
  • stdlib: add support for AAPCS64 variadics
  • [+0-all-args] Update plus zero tests.
  • [GSB] Reduce dependence on potential archetypes for rewrite tree
  • [gardening][enum class] Replace `unsigned char` with `uint8_t` for consistency
  • [gardening] Replace `typedef` with `using`
  • [swiftBasic] Fix description in comment of ClusteredBitVector
  • Improve diagnostic when downcast to CoreFoundation Type
  • [SwiftSyntax] Use RawSyntax presence state properties in Syntax
  • [Parse] Remove unnecessary Lexer fields
  • [SE-0091][gardening][stdlib/public] Move operators into types
  • Fixed typos and grammar in lib/Syntax/README.md
  • [gardening][SwiftOnoneSupport] Replace `let _` with `_`
  • ClnagImporter: expand `-sdk` appropriately on Windows
  • Trimming metadata
  • [stdlib][SR-4818] Add overflow assignment operators
  • [Dispatch][gardening] Use `Optional.map` over `flatMap` where appropriate
  • Clear any LLVMArgs when initializing the CompilerInvocation for SourceKit's ASTManager
  • [CSBindings] Try `Void` as a binding for `closure result` type variable
  • [IDE] Fix type reconstructions for PrivateDeclName.
  • 🛑Compiler support for synthesizing Hashable._hash(into:)
  • [stdlib][DNM] Add Sequence.containsOnly
  • (WIP) Type metadata access by mangled name
  • [stdlib][SR-7136] Fast-path ad-hoc printing of Strings
  • Check deprecation for getters and setters
  • [WIP] SwiftSyntax: Implement APIs for Syntax nodes to calculate absolute positions.
  • Batch mode formation minor fixes
  • [benchmark] Add benchmarks for Dictionary.swapAt(_:,_:)
  • Link in ubsan when -sanitize=fuzzer is used
  • [benchmark] Check performance of switching from non-constant strings
  • test: enable Windows support, un-XFAIL on Linux
  • Refine AccessUseDefChainVisitor.
  • [5.3] [Function builders] Use buildLimitedAvailability() for #available block
  • [Function builders] Use buildLimitedAvailability() for #available block
  • Allow shadowing of unavailable declarations
  • [Sema] Remove a leftover CSDiag hack
  • [Sema] Warn about meta-metatype usage
  • [AST] NFC: Convert right-hand side of casting exprs from TypeExpr to TypeLoc
  • [Diagnostic] Fix diagnostic when checking conformance for IUO of gene…
  • [opt-remark] Add support for emitting opt-remark-generator remarks when compiling with optimization.
  • SR-13098 Diagnostic improvement: encountering an unexpected statement at type scope
  • [SR-13226] [Sema] Handle generic requirement failure on repairFailures
  • [DNM] [Hack] Test trace emission on source compat suite.
  • [NFC] Cleanup some code to use 'swift::getParameterList' to fetch parameter lists
  • Alphabetize sanitizers in Sanitizers.def
  • [SILGen] Fix handling of dynamic Self in key paths (SR-12428)
  • [test] Update & reenable stdlib ABI stability tests
  • [cxx-interop] [IRGen] TypeInfo for address-only types.
  • Use UTF-8 I/O encoding for Python 3
  • [Gardening] [NFC] Re-order headers in SILDeclRef.cpp with clang-format.
  • [NFC] [SILOptimizer] Simplify 'calleesAreStaticallyKnowable' to handle both functions and enum cases
  • [ClangImporter] Update clang invocation to use the marketing names of CPUs
  • [5.3][stdlib] Add _forEachField(of:options:body:) function (#32873)
  • [IRGen] Introduce SymbolObjectCodeRequest
  • [AutoDiff] [stdlib] Fix a bug in `_jvpMultiply` in SIMDDifferentiation.swift.gyb
  • [AST] Metatypes have reference semantics
  • [test] Enable standalone_build feature properly and fix three tests
  • [CxxInterop] Import `typedef`-ed template instantiations
  • AssociatedTypeInference: Stop skipping the current protocol when looking for a fixed type witness
  • Remove debug instructions on dead temporaries in CopyForwarding
  • [SIL.rst] Add an Ownership SSA sub-section about forwarding uses.
swift questions on Stackoverflow (View All Questions)
  • Get function name in Swift
  • What is a "marker protocol" in Swift?
  • Initialization of immutable value error on Swift?
  • UISwitch added to UITableViewCell multiple times when scrolling UITableView - Swift
  • Swift Error: Binary operator '&&' cannot be applied to two 'Bool' operands
  • Swiping to Create a fresh page but saving placement of other circles (Swift)
  • swift: audio slider control
  • iOS App for Xenforo in Objective-c or Swift
  • Add Small Circle/Dot Wherever User Taps Inside of UIView (Swift)
  • Unable to send push notification to a single user with Parse - Swift
  • Swift: UIPanGestureRecognizer: tracking location to discrete points
  • Swift : Nsarraycontroller and button selector
  • Swift - how to handle long press gesture recognizer when going out of view?
  • find the bright area of a live camera feed using swift
  • How can I use the same syntax sugar of Array or Dictionary in an Object in Swift?
  • swift: segueing in tableview sections
  • Best way to store big data in Swift
  • Swift (iOS), waiting for all images to finish downloading before returning
  • Swift 2, SpriteKit, I'm having trouble removing a node from parent
  • Passing coordinates of selected Annotation to new View Controller Swift 2.0
  • Getting an Array From Parse into a Table View (Swift 2)
  • Convert UnsafeMutablePointer<UInt> to UInt in Swift
  • Cocos2d, swift find when Spritebuilder timeline animation completed via callback
  • swift ? must be followed by a call, member lookup, or subscript
  • Swift weakSelf in closure syntax
  • Calculate all permutations of a string in Swift
  • Swift NavBar to TabBar prepareforsegue
  • How to create a function in Swift that removes then adds a specific subview based on what the current view is?
  • Adding background to ios app in xcode 6 using Swift
  • How to get position of cursor in nstextfield Swift
swift list of languages used
Other projects in C++
Powered by Autocode - Instant Webhooks, Scripts and APIs
Autocode logo wordmark