@@ -486,9 +486,9 @@ impl<'i: 't, 't> Parser<'i, 't> {
486
486
487
487
/// Parse a <ident-token> and return the unescaped value.
488
488
#[ inline]
489
- pub fn expect_ident ( & mut self ) -> Result < CowRcStr < ' i > , BasicParseError < ' i > > {
489
+ pub fn expect_ident ( & mut self ) -> Result < & CowRcStr < ' i > , BasicParseError < ' i > > {
490
490
match * self . next ( ) ? {
491
- Token :: Ident ( ref value) => Ok ( value. clone ( ) ) ,
491
+ Token :: Ident ( ref value) => Ok ( value) ,
492
492
ref t => Err ( BasicParseError :: UnexpectedToken ( t. clone ( ) ) )
493
493
}
494
494
}
@@ -504,19 +504,19 @@ impl<'i: 't, 't> Parser<'i, 't> {
504
504
505
505
/// Parse a <string-token> and return the unescaped value.
506
506
#[ inline]
507
- pub fn expect_string ( & mut self ) -> Result < CowRcStr < ' i > , BasicParseError < ' i > > {
507
+ pub fn expect_string ( & mut self ) -> Result < & CowRcStr < ' i > , BasicParseError < ' i > > {
508
508
match * self . next ( ) ? {
509
- Token :: QuotedString ( ref value) => Ok ( value. clone ( ) ) ,
509
+ Token :: QuotedString ( ref value) => Ok ( value) ,
510
510
ref t => Err ( BasicParseError :: UnexpectedToken ( t. clone ( ) ) )
511
511
}
512
512
}
513
513
514
514
/// Parse either a <ident-token> or a <string-token>, and return the unescaped value.
515
515
#[ inline]
516
- pub fn expect_ident_or_string ( & mut self ) -> Result < CowRcStr < ' i > , BasicParseError < ' i > > {
516
+ pub fn expect_ident_or_string ( & mut self ) -> Result < & CowRcStr < ' i > , BasicParseError < ' i > > {
517
517
match * self . next ( ) ? {
518
- Token :: Ident ( ref value) => Ok ( value. clone ( ) ) ,
519
- Token :: QuotedString ( ref value) => Ok ( value. clone ( ) ) ,
518
+ Token :: Ident ( ref value) => Ok ( value) ,
519
+ Token :: QuotedString ( ref value) => Ok ( value) ,
520
520
ref t => Err ( BasicParseError :: UnexpectedToken ( t. clone ( ) ) )
521
521
}
522
522
}
@@ -530,7 +530,7 @@ impl<'i: 't, 't> Parser<'i, 't> {
530
530
Token :: Function ( ref name) if name. eq_ignore_ascii_case ( "url" ) => { }
531
531
ref t => return Err ( BasicParseError :: UnexpectedToken ( t. clone ( ) ) )
532
532
}
533
- self . parse_nested_block ( |input| input. expect_string ( ) . map_err ( ParseError :: Basic ) )
533
+ self . parse_nested_block ( |input| input. expect_string ( ) . map_err ( ParseError :: Basic ) . map ( |s| s . clone ( ) ) )
534
534
. map_err ( ParseError :: < ( ) > :: basic)
535
535
}
536
536
@@ -544,7 +544,7 @@ impl<'i: 't, 't> Parser<'i, 't> {
544
544
Token :: Function ( ref name) if name. eq_ignore_ascii_case ( "url" ) => { }
545
545
ref t => return Err ( BasicParseError :: UnexpectedToken ( t. clone ( ) ) )
546
546
}
547
- self . parse_nested_block ( |input| input. expect_string ( ) . map_err ( ParseError :: Basic ) )
547
+ self . parse_nested_block ( |input| input. expect_string ( ) . map_err ( ParseError :: Basic ) . map ( |s| s . clone ( ) ) )
548
548
. map_err ( ParseError :: < ( ) > :: basic)
549
549
}
550
550
@@ -651,9 +651,9 @@ impl<'i: 't, 't> Parser<'i, 't> {
651
651
///
652
652
/// If the result is `Ok`, you can then call the `Parser::parse_nested_block` method.
653
653
#[ inline]
654
- pub fn expect_function ( & mut self ) -> Result < CowRcStr < ' i > , BasicParseError < ' i > > {
654
+ pub fn expect_function ( & mut self ) -> Result < & CowRcStr < ' i > , BasicParseError < ' i > > {
655
655
match * self . next ( ) ? {
656
- Token :: Function ( ref name) => Ok ( name. clone ( ) ) ,
656
+ Token :: Function ( ref name) => Ok ( name) ,
657
657
ref t => Err ( BasicParseError :: UnexpectedToken ( t. clone ( ) ) )
658
658
}
659
659
}
0 commit comments