# Ownership adoption case study: building a wrapper type

**URL:** <https://forums.swift.org/t/ownership-adoption-case-study-building-a-wrapper-type/85275>\
**Category:** Using Swift\
**Tags:** ownership\
**Created:** [March 11, 2026, 11:03am UTC](https://forums.swift.org/t/ownership-adoption-case-study-building-a-wrapper-type/85275 "2026-03-11T11:03:46Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![Andrew\_Trick](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/andrew_trick/32/323_2.png) [@Andrew\_Trick](https://forums.swift.org/u/Andrew_Trick)\
**Post date:** [March 12, 2026, 10:49pm UTC](https://forums.swift.org/t/ownership-adoption-case-study-building-a-wrapper-type/85275/2 "2026-03-12T22:49:53Z")

</div>

> str1.myMutableExt.mutatingMethod() // ❌ sorry, but not working

We always planned to fix this but haven't committed to a solution. @John_McCall alluded the "re-borrowing" approach here: [`exclusive` parameter ownership modifier - #23 by John\_McCall](https://forums.swift.org/t/exclusive-parameter-ownership-modifier/83503/23)

While I don't think it's been pitched yet, I like everything about it... except the name :) It should be called the "exclusive-copy" approach.

The Mutable/Immutable type dichotomy is annoying but pretty fundamental to Swift ownership as @John_McCall explained here:

> [@Safe element ownership for lifetime-restricted buffer types](https://forums.swift.org/t/safe-element-ownership-for-lifetime-restricted-buffer-types/64405):
>
> The Swift standard library currently provides some buffer types: UnsafeBufferPointer and so on. Other than being well-typed about the elements they store, these types are essentially completely unsafe: not only do they not represent ownership of the underlying memory, they also don't provide any static information about the ownership of the values stored in that memory; in fact, there might not even be any values in that memory because it could be totally uninitialized (or partially uninitializ…

I’ll leave it to others to suggest struct-extension alternatives.

---

_[View the full topic](https://forums.swift.org/t/ownership-adoption-case-study-building-a-wrapper-type/85275)._
