# Solving the bootstrap problem

**URL:** <https://internals.rust-lang.org/t/solving-the-bootstrap-problem/3269>\
**Category:** tools and infrastructure\
**Created:** [March 20, 2016, 7:09pm UTC](https://internals.rust-lang.org/t/solving-the-bootstrap-problem/3269 "2016-03-20T19:09:53Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![sorear](https://avatars.discourse-cdn.com/v4/letter/s/ecb155/32.png) [@sorear](https://internals.rust-lang.org/u/sorear)\
**Post date:** [March 20, 2016, 9:56pm UTC](https://internals.rust-lang.org/t/solving-the-bootstrap-problem/3269/2 "2016-03-20T21:56:40Z")

</div>

This has come up a couple of times before. Recent examples:

> **[Possible to build rust without using blobs at all?](https://users.rust-lang.org/t/possible-to-build-rust-without-using-blobs-at-all/4797/11?u=sorear)**
>
> Here's a thought: would there be value in a "bootstrap-friendly" Rust interpreter in something more broadly supported (like C) that omits all the correctness analysis, and just assumes the code its given is correct? I'm not sure how much...

> [@Should it be possible to translate (“transpile”) a Rust program to C11?](https://internals.rust-lang.org/t/should-it-be-possible-to-translate-transpile-a-rust-program-to-c11/3183):
>
> Should it be possible to write a program that, given a Rust program, spits out a C11 program that does the same thing? Is it possible today? This question affects many language points such as the memory model and how volatile reads and writes work. In particular, AFAICT, one cannot implement LLVM’s volatile reads and writes in ISO C11, because LLVM’s volatile read and write primitives cannot be expressed in C. My own opinion is that it would be a useful experiment to build such a translator be…

For my part I'm skeptical; yes, you can get by without borrowck or dropck, but you still need typeck because it controls overloading and name resolution, and Rust has return type overloading so you can't cheat with a dynamically typed implementation. Very interested to see what people can come up with though.

---

_[View the full topic](https://internals.rust-lang.org/t/solving-the-bootstrap-problem/3269)._
