# Fields in Traits

**URL:** <https://internals.rust-lang.org/t/fields-in-traits/6933>\
**Category:** language design\
**Created:** [March 6, 2018, 11:23pm UTC](https://internals.rust-lang.org/t/fields-in-traits/6933 "2018-03-06T23:23:44Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![GolDDranks](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/golddranks/32/1158_2.png) [@GolDDranks](https://internals.rust-lang.org/u/GolDDranks)\
**Post date:** [March 7, 2018, 8:54am UTC](https://internals.rust-lang.org/t/fields-in-traits/6933/3 "2018-03-07T08:54:09Z")

</div>

It also effectively prevents enums from implementing the trait. I’d like to see some way to weasel oneself out from the necessity of a there to be an actual backing field – even if it were unsafe: one could override the “fieldness” with an unsafe implicitly called method that returned a reference to a memory location, and the unsafe code promises not to have side-effects and that the memory location is disjunct from other memory locations provided by the other fields. Of course this is just a strawman idea, and one with quite a lot of downsides…

---

_[View the full topic](https://internals.rust-lang.org/t/fields-in-traits/6933)._
