(self, _len: usize, visitor: V)
| 381 | } |
| 382 | |
| 383 | fn tuple_variant<V: Visitor<'de>>(self, _len: usize, visitor: V) -> Result<V::Value, Self::Error> { |
| 384 | match self.parser.scan()? { |
| 385 | Some(Token::OpenBracket) => { |
| 386 | self.parser.enter_container()?; |
| 387 | let finished = Cell::new(false); |
| 388 | let result = visitor.visit_seq(ScannerSeqAccess { |
| 389 | parser: self.parser, |
| 390 | first: true, |
| 391 | finished: &finished, |
| 392 | }); |
| 393 | if result.is_ok() && !finished.get() { |
| 394 | if let Err(e) = drain_array(self.parser) { |
| 395 | self.parser.exit_container(); |
| 396 | return Err(e); |
| 397 | } |
| 398 | } |
| 399 | self.parser.exit_container(); |
| 400 | result |
| 401 | } |
| 402 | _ => Err(ParseError::custom_err( |
| 403 | "expected an array for tuple variant".to_string(), |
| 404 | )), |
| 405 | } |
| 406 | } |
| 407 | |
| 408 | fn struct_variant<V: Visitor<'de>>( |
| 409 | self, |
nothing calls this directly
no test coverage detected