return std::move (item);
}
- std::unique_ptr<AssociatedItem> take_trait_item ()
- {
- rust_assert (!is_error ());
- return std::unique_ptr<AssociatedItem> (
- static_cast<AssociatedItem *> (assoc_item.release ()));
- }
-
std::unique_ptr<ExternalItem> take_external_item ()
{
rust_assert (!is_error ());
return std::move (assoc_item);
}
- std::unique_ptr<AssociatedItem> take_impl_item ()
- {
- return take_assoc_item ();
- }
-
- std::unique_ptr<AssociatedItem> take_trait_impl_item ()
- {
- return take_assoc_item ();
- }
-
std::unique_ptr<Type> take_type ()
{
rust_assert (!is_error ());
std::function<std::unique_ptr<AST::AssociatedItem> (AST::SingleASTNode)>
extractor
- = [] (AST::SingleASTNode node) { return node.take_trait_item (); };
+ = [] (AST::SingleASTNode node) { return node.take_assoc_item (); };
expand_macro_children (MacroExpander::ContextType::TRAIT,
trait.get_trait_items (), extractor);
expand_where_clause (impl.get_where_clause ());
std::function<std::unique_ptr<AST::AssociatedItem> (AST::SingleASTNode)>
- extractor = [] (AST::SingleASTNode node) { return node.take_impl_item (); };
+ extractor
+ = [] (AST::SingleASTNode node) { return node.take_assoc_item (); };
expand_macro_children (MacroExpander::ContextType::IMPL,
impl.get_impl_items (), extractor);
std::function<std::unique_ptr<AST::AssociatedItem> (AST::SingleASTNode)>
extractor
- = [] (AST::SingleASTNode node) { return node.take_trait_impl_item (); };
+ = [] (AST::SingleASTNode node) { return node.take_assoc_item (); };
expand_macro_children (MacroExpander::ContextType::TRAIT_IMPL,
impl.get_impl_items (), extractor);