summaryrefslogtreecommitdiff
path: root/src/expand/assert.cpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@ucc.asn.au>2019-05-19 22:15:02 +0800
committerJohn Hodge <tpg@ucc.asn.au>2019-05-19 22:15:02 +0800
commitb48167dec0c1c05b463991a8db5a8db70a5ae604 (patch)
treeeadc95ab546a617d298fb3a16fb080e1bc4355e8 /src/expand/assert.cpp
parentdab5cf5462d8fce6d6fcaa1343df8f5f3b763b8a (diff)
downloadmrust-b48167dec0c1c05b463991a8db5a8db70a5ae604.tar.gz
All - Switch to using interned (de-duplicated) RcString-s instead of std::string for paths/identifiers
Diffstat (limited to 'src/expand/assert.cpp')
-rw-r--r--src/expand/assert.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/expand/assert.cpp b/src/expand/assert.cpp
index 5bb23bde..ffba7b98 100644
--- a/src/expand/assert.cpp
+++ b/src/expand/assert.cpp
@@ -15,14 +15,12 @@
class CExpander_assert:
public ExpandProcMacro
{
- ::std::unique_ptr<TokenStream> expand(const Span& sp, const ::AST::Crate& crate, const ::std::string& ident, const TokenTree& tt, AST::Module& mod) override
+ ::std::unique_ptr<TokenStream> expand(const Span& sp, const ::AST::Crate& crate, const TokenTree& tt, AST::Module& mod) override
{
Token tok;
auto lex = TTStream(sp, tt);
lex.parse_state().module = &mod;
- if( ident != "" )
- ERROR(sp, E0000, "format_args! doesn't take an ident");
// assertion condition
auto n = Parse_Expr0(lex);
@@ -39,7 +37,7 @@ class CExpander_assert:
toks.push_back( Token(InterpolatedFragment(InterpolatedFragment::EXPR, n.release())) );
toks.push_back( Token(TOK_BRACE_OPEN) );
// User-provided message
- toks.push_back( Token(TOK_IDENT, "panic") );
+ toks.push_back( Token(TOK_IDENT, RcString::new_interned("panic")) );
toks.push_back( Token(TOK_EXCLAM) );
toks.push_back( Token(TOK_PAREN_OPEN) );
while(lex.lookahead(0) != TOK_EOF )
@@ -63,7 +61,7 @@ class CExpander_assert:
toks.push_back( Token(TOK_BRACE_OPEN) );
// Auto-generated message
- toks.push_back( Token(TOK_IDENT, "panic") );
+ toks.push_back( Token(TOK_IDENT, RcString::new_interned("panic")) );
toks.push_back( Token(TOK_EXCLAM) );
toks.push_back( Token(TOK_PAREN_OPEN) );
toks.push_back( Token(TOK_STRING, ss.str()) );