Dev tools · alternatives · 2026
24 alternatives to How to program in Rust as if it was old school C++ with pointers
Basically wrap your data struct in Option>> Better yet, use your custom type that provides few helper functions that make using it as nice as old C++ pointers. Obviously there's no pointer arithmetic, but it works great for dynamically allocated structures like trees or linked lists. Please comment how it's a horrible idea that will bring doom to me and my family. fn main() { struct Data { pub number: i32 } // struct Data { int number; }; let mut p:Pointer = Pointer(None); // Data *p = NULL; println!("{}", p.is_none()); // printf(p == NULL ? "true\n" :…
This is a Rust library that wraps data structures in Option<Rc<RefCell<>>> to mimic C++ pointer behavior for developers familiar with that paradigm. It provides helper functions like `is_none()`, `new()`, and… Below are 24 products that do a similar job, ranked by how close each is in meaning and then by launch-day votes. How to program in Rust as if it was old school C++ with pointers launched in 2022; newer entries below may have overtaken it.
- 1

An implementation of a dynamic programming language in Rust. Includes: Parser/Compiler, REPL, Virtual Machine, Bytecode Disassembler This started out as a learning project to teach myself Rust. It has grown into a decently substantial piece of software and I've learned quite a bit in the process! Some neat things: + A garbage collector that can store dynamically sized types without any double-indirection (i.e. I have my own Box implementation with manual alloc/dealloc) + The smart pointer used to reference GCed data is a thin pointer. The ptr metadata needed for DSTs is stored in…
2022 · github.com · its alternatives →
- 2

Layout is a rust library and a tool that renders Graphviz dot files. - nadavrot/layout
2022 · github.com · its alternatives →
- 3

Common data structures and algorithms in Rust. Contribute to EbTech/rust-algorithms development by creating an account on GitHub.
2017 · github.com · its alternatives →
- 4

Hi, I made a bridge (https://github.com/fzyzcjy/flutter_rust_bridge v2.0.0) between Flutter and Rust, which auto translates syntaxes like arbitrary types, &mut, async, traits, results, closure (callback), lifetimes, etc. The goal is to make a bridge between the two, seamlessly as if working in one single language. Then, as an example, I showed how to write Rust applications with GUI by utilizing Flutter. That is discussed in the link in details. To play with it, please visit the GitHub repo, or refer to the end of the article for detailed folders and commands. When I…
2024 · cjycode.com · its alternatives →
- 5

Parse command line arguments by defining a struct. Contribute to p-ranav/structopt development by creating an account on GitHub.
2020 · github.com · its alternatives →
- 6

A little help for programmers, who wants to run C/C++ code in the browser. (This is my second attempt to show it, first time I got banned bcoz of my personal page domain, I don't really understand it why is is suspicious.)
2022 · github.com · its alternatives →
- 7

Contribute to connorwstein/exchange development by creating an account on GitHub.
2020 · github.com · its alternatives →
- 8

Since there is so much interest on HN in floats lately and their software implementations, I wanted to show mine. It has no use and is just for teaching me floats and C++. Give me your thoughts.
2024 · github.com · its alternatives →
- 9

Smart pointers for the (GNU) C programming language - Snaipe/libcsptr
2015 · github.com · its alternatives →
- 10

I've created cppmatch, a lightweight, header-only C++ library that brings Rust-inspired pattern matching and error handling to C++. It tries to imitate the functionality of the questionmark (?) operator in C++ by using a macro that uses the gcc extension https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html This allows to create exceptionless code with non-intrusive error-as-value that unlike Exceptions, makes it clear which kinds of error a function can generate and forces you to handle (or ignore) them. The ? operator translates to *expect* To handle the errors I…
2025 · github.com · its alternatives →
- 11

Meta programming utilities for C++14. Merged in matt-42/lithium - matt-42/iod
2014 · github.com · its alternatives →
- 12

This project is inspired by some of the asserts in Unreal engine. Due to reliance on core_intrinsics it is necessary to develop using nightly Rust, but there are stubs in place so a production build will not require nightly. I recently released version 0.2 which includes no_std support and adds optional log message arguments to the ensure macro.
2024 · github.com · its alternatives →
- 13IB
This weekend I created stacklib.h - a single-header library that brings Forth-style stack operations to C. It implements a basic interpreter with: - Stack operations (push/pop/dup/swap/over/drop) - Arithmetic (+, -, *, /) - Output (., emit, cr) - Stack inspection (.s, depth) Example usage: Stack s; stack_init(&s); dict_init(); exec(&s, "10 20 + ."); // Prints "30" exec(&s, "1 2 3 4 .s"); // Shows stack contents The library is self-contained, requires no dependencies, and handles basic error checking. It was inspired by wanting to understand…
2025 · its alternatives →
- 14

Hi community, we just released https://github.com/tonbo-io/typed-arrow. When working with arrow-rs, we noticed that schemas are declared at runtime. This often leads to runtime errors and makes development less safe. typed-arrow takes a different approach: - Schemas are declared at compile time with Rust’s type system. - This eliminates runtime schema errors. - And introduces no runtime overhead — everything is checked and generated by the compiler. If you’ve run into Arrow runtime schema issues, and your schema is stable (not defined or switched at runtime), this project…
2025 · github.com · its alternatives →
- 15

I've implemented a `pl/0 compiler` in `rust-lang` to fulfill the curriculum design for `Principles of Compiler Design` in my college (NUAA, China). Here's the GitHub repository url: https://github.com/DrEden33773/pl_0 As far as I know, `Rust` is not well adpated (even known) by college students around the world. So, this project is to prove that it's totally possible to design a complete & usable project in Rust for a beginner. This implementation has a complete error handling strategy, which means it could find as many errors as possible in one run, instead of being…
2023 · github.com · its alternatives →
- 16AF
Serialization framework with some interesting numbers: 10-20x faster on nested objects than json/protobuf. Technical approach: compile-time codegen (no reflection), compact binary protocol with meta-packing, little-endian layout optimized for modern CPUs. Unique features that other fast serializers don't have: - Cross-language without IDL files (Rust ↔ Python/Java/Go) - Trait object serialization (Box) - Automatic circular reference handling - Schema evolution without coordination Happy to discuss design trade-offs. Benchmarks:…
Oct 2025 · fory.apache.org · its alternatives →
- 17

Alternative to magic.h and infer. Zero dependencies. Fully extensible. Works in no_std, async, and embedded contexts.
2025 · crates.io · its alternatives →
- 18

"Game" is a stretch, but I put together this repo containing a pure Rust app which uses SDL2 and compiles to WASM (and can be run in a browser). Older resources were a bit out of date and a bit too verbose for my purposes, so here's a minimal working example.
2024 · github.com · its alternatives →
- 19PA
I’m sure many of you are familiar, but there’s a treacherous gap between finding (or building) a model that works in PyTorch, and getting that deployed into your application, especially in consumer-facing applications. I’ve been very interested in solving this problem with a great developer experience. Over time, I gradually realized that the highest-impact thing to have was a way to go from existing Python code to a self-contained native binary—in other words, a Python compiler. I was already pretty familiar with a successful attempt: when Apple introduced armv8 on the iPhone 5s, they…
2025 · blog.fxn.ai · its alternatives →
- 20

Hi HN, In the past few years I've become more interested in machine learning. Since I'm sure the same is true for many here, I wanted to share this project I've been working on: glowstick uses type-directed metaprogramming to keep track of tensor shapes in Rust's type system and determine which operations are permitted or not at compile time. I find Rust has a lot of strengths when it comes to ML applications, but waiting until runtime to find shape related issues feels a bit strange since normally I don't run the code all that often while developing. Given Rust has fancy types available, I…
2025 · github.com · its alternatives →
- 21

Hi! I put together a Rust compiler written in PHP. It takes Rust source code and outputs x86-64 Linux binaries directly. No LLVM, no assembler, no linker. It has a working ownership checker, borrow checker, type checker, structs, functions, control flow, and mutable references. The test suite has 80+ cases. The whole thing is around 2,500 lines of PHP.
Mar 2026 · github.com · its alternatives →
- 22AI
I built this software to help users who need to do static code analysis for C/C++ codebase. This can help you to explore the ASTs interactively. It can replace the Clang ast dump completely and also you can search the code/ASTs in a structual way. For example you can search a function which matches specific name or number of paremeters.
May 2026 · uvic-aurora.github.io · its alternatives →
- 23

Hi HN, I thought this would be a good place to share a little puzzle I've been working on. Inception is a Rust library that helps you share behaviors in Rust using structural induction. Practically, this means that instead of having a derive macro for each behavior, a single derive can be used to enable any number of behaviors. It doesn't do this using runtime reflection, but rather type-level programming - so there is monomorphization across the substructures, and (at least in theory) no greater overhead than with macro expansion. While there are a lot of things missing still and the…
2025 · github.com · its alternatives →
- 24HT
I have a confession to make – in all honesty, I’m not much of a hardware hacker. In my teens, whenever I got home from school, I gravitated more often to coding (or video games) than soldering or robotics.
2024 · rybicki.io · its alternatives →
Also compare
- I'm making a dynamic language in Rust alternatives
- A Graphviz Implementation in Rust alternatives
- Algorithm Cookbook in Rust alternatives
- Rust GUI Library via Flutter alternatives
- Structopt for C++ – Parse command line arguments by defining a struct alternatives
- How to compile C/C++ for WASM, pure Clang, no libs, no framework alternatives
Ranked by how close each launch is in meaning, then by votes. Prices were read from each product’s own site when checked and can change. Refine with your own description →