diff options
author | John Hodge <tpg@mutabah.net> | 2016-08-29 19:59:07 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2016-08-29 19:59:07 +0800 |
commit | 36078efb486ec62ce57f4943414a7b8f6bff8862 (patch) | |
tree | a7c9cfee898a57571db5900a0b1ee72386c5f8eb /src/expand/mod.cpp | |
parent | 2dba62cd0b042fd4a3c543a14c214cf49600fdee (diff) | |
download | mrust-36078efb486ec62ce57f4943414a7b8f6bff8862.tar.gz |
Expand - Core path for ? too
Diffstat (limited to 'src/expand/mod.cpp')
-rw-r--r-- | src/expand/mod.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
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 // ``` |