Shared mutability in Rust Part 2 of 3: Acyclic graphs

Summary

  • Child entities which are both mutable and shared can make any, or all of their parents invalid.
  • In freeform shared mutability, we cannot cache any calculation that depends on a shared mutable entity.
  • If we limit the scope of sharing to code we trust not to invalidate our cache, then we can cache results as much as we like.
  • Limiting the scope of sharing implies that we have some kind of container entity: an Arena.

--

--

--

The stories I write are a part of a learning journey through life, logic and programming. Share this journey with me.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Python: Beyond the basics II

Batch, Docker and Machine Learning

A Guide to Python Decorators

5 DevOps tools you should know in 2019

devops automation tools

Memorable Git Commit Messages

Understanding Logical Operators in Python

Accessibility to New Technologies

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Andrew Pritchard

Andrew Pritchard

The stories I write are a part of a learning journey through life, logic and programming. Share this journey with me.

More from Medium

WebAssembly x Rust, a Deadly Combination!

WebApps: A Simple Windowed Application

Adding an executable target to a Rust library

Daily Native Dev: Rust & Sentry story