# Idea: Properties

**URL:** <https://internals.rust-lang.org/t/idea-properties/11152>\
**Category:** language design\
**Created:** [October 19, 2019, 11:36pm UTC](https://internals.rust-lang.org/t/idea-properties/11152 "2019-10-19T23:36:39Z")\
**Posts on this page:** 1\
**Showing post:** 32

<div class="post-metadata">

**Author:** ![RustyYato](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/rustyyato/32/13627_2.png) [@RustyYato](https://internals.rust-lang.org/u/RustyYato)\
**Post date:** [October 24, 2019, 6:34am UTC](https://internals.rust-lang.org/t/idea-properties/11152/32 "2019-10-24T06:34:50Z")

</div>

> [@josh](#):
>
> shared reference you cannot mutate

But this is wrong. You can mutate through a shated reference, for example, atomics. That us the entire point of staying away from the mutability view. Using `get`/`set` terminology is actively misleading because it gives the impression that you can't mutate fields that you only have `get` access to. I think that this will be a source of bugs that will only be explainable by using the exclusivity view, so we should just stay aligned to that from the start.

This is why I used the `ref` keyword in my syntax proposal. I think @CAD97's proposal is also nice, but I find it a little confising. I think that I just need to look over it again in mord detail.

* * *

One thing that didn't come up, can you move out of these fields, in the case there is no `Drop` impl?

---

_[View the full topic](https://internals.rust-lang.org/t/idea-properties/11152)._
