| 314 | |
| 315 | #[pymethod] |
| 316 | fn finditer( |
| 317 | zelf: PyRef<Self>, |
| 318 | string_args: StringArgs, |
| 319 | vm: &VirtualMachine, |
| 320 | ) -> PyResult<PyCallableIterator> { |
| 321 | let scanner = SreScanner { |
| 322 | pattern: zelf, |
| 323 | string: string_args.string, |
| 324 | start: AtomicCell::new(string_args.pos), |
| 325 | end: string_args.endpos, |
| 326 | must_advance: AtomicCell::new(false), |
| 327 | } |
| 328 | .into_ref(&vm.ctx); |
| 329 | let search = vm.get_str_method(scanner.into(), "search").unwrap()?; |
| 330 | let search = ArgCallable::try_from_object(vm, search)?; |
| 331 | let iterator = PyCallableIterator::new(search, vm.ctx.none()); |
| 332 | Ok(iterator) |
| 333 | } |
| 334 | |
| 335 | #[pymethod] |
| 336 | fn scanner( |