The lines
unsafe impl<H> Send for Interpreter<H> where H: Handler + Send {}
unsafe impl<H> Sync for Interpreter<H> where H: Handler + Send {}
aren't true because dyn RegionHandler might not be Send/Sync.
I can see that facs is safe to declare Send or Sync because only the global_lock field is actually used.
I'm sure there's some generic-types magic to resolve this. Alternatively it might be desirable to constrain the RegionHandlers to be Send + Sync, but that'd technically be a breaking API change.
The lines
aren't true because
dyn RegionHandlermight not be Send/Sync.I can see that
facsis safe to declare Send or Sync because only theglobal_lockfield is actually used.I'm sure there's some generic-types magic to resolve this. Alternatively it might be desirable to constrain the RegionHandlers to be Send + Sync, but that'd technically be a breaking API change.