# Pre-RFC: \`#\[derive(From)\]\` for newtypes

**URL:** https://internals.rust-lang.org/t/pre-rfc-derive-from-for-newtypes/22567
**Category:** language design
**Created:** [March 15, 2025, 1:32pm UTC](https://internals.rust-lang.org/t/pre-rfc-derive-from-for-newtypes/22567 "2025-03-15T13:32:19Z")
**Posts on this page:** 1
**Showing post:** 6

<div class="post-metadata">

### Author: ![Nemo157](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/nemo157/32/11585_2.png) [@Nemo157](https://internals.rust-lang.org/u/Nemo157)
#### Post date: [March 16, 2025, 9:27am UTC](https://internals.rust-lang.org/t/pre-rfc-derive-from-for-newtypes/22567/6 "2025-03-16T09:27:09Z")

</div>

> [@Kobzol](#):
>
> I propose to enable `#[derive(From)]` in a single place - when used on a tuple struct with a single field. In this case, it is 100% clear what should the compiler do, and there is (in my opinion) no question about how should such a derive be expanded.

I see at least two ways to expand it `impl From<Inner> for Wrapper` and `impl<T> From<T> for Wrapper where Inner: From<T>`

---

_[View the full topic](https://internals.rust-lang.org/t/pre-rfc-derive-from-for-newtypes/22567)._
