# SE-0377: borrow and take parameter ownership modifiers

**URL:** <https://forums.swift.org/t/se-0377-borrow-and-take-parameter-ownership-modifiers/61020>\
**Category:** Proposal Reviews\
**Created:** [October 25, 2022, 5:38pm UTC](https://forums.swift.org/t/se-0377-borrow-and-take-parameter-ownership-modifiers/61020 "2022-10-25T17:38:43Z")\
**Posts on this page:** 1\
**Showing post:** 14

<div class="post-metadata">

**Author:** ![dabrahams](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/dabrahams/32/9815_2.png) [@dabrahams](https://forums.swift.org/u/dabrahams)\
**Post date:** [October 28, 2022, 5:00pm UTC](https://forums.swift.org/t/se-0377-borrow-and-take-parameter-ownership-modifiers/61020/14 "2022-10-28T17:00:11Z")

</div>

> `borrow` will still be the default in almost all cases

Huh, maybe I have misunderstood all along. I didn't think `borrow` was currently the default; my understanding was that retains are omitted but for small types, bits might be copied. I guess that's not distinguishable from `borrow` for copiable types which I guess is what I was saying.

> so you shouldn't have to write it much

So the only place you'd be writing it is, e.g. for initializer parameters that you don't want to consume?

That sounds pretty good!

> to avoid aliasing writes to shared mutable state in the former case

Sorry, I don't quite see how that plays out. We're talking about copies implicitly generated by the compiler, but a `borrowed` variable is immutable, so you can only mutate a different variable; if there's a copy involved it seems like it would have to be made explicitly by the user. And if you mean it's sharing state behind-the-scenes, no amount of copying will avoid the aliasing. Could you explain?

> to preserve the lifetime of a value the caller either still needs to keep around for itself, or doesn't have ownership of in the first place, in the latter

That makes total sense; it's a place we'd be telling the user to make an explicit copy in Val (unless they turn on `@implicitcopy`). Maybe the models are closer than I thought. /cc @Alvae

---

_[View the full topic](https://forums.swift.org/t/se-0377-borrow-and-take-parameter-ownership-modifiers/61020)._
