[swift-evolution] RFC: Preventing Retain Cycles (Memory Ownership Model)
Andrew Bennett
cacoyi at gmail.com
Fri Jul 29 20:42:11 CDT 2016
I'd like an *opt-in* way to verify and prevent *unintentional strong
references* in Swift.
This can be used to verify ownership structures, and ultimately avoid
retain cycles.
Read a draft proposal here:
https://github.com/therealbnut/swift-evolution/blob/therealbnut-explicit-ownership/proposals/NNNN-explicit-ownership-type-attribute.md
TL;DR:
If you have any questions please read the proposal before asking here.
It's an opt-in attribute that defines a whitelist of types something can
own. For example:
@owns(TypeA, TypeB) struct TypeC { ... }
I wrote this a few months ago, but we weren't accepting additive proposals.
Now we're explicitly looking for something like this:
Memory ownership model: Adding an (opt-in) Cyclone/Rust inspired memory
> ownership model to Swift is highly desired by systems programmers and folks
> who want predictable and deterministic performance (for example, in real
> time audio processing code). More pertinent to the goals of Swift 4, this
> feature is important because it fundamentally shapes the ABI. It informs
> code generation for “inout", how low-level “addressors” work in the ABI,
> impacts the Swift runtime, and will have a significant impact on the type
> system and name mangling.
> - Chris
> <https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160725/025676.html>
----
Here's a link to the version of the proposal
<https://github.com/therealbnut/swift-evolution/commit/6ab167825d802c7826804e1957eb515d3009743a>
when
I sent this email.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160730/ae9c98a5/attachment.html>
More information about the swift-evolution
mailing list