diff --git a/crates/owlry-core/src/providers/lua_provider.rs b/crates/owlry-core/src/providers/lua_provider.rs index 0d64c6d..7ed4c9c 100644 --- a/crates/owlry-core/src/providers/lua_provider.rs +++ b/crates/owlry-core/src/providers/lua_provider.rs @@ -90,8 +90,9 @@ impl Provider for LuaProvider { } // LuaProvider needs to be Send + Sync for the Provider trait. -// Since we're using Rc>, we need to be careful about thread safety. -// For now, owlry is single-threaded, so this is safe. +// Rc> is !Send and !Sync, but the ProviderManager RwLock ensures +// Rc> is only accessed during refresh() (write lock = exclusive access). +// Read-only operations (items(), search) only touch self.items (Vec). unsafe impl Send for LuaProvider {} unsafe impl Sync for LuaProvider {}