What backwards-incompatible changes would you make in a hypothetical Rust 2.0?

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

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. rust

    Empowering everyone to build reliable and efficient software.

    Vec::retain(...) closure should receive &mut T instead of &T. E.g.: Both ArrayVec and SmallVec use F: FnMut(&mut T) -> bool. (https://github.com/rust-lang/rust/issues/25477)

  2. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  3. turbo.fish

    ::<> ⠀ https://turbo.fish/ ⠀ <>::

  4. rfcs

    RFCs for changes to Rust

    Cloning `Rc/Arc` into closures is a genuine pain point — this is the situation I'm talking about here.

  5. wg-allocators

    Home of the Allocators working group: Paving a path for a standard set of allocator traits to be used in collections!

  6. repos

    struct GithubClient { http: H, // .. } #[test] fn test_repo() { let gh = GithubClient::new(httpclient_from_fn(|request| { assert_eq!(request.uri(), "https://github.com/api/repos/rust-lang/rust"); Ok(Response { .. }) })); let repo = gh.get_repo("rust-lang", "rust").unwrap(); assert_eq!(repo.owner, "rust-lang"); assert_eq!(repo.name, "rust"); }

  7. penne

    Penne is a pasta-oriented programming language that favors the goto-statement for flow control.

    There are basically two options: - the (Scopes)[http://scopes.rocks] reference logic - the (Penne)[https://github.com/SLiV9/penne] reference logic

  8. tao

    A statically-typed functional language with generics, typeclasses, sum types, pattern-matching, first-class functions, currying, algebraic effects, associated types, good diagnostics, etc. (by zesterer)

    If you want some prior work on this, I've implemented effect-objects-as-return-values in my own language Tao, using uniqueness types. There's still work to be done, but I think it's sufficient as a proof of concept that this approach is viable without type soup.

  9. SaaSHub

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

    SaaSHub logo
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

  • What are Rust’s biggest weaknesses?

    7 projects | /r/rust | 17 Nov 2022
  • Crabtime: Zig's Comptime in Rust

    5 projects | news.ycombinator.com | 22 Mar 2025
  • 5 Best Programming Languages to Learn: Decoding the Future

    4 projects | dev.to | 22 Feb 2025
  • Inko: A language for building concurrent software with confidence

    1 project | news.ycombinator.com | 14 Feb 2025
  • Perhaps Rust Needs "Defer"

    2 projects | news.ycombinator.com | 6 Nov 2024

Did you know that Rust is
the 5th most popular programming language
based on number of references?