File tree 2 files changed +5
-8
lines changed
2 files changed +5
-8
lines changed Original file line number Diff line number Diff line change @@ -543,21 +543,17 @@ impl CodeMap {
543
543
}
544
544
}
545
545
546
- pub fn new_filemap ( & self , filename : FileName , src : String ) -> Rc < FileMap > {
546
+ pub fn new_filemap ( & self , filename : FileName , mut src : String ) -> Rc < FileMap > {
547
547
let mut files = self . files . borrow_mut ( ) ;
548
548
let start_pos = match files. last ( ) {
549
549
None => 0 ,
550
550
Some ( last) => last. end_pos . to_usize ( ) ,
551
551
} ;
552
552
553
553
// Remove utf-8 BOM if any.
554
- // FIXME #12884: no efficient/safe way to remove from the start of a string
555
- // and reuse the allocation.
556
- let mut src = if src. starts_with ( "\u{feff} " ) {
557
- String :: from ( & src[ 3 ..] )
558
- } else {
559
- String :: from ( & src[ ..] )
560
- } ;
554
+ if src. starts_with ( "\u{feff} " ) {
555
+ src. drain ( ..3 ) ;
556
+ }
561
557
562
558
// Append '\n' in case it's not already there.
563
559
// This is a workaround to prevent CodeMap.lookup_filemap_idx from
Original file line number Diff line number Diff line change 27
27
28
28
#![ feature( associated_consts) ]
29
29
#![ feature( collections) ]
30
+ #![ feature( collections_drain) ]
30
31
#![ feature( core) ]
31
32
#![ feature( libc) ]
32
33
#![ feature( rustc_private) ]
You can’t perform that action at this time.
0 commit comments