0867f99be1
Motivation: With reference counting it can be difficult to keep track of ownership and references. When bugs arise in this area, it's good to get help from some tooling. Modification: Add a LifecycleTracer which records lifecycle changes. This information can be attached to any lifecycle/ownership exceptions as suppressed exceptions. The tracing is off by default, unless assertions are enabled. Result: It's now easier to debug reference counting/lifecycle/ownership issues.