What do you NOT like about Rust?

This page summarizes the projects mentioned and recommended in the original post on /r/rust

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • rfcs

    RFCs for changes to Rust

    Still missing named/default parameters. I know that's a bit of a controversial addition, but the boilerplate from alternative methods (such as the builder pattern) really bothers me. The RFC about adding this is here if anyone is interested. Seems to be generally approved of, but the implementation is difficult.

  • rust

    Empowering everyone to build reliable and efficient software.

    I have mixed feelings about this one. I have wanted a version of HashSet::get_or_insert_owned since I first started playing with Rust around 1.0 and it's more or less stagnant for years, but more often than not I appreciate the care and effort it takes to get something very close to right and avoid too much incidental complication and baggage.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • docs.rs

    crates.io documentation generator

    As a beginner Rust developer, the lack of tutorials for a lot of things is really frustrating. Very often the response to "how to do X" is "read the docs," but when all there is is what's on docs.rs it can get really overwhelming very quickly.

  • wasmer

    🚀 The leading Wasm Runtime supporting WASIX, WASI and Emscripten

    Have you looked into either abi_stable (a crate that handles the repr(C) stuff for you with a focus aimed at making DLLs) or Wasmer (an embeddable WebAssembly runtime that would mean mods compiled for x86 Windows would also work on PowerPC Linux and ARM macOS)?

  • PyO3

    Rust bindings for the Python interpreter

    Have you looked into abi_stable, flapigen, interoptopus, cbindgen, PyO3, or rust-cpython?

  • rust-cpython

    Rust <-> Python bindings

    Have you looked into abi_stable, flapigen, interoptopus, cbindgen, PyO3, or rust-cpython?

  • puffin

    🐦 Friendly little instrumentation profiler for Rust 🦀

    Can recommend puffin. Won't be as feature complete as the others, but it's implemented in Rust and seems to work quite well once it's setup.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • crates.io

    The Rust package registry

    I also understand that the Rust team doesn't "want to take sides", but IMHO, there should be a curated list of well-supported libraries with a good track record, or some sort of epic filtering function in crates.io (but maybe I've missed it, because I'm adverse to installing dependencies unless I _really_ have to, or an alternative implementation gives much better performance, such as crossbeam vs std channels).

  • propane

    generators

    If you can use nightly, just use https://github.com/withoutboats/propane

  • serenity

    A Rust library for the Discord API. (by serenity-rs)

    Yes, I have one more example that personally affects me. I made discord bots in Python. And the pong example of Serenity was a lot of code. https://github.com/serenity-rs/serenity as compared with discordpy https://discordpy.readthedocs.io/en/stable/quickstart.html

  • urwid

    Console user interface library for Python (official repo)

    As someone coming from Python, I've had more than enough opaque duck-typed errors from urwid and I'd like my error messages to fit on one page.

  • validator

    Simple validation for Rust structs (by Keats)

    If you really want duck-typing, take a look at how the validator crate uses macros to achieve something similar. (Seriously. It was a real head-scratcher the first time I discovered it would accept and use my impls as long as the method names matched.)

  • project-error-handling

    Error handling project group

    without trolling https://github.com/rust-lang/project-error-handling exist and is far from having strong conclusion and anyway I will always favor enum Error anyway however I like the idea to have a opaque box in the enum for "this is a opaque error you can't deal with as a user of my api"

  • goformat

    Alternative to gofmt with configurable formatting style (indentation etc.)

    You'd prefer that people like me follow the road the Go ecosystem did and write goformat as a replacement for gofmt or just continue to hand-format everything?

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts