summaryrefslogtreecommitdiff
path: root/src/ast/ast.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ast/ast.hpp')
-rw-r--r--src/ast/ast.hpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/ast/ast.hpp b/src/ast/ast.hpp
index ff798fed..5cedab2f 100644
--- a/src/ast/ast.hpp
+++ b/src/ast/ast.hpp
@@ -674,6 +674,8 @@ public:
const itemlist_struct_t& structs() const { return m_structs; }
const ::std::vector<Module*>& anon_mods() const { return m_anon_modules; }
+ const ::std::vector<ImplDef>& neg_impls() const { return m_neg_impls; }
+
const itemlist_macros_t& macros() const { return m_macros; }
const macro_imports_t& macro_imports() const { return m_macro_imports; }
const ::std::vector<ItemNS<const MacroRules*> > macro_imports_res() const { return m_macro_import_res; }
@@ -688,6 +690,7 @@ class Crate:
public Serialisable
{
::std::vector<Impl*> m_impl_index;
+ ::std::vector<const ImplDef*> m_neg_impl_index;
public:
Module m_root_module;
::std::map< ::std::string, ExternCrate> m_extern_crates;
@@ -716,6 +719,8 @@ public:
void iterate_functions( fcn_visitor_t* visitor );
SERIALISABLE_PROTOTYPES();
+private:
+ bool check_impls_wildcard(const Path& trait, const TypeRef& type);
};
/// Representation of an imported crate