```rust impl Drop for Cudnn { fn drop(&mut self) { let handle = std::mem::replace(&mut self.handle, std::ptr::null_mut()); if !handle.is_null() { unsafe { result::destroy_handle(handle) }.unwrap(); } } } ``` the unwarp thrown error. I am using thread local but not sure why cudnn has this issue. cublas doesn't ```rust #[cfg(feature = "cuda")] thread_local! { static CUDNN: RefCell<HashMap<usize, Arc<cudarc::cudnn::Cudnn>>> = HashMap::new().into(); } #[cfg(feature = "cuda")] thread_local! { static CUBLAS: RefCell<HashMap<usize, Arc<cudarc::cublas::CudaBlas>>> = HashMap::new().into(); } ```