# \[closed\] About &mut T

**URL:** <https://internals.rust-lang.org/t/closed-about-mut-t/23397>\
**Category:** language design\
**Created:** [August 15, 2025, 1:54am UTC](https://internals.rust-lang.org/t/closed-about-mut-t/23397 "2025-08-15T01:54:56Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![dylan\_h\_wilson](https://avatars.discourse-cdn.com/v4/letter/d/8e8cbc/32.png) [@dylan\_h\_wilson](https://internals.rust-lang.org/u/dylan_h_wilson)\
**Post date:** [August 15, 2025, 1:54am UTC](https://internals.rust-lang.org/t/closed-about-mut-t/23397/1 "2025-08-15T01:54:56Z")

</div>

**My ideas are not comprehensive enough. so the post is closed.**

I am a beginner in Rust.

This writing style used to confuse me.

```rust
fn mutate_and_share(&mut self) -> &Self {}

```

I found it equivalent to this writing style.

```rust
fn mutate_and_share(self: &mut Self) -> &Self {}

```

I think this writing style is more reasonable.

```rust
// mut&T
fn mutate_and_share(self: mut&Self) -> &Self {}
// or a simpler way $T
fn mutate_and_share(self: $Self) -> &Self {
}
// If there are more modifications in the future
// My idea is not yet perfect.It seems like there is more confusion.
fn mutate_and_share(self: keyword $Self) -> &Self {
}

```

---

<div class="post-metadata">

**Author:** ![josh](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/josh/32/5934_2.png) [@josh](https://internals.rust-lang.org/u/josh)\
**Post date:** [August 15, 2025, 2:35am UTC](https://internals.rust-lang.org/t/closed-about-mut-t/23397/2 "2025-08-15T02:35:34Z")

</div>

> **[Frequently Requested Changes - The Rust Language Design Team](https://lang-team.rust-lang.org/frequently-requested-changes.html#fundamental-changes-to-rust-syntax)**

---

<div class="post-metadata">

**Author:** ![mathstuf](https://avatars.discourse-cdn.com/v4/letter/m/958977/32.png) [@mathstuf](https://internals.rust-lang.org/u/mathstuf)\
**Post date:** [August 15, 2025, 2:41am UTC](https://internals.rust-lang.org/t/closed-about-mut-t/23397/3 "2025-08-15T02:41:41Z")

</div>

`mut &Self` already has meaning: a mutable instance of a `&Self` (though it is kind of confusing for it to be an actual `self` binding). Reformulating to `u32`, we have:

```rust
let mut k = &1_u32;
k = &2; // It can be updated to point to another `&u32`.

```

> `$Self`

Why a new sigil? Rust already has the component bits well-defined and in wide-spread use such that seeing the individual bits makes more sense to me. I don't do Perl often, but deciphering the different sigils is always a pain when trying to fix some ancient Perl script.

---

<div class="post-metadata">

**Author:** ![dylan\_h\_wilson](https://avatars.discourse-cdn.com/v4/letter/d/8e8cbc/32.png) [@dylan\_h\_wilson](https://internals.rust-lang.org/u/dylan_h_wilson)\
**Post date:** [August 15, 2025, 2:48am UTC](https://internals.rust-lang.org/t/closed-about-mut-t/23397/5 "2025-08-15T02:48:36Z")

</div>

**Thank you for your reply. you are right, My ideas indeed are not very reasonable.**

---

<div class="post-metadata">

**Author:** ![josh](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/josh/32/5934_2.png) [@josh](https://internals.rust-lang.org/u/josh)\
**Post date:** [August 15, 2025, 6:41am UTC](https://internals.rust-lang.org/t/closed-about-mut-t/23397/6 "2025-08-15T06:41:26Z")

</div>

This one idea wasn't one we're likely to run with, but the instinct to see things and consider changing them to better suit your purposes is a good instinct. You'll have better ideas in the future, to evolve things in compatible directions. 🙂

---

<div class="post-metadata">

**Author:** ![steffahn](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/steffahn/32/13288_2.png) [@steffahn](https://internals.rust-lang.org/u/steffahn)\
**Post date:** [August 29, 2025, 6:42am UTC](https://internals.rust-lang.org/t/closed-about-mut-t/23397/7 "2025-08-29T06:42:01Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
