diff options
| author | Mark Rousskov <mark.simulacrum@gmail.com> | 2018-07-21 17:15:25 -0600 |
|---|---|---|
| committer | Mark Rousskov <mark.simulacrum@gmail.com> | 2018-07-31 11:37:21 -0600 |
| commit | 03e34f8f816c2594238585bdca39716f4050cb69 (patch) | |
| tree | dd3a63e35155a04fa7729dca7b8e60d8fb29e924 /src/librustdoc/html | |
| parent | de5cebdba58770ab555476bc4cdf23d89bd0c3ea (diff) | |
| download | rust-03e34f8f816c2594238585bdca39716f4050cb69.tar.gz rust-03e34f8f816c2594238585bdca39716f4050cb69.zip | |
Remove dependency on error handling from find_testable_code
Diffstat (limited to 'src/librustdoc/html')
| -rw-r--r-- | src/librustdoc/html/markdown.rs | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/librustdoc/html/markdown.rs b/src/librustdoc/html/markdown.rs index c73e6d4b355..54fd041fb00 100644 --- a/src/librustdoc/html/markdown.rs +++ b/src/librustdoc/html/markdown.rs @@ -34,10 +34,8 @@ use std::fmt::{self, Write}; use std::borrow::Cow; use std::ops::Range; use std::str; -use syntax::feature_gate::UnstableFeatures; -use syntax::codemap::Span; -use errors; +use syntax::feature_gate::UnstableFeatures; use html::render::derive_id; use html::toc::TocBuilder; use html::highlight; @@ -469,10 +467,17 @@ impl<'a, I: Iterator<Item = Event<'a>>> Iterator for Footnotes<'a, I> { } } -pub fn find_testable_code(doc: &str, tests: &mut ::test::Collector, position: Span, - handler: &errors::Handler) { - tests.set_position(position); +pub struct TestableCodeError(()); + +impl fmt::Display for TestableCodeError { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "invalid start of a new code block") + } +} +pub fn find_testable_code( + doc: &str, tests: &mut test::Collector +) -> Result<(), TestableCodeError> { let is_nightly = UnstableFeatures::from_environment().is_nightly_build(); let mut parser = Parser::new(doc); let mut prev_offset = 0; @@ -516,8 +521,7 @@ pub fn find_testable_code(doc: &str, tests: &mut ::test::Collector, position: Sp tests.add_test(text, block_info, line); prev_offset = offset; } else { - handler.span_warn(position, "invalid start of a new code block"); - break; + return Err(TestableCodeError(())); } } Event::Start(Tag::Header(level)) => { @@ -535,6 +539,7 @@ pub fn find_testable_code(doc: &str, tests: &mut ::test::Collector, position: Sp _ => {} } } + Ok(()) } #[derive(Eq, PartialEq, Clone, Debug)] |
