Skip to content

Commit

Permalink
Merge pull request #28 from stzn/stzn-patch-1
Browse files Browse the repository at this point in the history
トップページの更新
  • Loading branch information
stzn authored Jul 15, 2024
2 parents 086c67c + da6176f commit 13b867f
Showing 1 changed file with 46 additions and 16 deletions.
62 changes: 46 additions & 16 deletions Guide.docc/MigrationGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,36 +14,66 @@

Swift's concurrency system, introduced in [Swift 5.5](https://www.swift.org/blog/swift-5.5-released/),
makes asynchronous and parallel code easier to write and understand.
With the Swift 6 language mode, the compiler can now also
guarantee that concurrent programs are data-race-free.
When this mode is enabled, the compiler safety checks that were
optional become required.
With the Swift 6 language mode, the compiler can now
guarantee that concurrent programs are free of data races.
When enabled, compiler safety checks that were
previously optional become required.

Adopting the Swift 6 language mode is entirely under your control,
Adopting the Swift 6 language mode is entirely under your control
on a per-target basis.
Targets that build with previous modes, as well as code that uses other
Targets that build with previous modes, as well as code in other
languages exposed to Swift, can all interoperate with
modules that have been migrated to Swift 6.
modules that have been migrated to the Swift 6 language mode.

It is possible you have been incrementally adopting all concurrency features
It is possible you have been incrementally adopting concurrency features
as they were introduced.
Or, you may have been waiting for Swift 6 to begin using them.
Regardless of where your project is in this process, this guide exists to
provide concepts and practical help to ease the migration.
Or, you may have been waiting for the Swift 6 release to begin using them.
Regardless of where your project is in this process, this guide provides
concepts and practical help to ease the migration.

Here you will find articles and code examples that will:
You will find articles and code examples here that:

- Explain the concepts used by Swift's data-race safety model.
- Help you enable complete concurrency checking with Swift 5 projects.
- Provide techniques for incremental adoption.
- Outline a possible way to get started with migration.
- Show how to enable complete concurrency checking for Swift 5 projects.
- Demonstrate how to enable the Swift 6 language mode.
- Present strategies to resolve common problems.
- Provide techniques for incremental adoption.

> Important: The Swift 6 language mode is opt-in.
> Important: The Swift 6 language mode is _opt-in_.
Existing projects will not switch to this mode without configuration changes.
>
> There is a distinction between the _compiler version_ and _language mode_.
The Swift 6 compiler supports four distinct language modes: "6", "5", "4.2",
and "4".

### Contributing

This guide is under active development. You can view the source, see
full code examples, and learn about how to contribute in the [repository][].
We would love your contributions in the form of:

- Filing [issues][] to cover specific code patterns or additional sections of the guide
- Opening pull requests to improve existing content or add new content
- Reviewing others' [pull requests][] for clarity and correctness of writing and code examples

For more information, see the [contributing][] document.

[repository]: https://github.com/apple/swift-migration-guide
[issues]: https://github.com/apple/swift-migration-guide/issues
[pull requests]: https://github.com/apple/swift-migration-guide/pulls
[contributing]: https://github.com/apple/swift-migration-guide/blob/main/CONTRIBUTING.md

## Topics

- <doc:DataRaceSafety>
- <doc:MigrationStrategy>
- <doc:CompleteChecking>
- <doc:Swift6Mode>
- <doc:CommonProblems>
- <doc:IncrementalAdoption>
- <doc:CommonProblems>
- <doc:SourceCompatibility>

### Swift Concurrency in Depth

- <doc:RuntimeBehavior>

0 comments on commit 13b867f

Please sign in to comment.