Rust programmers: How do you get around Rust's cyclical reference mutability issues?

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

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

    Empowering everyone to build reliable and efficient software.

  • We also use GcCell (Rc> but with cycle tracing, provided by a crate we forked) on everything that is independent of global state. Those things can take &mut self, and for that we have to be very careful about where we take our borrows. We actually create wrapper types around all our interior-mutable state so that the called function can decide when to borrow itself, which would be a lot less cumbersome if we had arbitrary self types stabilized. As it stands we have to do stuff like:

  • nesty

    Rust NES Emulator (by marethyu)

  • 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.

    WorkOS logo
  • rust-z80emu

    A minimalistic Z80 Cpu emulation library in Rust.

  • This was inspired by the approach in rust-z80emu (my CPU is written as a seperate module, hence the MemoryBus trait to provide a clean seperation).

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