diff options
| author | Björn Steinbrink <bsteinbr@gmail.com> | 2013-05-02 10:16:07 +0200 |
|---|---|---|
| committer | Björn Steinbrink <bsteinbr@gmail.com> | 2013-05-09 14:40:19 +0200 |
| commit | 1393c3a3f438c896083405dca501c8cf05767c65 (patch) | |
| tree | 792b87a17ae08527e0bffe39cfda8730165f212a /src/libsyntax/parse/mod.rs | |
| parent | 936c07dcf0137b7ef456e82b9e70c3a2743dbe16 (diff) | |
| download | rust-1393c3a3f438c896083405dca501c8cf05767c65.tar.gz rust-1393c3a3f438c896083405dca501c8cf05767c65.zip | |
Use a specialized string interner to reduce the need for owned strings
&str can be turned into @~str on demand, using to_owned(), so for strings, we can create a specialized interner that accepts &str for intern() and find() but stores and returns @~str.
Diffstat (limited to 'src/libsyntax/parse/mod.rs')
| -rw-r--r-- | src/libsyntax/parse/mod.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/libsyntax/parse/mod.rs b/src/libsyntax/parse/mod.rs index 0708b65864e..ce41d377346 100644 --- a/src/libsyntax/parse/mod.rs +++ b/src/libsyntax/parse/mod.rs @@ -375,13 +375,13 @@ mod test { assert!(i.len() < 100); for int::range(0,100-((i.len()).to_int())) |_dc| { - i.gensym(@~"dontcare"); + i.gensym("dontcare"); } - i.intern(@~"a"); - i.intern(@~"b"); - i.intern(@~"c"); - i.intern(@~"d"); - i.intern(@~"return"); + i.intern("a"); + i.intern("b"); + i.intern("c"); + i.intern("d"); + i.intern("return"); assert!(i.get(ast::ident{repr:101,ctxt:0}) == @~"b"); i } |
