diff options
author | NanoTech | 2016-12-08 09:20:39 +0000 |
---|---|---|
committer | NanoTech | 2017-03-10 23:48:28 -0600 |
commit | 0b2d2ccee2023198d60b48154b9b211e47b782ec (patch) | |
tree | 2da08badda644c47cd6b93322a9aeb6e994c2527 /src/lexer.rs | |
parent | e72192c0c1825f36f054263437029d05d717c957 (diff) |
Replace Cow<'i, str> with &'i str in Expr
Cow::Owned is never used in Expr
Diffstat (limited to '')
-rw-r--r-- | src/lexer.rs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/lexer.rs b/src/lexer.rs index ca181ce..499f762 100644 --- a/src/lexer.rs +++ b/src/lexer.rs @@ -2,8 +2,6 @@ use nom; use core::Const; -use std::borrow::Cow; - #[derive(Debug, PartialEq, Eq)] pub enum Keyword { Let, @@ -43,7 +41,7 @@ pub enum Builtin { #[derive(Debug, PartialEq, Eq)] pub enum Tok<'i> { - Identifier(Cow<'i, str>), + Identifier(&'i str), Keyword(Keyword), Builtin(Builtin), ListLike(ListLike), @@ -260,7 +258,7 @@ named!(token<&str, Tok>, alt!( map!(list_like, Tok::ListLike) | map!(natural, Tok::Natural) | map!(integer, Tok::Integer) | - map!(identifier, |s| Tok::Identifier(Cow::Borrowed(s))) | + map!(identifier, Tok::Identifier) | map!(string_lit, Tok::Text) | value!(Tok::BraceL, tag!("{")) | @@ -371,12 +369,12 @@ fn test_lex() { let s = "λ(b : Bool) → b == False"; let expected = [Lambda, ParenL, - Identifier(Cow::Borrowed("b")), + Identifier("b"), Ascription, Builtin(self::Builtin::Bool), ParenR, Arrow, - Identifier(Cow::Borrowed("b")), + Identifier("b"), CompareEQ, Bool(false)]; let lexer = Lexer::new(s); |