# SE-0366: Move Function + "Use After Move" Diagnostic

**URL:** <https://forums.swift.org/t/se-0366-move-function-use-after-move-diagnostic/59202>\
**Category:** Proposal Reviews\
**Tags:** ownership, performance, arc\
**Created:** [July 25, 2022, 4:03pm UTC](https://forums.swift.org/t/se-0366-move-function-use-after-move-diagnostic/59202 "2022-07-25T16:03:14Z")\
**Posts on this page:** 1\
**Showing post:** 154

<div class="post-metadata">

**Author:** ![Joe\_Groff](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/joe_groff/32/1929_2.png) [@Joe\_Groff](https://forums.swift.org/u/Joe_Groff)\
**Post date:** [August 8, 2022, 7:21pm UTC](https://forums.swift.org/t/se-0366-move-function-use-after-move-diagnostic/59202/154 "2022-08-08T19:21:22Z")

</div>

Unlike `move` and `borrow`, which place extra constraints on the typical compiler behavior, `copy`'s behavior is captured pretty much by just a regular function:

```swift
func copy<T>(_ x: borrow T) -> T {
  return x
}

```

---

_[View the full topic](https://forums.swift.org/t/se-0366-move-function-use-after-move-diagnostic/59202)._
