From 6e617fd974e30f70fdc1cb9f83f17581157801f0 Mon Sep 17 00:00:00 2001 From: Erick Tryzelaar Date: Sat, 27 Feb 2016 21:40:25 -0800 Subject: [PATCH] fix(syntex_syntax): Update to compile on rust 1.5.0 --- .travis.yml | 1 + syntex_syntax/Cargo.toml | 2 +- syntex_syntax/src/codemap.rs | 10 ++++++---- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9bb1c942..7dc04ead 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,7 @@ sudo: false language: rust rust: +- rust-1.5.0 - stable - beta - nightly diff --git a/syntex_syntax/Cargo.toml b/syntex_syntax/Cargo.toml index e05707e4..8e99a24e 100644 --- a/syntex_syntax/Cargo.toml +++ b/syntex_syntax/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "syntex_syntax" -version = "0.29.0" +version = "0.29.1" authors = [ "erick.tryzelaar@gmail.com" ] license = "MIT/Apache-2.0" description = "Export of libsyntax for code generation" diff --git a/syntex_syntax/src/codemap.rs b/syntex_syntax/src/codemap.rs index c7f8a561..fed66fe4 100644 --- a/syntex_syntax/src/codemap.rs +++ b/syntex_syntax/src/codemap.rs @@ -783,14 +783,16 @@ impl CodeMap { /// Creates a new filemap without setting its line information. If you don't /// intend to set the line information yourself, you should use new_filemap_and_lines. - pub fn new_filemap(&self, filename: FileName, mut src: String) -> Rc { + pub fn new_filemap(&self, filename: FileName, src: String) -> Rc { let start_pos = self.next_start_pos(); let mut files = self.files.borrow_mut(); // Remove utf-8 BOM if any. - if src.starts_with("\u{feff}") { - src.drain(..3); - } + let src = if src.starts_with("\u{feff}") { + String::from(&src[3..]) + } else { + src + }; let end_pos = start_pos + src.len();