mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
This statically guarantees that the access has no inner conflict within its own scope. IRGen will turn this into a "nontracking" access in which an exclusivity check is performed for conflicts on an outer scope. However, unlike normal accesses the runtime does not record the access, and the access will not be checked for subsequent conflicts. end_unpaired_access [no_nested_conflict] is not currently supported. Making a begin_unpaired_access [no_nested_conflict] requires deleting the corresponding end_unpaired_access. Future runtimes could support this for verification by storing inline data in the valud buffer. However, the runtime can never assume that a [no_nested_conflict] begin_unpaired_access will have a corresponding end_unpaired_access call without adding a new ExclusivityFlag for that purpose.
21 KiB
21 KiB