Revision control
Copy as Markdown
Other Tools
#![cfg(syn_disable_nightly_tests)]
use std::io::{self, Write};
use termcolor::{Color, ColorChoice, ColorSpec, StandardStream, WriteColor};
const MSG: &str = "\
‖
‖ WARNING:
‖ This is not a nightly compiler so not all tests were able to
‖ run. Syn includes tests that compare Syn's parser against the
‖ compiler's parser, which requires access to unstable librustc
‖ data structures and a nightly compiler.
‖
";
#[test]
fn notice() -> io::Result<()> {
let header = "WARNING";
let index_of_header = MSG.find(header).unwrap();
let before = &MSG[..index_of_header];
let after = &MSG[index_of_header + header.len()..];
let mut stderr = StandardStream::stderr(ColorChoice::Auto);
stderr.set_color(ColorSpec::new().set_fg(Some(Color::Yellow)))?;
write!(&mut stderr, "{}", before)?;
stderr.set_color(ColorSpec::new().set_bold(true).set_fg(Some(Color::Yellow)))?;
write!(&mut stderr, "{}", header)?;
stderr.set_color(ColorSpec::new().set_fg(Some(Color::Yellow)))?;
write!(&mut stderr, "{}", after)?;
stderr.reset()?;
Ok(())
}