# Interaction between non-escapable types

**URL:** <https://forums.swift.org/t/interaction-between-non-escapable-types/90506>\
**Category:** Using Swift\
**Tags:** nonescaping\
**Created:** [November 5, 2026, 4:34pm UTC](https://forums.swift.org/t/interaction-between-non-escapable-types/90506 "2026-11-05T16:34:00Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![mattie](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/mattie/32/13267_2.png) [@mattie](https://forums.swift.org/u/mattie)\
**Post date:** [November 5, 2026, 8:04pm UTC](https://forums.swift.org/t/interaction-between-non-escapable-types/90506/4 "2026-11-05T20:04:52Z")

</div>

Thank you both so much! Some quick follow up. This all makes a lot of sense to me. I'm getting there!

Are the effects of `public` possibly just a bug then?  
Is the use of the term "Escapable" a bug in the diagnostic?

Also, some meta-feedback, in case anyone working on ~Copyable and/or ~Escapable is reading. I find it quite confusing that the following code _disallows_ an (in my opinion) intuitive default of `borrowing`, but the initializers of `~Escapable` allow an implicit default that is (again, of course, my opinion) very subtle.

```swift
struct NonCopyable: ~Copyable {}

struct User {
	// error: Parameter of noncopyable type 'NonCopyable' must specify ownership
	func take(_ nc: NonCopyable) {
	}
}

```

But I'm not sure how relevant this is given that the lifetimes system could be changing. Is there anywhere I could get more information on this?

---

_[View the full topic](https://forums.swift.org/t/interaction-between-non-escapable-types/90506)._
