tinymist_analysis::adt

Module interner

Source
Expand description

Global Arc-based object interning infrastructure.

Eventually this should probably be replaced with salsa-based interning.

todo: This is less efficient as the arc object will change its reference count every time it is cloned. todo: we may be able to optimize use by following approach:

fn run_analyze(f) {
  let local = thread_local_intern();
  let res = f(local);
  std::thread::spawn(move || gc(local));
  return res
}

However, this is out of scope for now.

Re-exports§

  • pub use crate::_impl_internable as impl_internable;

Structs§

Statics§

Traits§