From de42f69f08ad867dbafa9883f2a85d5d2004a004 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Thu, 13 Oct 2016 10:32:16 +0800 Subject: AST - Handle associated statics --- Makefile | 1 + src/hir/from_ast.cpp | 4 ++-- src/resolve/absolute.cpp | 6 ++++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 6077f297..1c600a85 100644 --- a/Makefile +++ b/Makefile @@ -121,6 +121,7 @@ output/libcollections.hir: output/libcore.hir output/liballoc.hir output/librust output/librand.hir: output/libcore.hir output/liblibc.hir: output/libcore.hir output/libstd.hir: output/libcore.hir output/libcollections.hir output/librand.hir output/liblibc.hir output/libunwind.hir +output/libunwind.hir: output/libcore.hir output/liblibc.hir $(RUSTCSRC): rust-nightly-date @export DL_RUST_DATE=$$(cat rust-nightly-date); \ diff --git a/src/hir/from_ast.cpp b/src/hir/from_ast.cpp index a6550b07..4c6921ac 100644 --- a/src/hir/from_ast.cpp +++ b/src/hir/from_ast.cpp @@ -1176,7 +1176,7 @@ void LowerHIR_Module_Impls(const ::AST::Module& ast_mod, ::HIR::Crate& hir_crat ::HIR::ItemPath item_path(path, item.name.c_str()); TU_MATCH_DEF(::AST::Item, (*item.data), (e), ( - ERROR(item.data->span, E0000, "Unexpected item type in trait impl"); + BUG(item.data->span, "Unexpected item type in trait impl - " << item.data->tag_str()); ), (None, ), @@ -1235,7 +1235,7 @@ void LowerHIR_Module_Impls(const ::AST::Module& ast_mod, ::HIR::Crate& hir_crat ::HIR::ItemPath item_path(path, item.name.c_str()); TU_MATCH_DEF(::AST::Item, (*item.data), (e), ( - ERROR(item.data->span, E0000, "Unexpected item type in inherent impl"); + BUG(item.data->span, "Unexpected item type in inherent impl - " << item.data->tag_str()); ), (None, ), diff --git a/src/resolve/absolute.cpp b/src/resolve/absolute.cpp index 16728075..793975fe 100644 --- a/src/resolve/absolute.cpp +++ b/src/resolve/absolute.cpp @@ -1829,7 +1829,8 @@ void Resolve_Absolute_ImplItems(Context& item_context, ::AST::NamedList< ::AST: ), (Static, DEBUG("Static - " << i.name); - TODO(i.data.span, "Resolve_Absolute_ImplItems - Static"); + Resolve_Absolute_Type( item_context, e.type() ); + Resolve_Absolute_Expr( item_context, e.value() ); ) ) } @@ -1871,7 +1872,8 @@ void Resolve_Absolute_ImplItems(Context& item_context, ::std::vector< ::AST::Im ), (Static, DEBUG("Static - " << i.name); - TODO(i.data->span, "Resolve_Absolute_ImplItems - Static"); + Resolve_Absolute_Type( item_context, e.type() ); + Resolve_Absolute_Expr( item_context, e.value() ); ) ) } -- cgit v1.2.3