(
context: &mut ImplContext,
items: impl Iterator<Item = &'a mut Item>,
)
| 74 | } |
| 75 | |
| 76 | fn extract_items_into_context<'a, Item>( |
| 77 | context: &mut ImplContext, |
| 78 | items: impl Iterator<Item = &'a mut Item>, |
| 79 | ) where |
| 80 | Item: ItemLike + ToTokens + GetIdent + syn_ext::ext::ItemAttrExt + 'a, |
| 81 | { |
| 82 | for item in items { |
| 83 | let r = item.try_split_attr_mut(|attrs, item| { |
| 84 | let (py_items, cfgs) = attrs_to_content_items(attrs, impl_item_new::<Item>)?; |
| 85 | for py_item in py_items.iter().rev() { |
| 86 | let r = py_item.gen_impl_item(ImplItemArgs::<Item> { |
| 87 | item, |
| 88 | attrs, |
| 89 | context, |
| 90 | cfgs: cfgs.as_slice(), |
| 91 | }); |
| 92 | context.errors.ok_or_push(r); |
| 93 | } |
| 94 | Ok(()) |
| 95 | }); |
| 96 | context.errors.ok_or_push(r); |
| 97 | } |
| 98 | context.errors.ok_or_push(context.method_items.validate()); |
| 99 | context.errors.ok_or_push(context.getset_items.validate()); |
| 100 | context.errors.ok_or_push(context.member_items.validate()); |
| 101 | } |
| 102 | |
| 103 | pub(crate) fn impl_pyclass_impl(attr: PunctuatedNestedMeta, item: Item) -> Result<TokenStream> { |
| 104 | let mut context = ImplContext::default(); |
no test coverage detected