Show More
@@ -18,7 +18,10 b' use cpython::{' | |||
|
18 | 18 | |
|
19 | 19 | use crate::dirstate::extract_dirstate; |
|
20 | 20 | use crate::ref_sharing::{PySharedRefCell, PySharedState}; |
|
21 | use hg::{DirsMultiset, DirstateMapError, DirstateParseError, EntryState}; | |
|
21 | use hg::{ | |
|
22 | DirsMultiset, DirsMultisetIter, DirstateMapError, DirstateParseError, | |
|
23 | EntryState, | |
|
24 | }; | |
|
22 | 25 | |
|
23 | 26 | py_class!(pub class Dirs |py| { |
|
24 | 27 | data inner: PySharedRefCell<DirsMultiset>; |
@@ -90,7 +93,7 b' py_class!(pub class Dirs |py| {' | |||
|
90 | 93 | DirsMultisetKeysIterator::create_instance( |
|
91 | 94 | py, |
|
92 | 95 | RefCell::new(Some(leak_handle)), |
|
93 |
RefCell |
|
|
96 | RefCell::new(leaked_ref.iter()), | |
|
94 | 97 | ) |
|
95 | 98 | } |
|
96 | 99 | |
@@ -118,10 +121,10 b' impl Dirs {' | |||
|
118 | 121 | } |
|
119 | 122 | } |
|
120 | 123 | |
|
121 |
py_shared_ |
|
|
124 | py_shared_iterator_impl!( | |
|
122 | 125 | DirsMultisetKeysIterator, |
|
123 | 126 | DirsMultisetLeakedRef, |
|
124 | Vec<u8>, | |
|
127 | DirsMultisetIter<'static>, | |
|
125 | 128 | Dirs::translate_key, |
|
126 | 129 | Option<PyBytes> |
|
127 | 130 | ); |
@@ -417,23 +417,3 b' macro_rules! py_shared_mapping_iterator ' | |||
|
417 | 417 | ); |
|
418 | 418 | }; |
|
419 | 419 | } |
|
420 | ||
|
421 | /// Works basically the same as `py_shared_mapping_iterator`, but with only a | |
|
422 | /// key. | |
|
423 | macro_rules! py_shared_sequence_iterator { | |
|
424 | ( | |
|
425 | $name:ident, | |
|
426 | $leaked:ident, | |
|
427 | $key_type: ty, | |
|
428 | $success_func: path, | |
|
429 | $success_type: ty | |
|
430 | ) => { | |
|
431 | py_shared_iterator_impl!( | |
|
432 | $name, | |
|
433 | $leaked, | |
|
434 | Box<dyn Iterator<Item = &'static $key_type> + Send>, | |
|
435 | $success_func, | |
|
436 | $success_type | |
|
437 | ); | |
|
438 | }; | |
|
439 | } |
General Comments 0
You need to be logged in to leave comments.
Login now