Skip to content

Commit 4811621

Browse files
committed
Update to newer PyO3 APIs
1 parent 44e80b1 commit 4811621

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

crates/core/src/context.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -187,13 +187,16 @@ impl PySessionConfig {
187187
Self::from(self.config.clone().set_str(key, value))
188188
}
189189

190-
pub fn with_extension(&self, extension: Bound<PyAny>) -> PyResult<Self> {
190+
fn with_extension(&self, extension: Bound<PyAny>) -> PyResult<Self> {
191191
let capsule = extension.call_method0("__datafusion_extension_options__")?;
192-
let capsule = capsule.downcast::<PyCapsule>().map_err(py_datafusion_err)?;
192+
let capsule = capsule.cast::<PyCapsule>().map_err(py_datafusion_err)?;
193193

194194
validate_pycapsule(capsule, "datafusion_extension_options")?;
195195

196-
let mut extension = unsafe { capsule.reference::<FFI_ExtensionOptions>() }.clone();
196+
let data: NonNull<FFI_ExtensionOptions> = capsule
197+
.pointer_checked(Some(c_str!("datafusion_extension_options")))?
198+
.cast();
199+
let mut extension = unsafe { data.as_ref().clone() };
197200

198201
let mut config = self.config.clone();
199202
let options = config.options_mut();

0 commit comments

Comments
 (0)