# About reassigning self in classes

**URL:** <https://forums.swift.org/t/about-reassigning-self-in-classes/33813>\
**Category:** Using Swift\
**Created:** [February 14, 2020, 8:10am UTC](https://forums.swift.org/t/about-reassigning-self-in-classes/33813 "2020-02-14T08:10:41Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![Lantua](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/lantua/32/8868_2.png) [@Lantua](https://forums.swift.org/u/Lantua)\
**Post date:** [February 14, 2020, 1:16pm UTC](https://forums.swift.org/t/about-reassigning-self-in-classes/33813/4 "2020-02-14T13:16:00Z")

</div>

> [@Mutating Function on Class Type (Possible bug?)](https://forums.swift.org/t/mutating-function-on-class-type-possible-bug/15066/8):
>
> So it's left out of the language to avoid introducing a point of confusion.

I feels like this might be part of the reason.

Reassigning self in class may mean 2 things:

- Change only the reference calling the function
- Change **all** references referring to the class

Which ever we choose is gonna cause confusion to the other half (not to mention complexity to do the latter).

Reassigning self in protocol doesn’t seem to have as many interpretation.

---

_[View the full topic](https://forums.swift.org/t/about-reassigning-self-in-classes/33813)._
