# Request for an RFC: pimpl for Rust

**URL:** <https://internals.rust-lang.org/t/request-for-an-rfc-pimpl-for-rust/10947>\
**Category:** compiler\
**Created:** [September 14, 2019, 9:47pm UTC](https://internals.rust-lang.org/t/request-for-an-rfc-pimpl-for-rust/10947 "2019-09-14T21:47:25Z")\
**Posts on this page:** 1\
**Showing post:** 10

<div class="post-metadata">

**Author:** ![CAD97](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/cad97/32/3460_2.png) [@CAD97](https://internals.rust-lang.org/u/CAD97)\
**Post date:** [September 16, 2019, 5:17am UTC](https://internals.rust-lang.org/t/request-for-an-rfc-pimpl-for-rust/10947/10 "2019-09-16T05:17:23Z")

</div>

See also, wherein I sketch what a minimal "private impl" "stable ABI" could look like:

> [@\[Sketch\] Minimal pimpl-style "stable ABI"](https://internals.rust-lang.org/t/sketch-minimal-pimpl-style-stable-abi/10952):
>
> TL;DR: allow a crate to specify abi = "stable" or similar in Cargo.toml. If it exposes anything that doesn't have a defined ABI (i.e. is repr(Rust)/extern "Rust"), fail compilation. This is a very unbaked sketch based on a few ideas I had in the wake of @matklad's [pimpl post](https://internals.rust-lang.org/t/request-for-an-rfc-pimpl-for-rust/10947). This is not intended to be a short term target nor really a direct suggestion, rather a starting point for discussion on what a hyper minimal stable ABI could look like for Rust. My proposal is that we add a new library…

---

_[View the full topic](https://internals.rust-lang.org/t/request-for-an-rfc-pimpl-for-rust/10947)._
