Skip to content

v0.3.0

Latest
Compare
Choose a tag to compare
@bertptrs bertptrs released this 13 Sep 10:08
· 4 commits to master since this release
43df59a

Added

  • The minimum supported Rust version is now defined as 1.70. Previously it was undefined.
  • Wrappers for std::sync primitives can now be const constructed.
  • Add support for std::sync::OnceLock
  • Added backtraces of mutex allocations to the cycle report. Capturing backtraces does incur some overhead, this can be mitigated by disabling the backtraces feature which is enabled by default.

Breaking

  • Update parking_lot dependency to 0.12.
  • Restructured the crate to reduce typename verbosity. Wrapper names now match the name of the primitive they wrap. Specific always/debug tracing versions have now moved to separate modules. For example, tracing_mutex::stdsync::TracingMutex is now tracing_mutex::stdsync::tracing::Mutex, and tracing_mutex::stdsync::DebugMutex is now called tracing_mutex::stdsync::Mutex. This hopefully reduces the visual noise while reading code that uses this in practice. Unwrapped primitives are reexported under tracing_mutex::stdsync::raw for convenience.

Fixed

  • Enforce that all internal mutex guards are !Send. They already should be according to other reasons, but this adds extra security through the type system.