##// END OF EJS Templates
rust-cpython: drop self.leak_immutable() in favor of PySharedRef wrapper
Yuya Nishihara -
r43449:7d6758f2 default
parent child Browse files
Show More
@@ -92,7 +92,8 b' py_class!(pub class Dirs |py| {'
92 92 })
93 93 }
94 94 def __iter__(&self) -> PyResult<DirsMultisetKeysIterator> {
95 let (leak_handle, leaked_ref) = unsafe { self.leak_immutable(py)? };
95 let (leak_handle, leaked_ref) =
96 unsafe { self.inner_shared(py).leak_immutable()? };
96 97 DirsMultisetKeysIterator::from_inner(
97 98 py,
98 99 leak_handle,
@@ -319,7 +319,8 b' py_class!(pub class DirstateMap |py| {'
319 319 }
320 320
321 321 def keys(&self) -> PyResult<DirstateMapKeysIterator> {
322 let (leak_handle, leaked_ref) = unsafe { self.leak_immutable(py)? };
322 let (leak_handle, leaked_ref) =
323 unsafe { self.inner_shared(py).leak_immutable()? };
323 324 DirstateMapKeysIterator::from_inner(
324 325 py,
325 326 leak_handle,
@@ -328,7 +329,8 b' py_class!(pub class DirstateMap |py| {'
328 329 }
329 330
330 331 def items(&self) -> PyResult<DirstateMapItemsIterator> {
331 let (leak_handle, leaked_ref) = unsafe { self.leak_immutable(py)? };
332 let (leak_handle, leaked_ref) =
333 unsafe { self.inner_shared(py).leak_immutable()? };
332 334 DirstateMapItemsIterator::from_inner(
333 335 py,
334 336 leak_handle,
@@ -337,7 +339,8 b' py_class!(pub class DirstateMap |py| {'
337 339 }
338 340
339 341 def __iter__(&self) -> PyResult<DirstateMapKeysIterator> {
340 let (leak_handle, leaked_ref) = unsafe { self.leak_immutable(py)? };
342 let (leak_handle, leaked_ref) =
343 unsafe { self.inner_shared(py).leak_immutable()? };
341 344 DirstateMapKeysIterator::from_inner(
342 345 py,
343 346 leak_handle,
@@ -454,7 +457,8 b' py_class!(pub class DirstateMap |py| {'
454 457 }
455 458
456 459 def copymapiter(&self) -> PyResult<CopyMapKeysIterator> {
457 let (leak_handle, leaked_ref) = unsafe { self.leak_immutable(py)? };
460 let (leak_handle, leaked_ref) =
461 unsafe { self.inner_shared(py).leak_immutable()? };
458 462 CopyMapKeysIterator::from_inner(
459 463 py,
460 464 leak_handle,
@@ -463,7 +467,8 b' py_class!(pub class DirstateMap |py| {'
463 467 }
464 468
465 469 def copymapitemsiter(&self) -> PyResult<CopyMapItemsIterator> {
466 let (leak_handle, leaked_ref) = unsafe { self.leak_immutable(py)? };
470 let (leak_handle, leaked_ref) =
471 unsafe { self.inner_shared(py).leak_immutable()? };
467 472 CopyMapItemsIterator::from_inner(
468 473 py,
469 474 leak_handle,
@@ -319,14 +319,6 b' macro_rules! py_shared_ref {'
319 319 {
320 320 self.$shared_accessor(py).borrow_mut()
321 321 }
322
323 // TODO: remove this function in favor of $shared_accessor(py)
324 unsafe fn leak_immutable<'a>(
325 &'a self,
326 py: Python<'a>,
327 ) -> PyResult<(PyLeakedRef, &'static $inner_struct)> {
328 self.$shared_accessor(py).leak_immutable()
329 }
330 322 }
331 323 };
332 324 }
@@ -396,7 +388,8 b' impl Drop for PyLeakedRef {'
396 388 /// data inner: PySharedRefCell<MyStruct>;
397 389 ///
398 390 /// def __iter__(&self) -> PyResult<MyTypeItemsIterator> {
399 /// let (leak_handle, leaked_ref) = unsafe { self.leak_immutable(py)? };
391 /// let (leak_handle, leaked_ref) =
392 /// unsafe { self.inner_shared(py).leak_immutable()? };
400 393 /// MyTypeItemsIterator::from_inner(
401 394 /// py,
402 395 /// leak_handle,
General Comments 0
You need to be logged in to leave comments. Login now