From 826907487e2b593f1c54e98b59fe2f6eb8cb6937 Mon Sep 17 00:00:00 2001
From: Martin Fischer <martin@push-f.com>
Date: Tue, 29 Aug 2023 13:09:44 +0200
Subject: break!: remove Token::Error

An error isn't a token (in general and also according to the spec).
You shouldn't have to filter out errors when you're just interested
in tokens but most importantly having errors in the Token enum is
annoying when implementing tree construction (since the spec conditions
exhaustively cover all Token variants except Token::Error).
---
 examples/tokenize.rs | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

(limited to 'examples')

diff --git a/examples/tokenize.rs b/examples/tokenize.rs
index da99dd3..f8859e4 100644
--- a/examples/tokenize.rs
+++ b/examples/tokenize.rs
@@ -5,12 +5,15 @@ use html5tokenizer::{DefaultEmitter, Tokenizer};
 use std::io::BufReader;
 
 fn main() {
-    for token in Tokenizer::new(
+    let mut tokenizer = Tokenizer::new(
         BufReader::new(std::io::stdin().lock()),
         DefaultEmitter::default(),
-    )
-    .flatten()
-    {
+    );
+    while let Some(token) = tokenizer.next() {
+        for (error, _) in tokenizer.emitter_mut().drain_errors() {
+            eprintln!("error: {:?}", error);
+        }
+        let token = token.unwrap();
         println!("{:?}", token);
     }
 }
-- 
cgit v1.2.3