# Syntax sugar for enum

**URL:** <https://internals.rust-lang.org/t/syntax-sugar-for-enum/20498>\
**Category:** language design\
**Created:** [March 19, 2024, 10:08am UTC](https://internals.rust-lang.org/t/syntax-sugar-for-enum/20498 "2024-03-19T10:08:13Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![RaspberryBerries](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/raspberryberries/32/10891_2.png) [@RaspberryBerries](https://internals.rust-lang.org/u/RaspberryBerries)\
**Post date:** [March 19, 2024, 10:08am UTC](https://internals.rust-lang.org/t/syntax-sugar-for-enum/20498/1 "2024-03-19T10:08:13Z")

</div>

Sometimes code may be like on:

```rust
enum Variants {
    Variant1(String),
    Variant2(String),
    Variant3(String),
    ...
}

```

But, I am think this synax would better:

```rust
enum Variants(String) {
    Variant1,
    Variant2,
    Variant3,
    ...
}

```

---

<div class="post-metadata">

**Author:** ![tczajka](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/tczajka/32/8923_2.png) [@tczajka](https://internals.rust-lang.org/u/tczajka)\
**Post date:** [March 19, 2024, 10:12am UTC](https://internals.rust-lang.org/t/syntax-sugar-for-enum/20498/2 "2024-03-19T10:12:13Z")

</div>

That's a product type:

```rust
struct Variants(String, Variant);

enum Variant {
    Variant1,
    Variant2,
    Variant3,
}

```

---

<div class="post-metadata">

**Author:** ![RaspberryBerries](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/raspberryberries/32/10891_2.png) [@RaspberryBerries](https://internals.rust-lang.org/u/RaspberryBerries)\
**Post date:** [March 19, 2024, 10:20am UTC](https://internals.rust-lang.org/t/syntax-sugar-for-enum/20498/3 "2024-03-19T10:20:38Z")

</div>

yes, can do something similar to this, but it needs 1 more line compared to my variant syntax

---

<div class="post-metadata">

**Author:** ![SkiFire13](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/skifire13/32/7579_2.png) [@SkiFire13](https://internals.rust-lang.org/u/SkiFire13)\
**Post date:** [March 19, 2024, 10:26am UTC](https://internals.rust-lang.org/t/syntax-sugar-for-enum/20498/4 "2024-03-19T10:26:16Z")

</div>

I don't think that complicating the language even more is worth just one line of code.

---

<div class="post-metadata">

**Author:** ![system](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/system/32/14092_2.png) [@system](https://internals.rust-lang.org/u/system)\
**Post date:** [June 17, 2024, 10:27am UTC](https://internals.rust-lang.org/t/syntax-sugar-for-enum/20498/5 "2024-06-17T10:27:14Z")

</div>

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