Discussion summary

A project called `crustc` translates Rust to C, sparking varied opinions on its purpose and implications. Some see it as a way to improve portability and debugging, while others question its direction.

What the discussion says

  • Some believe it broadens debugging help for portability issues.
  • Others think it might lead to feature creep or trust issues with Microsoft/ISO.
  • Critics warn about AI-generated content and its impact on discussions.
  • Enthusiasts appreciate the project's name and concept.
  • There is excitement about Rust and C competition.
Rust is finally memory safe enough to become C
micheleeet
Let Rust vs C battle commence with renewed haste!
moezd

Comments

Hacker News

Finally we can rewrite all the Rust in C. ;)

by layer8

> The primary goal of this is support for old/obscure hardware with no LLVM/GCC support. There are still some systems out there that don't support Rust but support C.

The landing page mentions Plan 9 as one of the systems.

by Cadwhisker

This could be used within https://bootstrappable.org/projects.html to make bootstrappability of rust incredibly much easier other than the previous route of OCaml and other things.

I know some folks within the bootstrappable OS projects community are on Hackernews and I hope that they could take a look at this. I feel as if this project could drastically shrink down the efforts needed to get a working rust compiler in a bootstrappable manner.

by Imustaskforhelp

> I put my left hand in a blender. The blender won. (Still have all my fingers, just some stitches). I will not elaborate further.

What a shame. I would've read an article about this.

by ronsor

Very cool. At first, I thought it was yet another LLM-generated demo, but no: original work of art. Super cool. Transpiling into C does seem easier than LLVM IR, and letting GCC optimize seems like this might actually work.

Excited to see the compiler implementation when it's out -- a lot to learn from.

by levkk

Have you tried Diverse Double-Compiling (DDC) to test if the official rust compiler has a backdoor?

Use crustc to compile the rust source code, producing a new compiler. Then use this new compiler and the official rustc binary, both with deterministic flags, to compile the rust source code again. The two outputs should match bit for bit.

by taris2

> For the past 3 years, I have been working on compiling Rust to C. .. This is, by my count, the 14th attempt: cilly

Gotta respect the dedication to a niche interest.

> The primary goal of this is support for old/obscure hardware with no LLVM/GCC support.

I remember reading about the bootstrapping question, how it typically requires a Rust compiler to build the Rust compiler from source. https://bootstrapping.miraheze.org/wiki/Bootstrapping_Specif...

Oh, but I see there's a C++ implementation of the Rust compiler. https://github.com/thepowersgang/mrustc

Anyway, this part sounds useful too, that crustc can compile across network and devices.

> You build a small C server on your Blorbo OS, run rustc on some normal platform like Linux, and let cilly talk over the wire.

by lioeters

Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • Finally we can rewrite all the Rust in C. ;)
  • > The primary goal of this is support for old/obscure hardware with no LLVM/GCC support. There are still some systems out there that don't support Rust but support C.

    The landing page mentions Plan 9 as one of the systems.

  • This could be used within https://bootstrappable.org/projects.html to make bootstrappability of rust incredibly much easier other than the previous route of OCaml and other things.

    I know some folks within the bootstrappable OS projects community are on Hackernews and I hope that they could take a look at this. I feel as if this project could drastically shrink down the efforts needed to get a working rust compiler in a bootstrappable manner.

  • Wait, I thought LLVM had a C backend which could be used for the purpose of transpiling Rust to C? Turns out not for a long time, but now maybe again: https://discourse.llvm.org/t/re-ann-llvm-c-backend-still-abl...
  • > I put my left hand in a blender. The blender won. (Still have all my fingers, just some stitches). I will not elaborate further.

    What a shame. I would've read an article about this.

  • Very cool. At first, I thought it was yet another LLM-generated demo, but no: original work of art. Super cool. Transpiling into C does seem easier than LLVM IR, and letting GCC optimize seems like this might actually work.

    Excited to see the compiler implementation when it's out -- a lot to learn from.

  • Have you tried Diverse Double-Compiling (DDC) to test if the official rust compiler has a backdoor?

    Use crustc to compile the rust source code, producing a new compiler. Then use this new compiler and the official rustc binary, both with deterministic flags, to compile the rust source code again. The two outputs should match bit for bit.

  • > For the past 3 years, I have been working on compiling Rust to C. .. This is, by my count, the 14th attempt: cilly

    Gotta respect the dedication to a niche interest.

    > The primary goal of this is support for old/obscure hardware with no LLVM/GCC support.

    I remember reading about the bootstrapping question, how it typically requires a Rust compiler to build the Rust compiler from source. https://bootstrapping.miraheze.org/wiki/Bootstrapping_Specif...

    Oh, but I see there's a C++ implementation of the Rust compiler. https://github.com/thepowersgang/mrustc

    Anyway, this part sounds useful too, that crustc can compile across network and devices.

    > You build a small C server on your Blorbo OS, run rustc on some normal platform like Linux, and let cilly talk over the wire.