@@ -139,7 +139,10 @@ impl Locator for Hatch {
139139 ) ) ;
140140 }
141141 }
142- * self . workspace_virtual_dirs . lock ( ) . unwrap ( ) = new_cache;
142+ * self
143+ . workspace_virtual_dirs
144+ . lock ( )
145+ . expect ( "workspace_virtual_dirs mutex poisoned" ) = new_cache;
143146 }
144147
145148 fn try_from ( & self , env : & PythonEnv ) -> Option < PythonEnvironment > {
@@ -177,7 +180,10 @@ impl Locator for Hatch {
177180 // unrelated virtualenvwrapper / `venv` env in the same directory
178181 // would be misclassified as Hatch-managed.
179182 if classification. is_none ( ) {
180- let cache = self . workspace_virtual_dirs . lock ( ) . unwrap ( ) ;
183+ let cache = self
184+ . workspace_virtual_dirs
185+ . lock ( )
186+ . expect ( "workspace_virtual_dirs mutex poisoned" ) ;
181187 ' workspaces: for ( workspace, virtual_dirs, matcher) in cache. iter ( ) {
182188 for virtual_dir in virtual_dirs {
183189 if prefix_is_directly_under ( & prefix, virtual_dir) {
@@ -234,7 +240,11 @@ impl Locator for Hatch {
234240 // 2. Walk project-local virtual directories for each configured workspace.
235241 // Apply the same env-name guard as `try_from()` so shared directories
236242 // (e.g. `~/.virtualenvs`) only yield the workspace's declared envs.
237- let workspaces = self . workspace_virtual_dirs . lock ( ) . unwrap ( ) . clone ( ) ;
243+ let workspaces = self
244+ . workspace_virtual_dirs
245+ . lock ( )
246+ . expect ( "workspace_virtual_dirs mutex poisoned" )
247+ . clone ( ) ;
238248 for ( workspace, virtual_dirs, matcher) in & workspaces {
239249 for virtual_dir in virtual_dirs {
240250 for env in find_envs_in_flat_dir ( virtual_dir, Some ( workspace. clone ( ) ) , matcher) {
0 commit comments