@@ -79,7 +79,12 @@ impl CharRefTokenizer {
79
79
self . result . expect ( "get_result called before done" )
80
80
}
81
81
82
- fn name_buf < ' t > ( & ' t mut self ) -> & ' t mut String {
82
+ fn name_buf < ' t > ( & ' t self ) -> & ' t String {
83
+ self . name_buf_opt . as_ref ( )
84
+ . expect ( "name_buf missing in named character reference" )
85
+ }
86
+
87
+ fn name_buf_mut < ' t > ( & ' t mut self ) -> & ' t mut String {
83
88
self . name_buf_opt . as_mut ( )
84
89
. expect ( "name_buf missing in named character reference" )
85
90
}
@@ -236,7 +241,7 @@ impl<'sink, Sink: TokenSink> CharRefTokenizer {
236
241
237
242
fn do_named ( & mut self , tokenizer : & mut Tokenizer < ' sink , Sink > ) -> Status {
238
243
let c = unwrap_or_return ! ( tokenizer. get_char( ) , Stuck ) ;
239
- self . name_buf ( ) . push_char ( c) ;
244
+ self . name_buf_mut ( ) . push_char ( c) ;
240
245
match data:: named_entities. find_equiv ( & self . name_buf ( ) . as_slice ( ) ) {
241
246
// We have either a full match or a prefix of one.
242
247
Some ( m) => {
@@ -350,7 +355,7 @@ impl<'sink, Sink: TokenSink> CharRefTokenizer {
350
355
351
356
fn do_bogus_name ( & mut self , tokenizer : & mut Tokenizer < ' sink , Sink > ) -> Status {
352
357
let c = unwrap_or_return ! ( tokenizer. get_char( ) , Stuck ) ;
353
- self . name_buf ( ) . push_char ( c) ;
358
+ self . name_buf_mut ( ) . push_char ( c) ;
354
359
match c {
355
360
_ if is_ascii_alnum ( c) => return Progress ,
356
361
';' => self . emit_name_error ( tokenizer) ,
0 commit comments