From 36078efb486ec62ce57f4943414a7b8f6bff8862 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Mon, 29 Aug 2016 19:59:07 +0800 Subject: Expand - Core path for ? too --- src/expand/mod.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/expand/mod.cpp b/src/expand/mod.cpp index 33ba207f..dad84423 100644 --- a/src/expand/mod.cpp +++ b/src/expand/mod.cpp @@ -496,9 +496,10 @@ struct CExpandExpr: this->visit_nodelete(node, node.m_value); // - Desugar question mark operator before resolve? if( node.m_type == ::AST::ExprNode_UniOp::QMARK ) { - auto path_Ok = ::AST::Path("", {::AST::PathNode("result"), ::AST::PathNode("Result"), ::AST::PathNode("Ok")}); - auto path_Err = ::AST::Path("", {::AST::PathNode("result"), ::AST::PathNode("Result"), ::AST::PathNode("Err")}); - auto path_From = ::AST::Path("", {::AST::PathNode("convert"), ::AST::PathNode("From")}); + auto core_crate = (crate.m_load_std == ::AST::Crate::LOAD_NONE ? "" : "core"); + auto path_Ok = ::AST::Path(core_crate, {::AST::PathNode("result"), ::AST::PathNode("Result"), ::AST::PathNode("Ok")}); + auto path_Err = ::AST::Path(core_crate, {::AST::PathNode("result"), ::AST::PathNode("Result"), ::AST::PathNode("Err")}); + auto path_From = ::AST::Path(core_crate, {::AST::PathNode("convert"), ::AST::PathNode("From")}); // Desugars into // ``` -- cgit v1.2.3