#![doc = include_str!("../README.md")]
#![feature(rustc_private)]
#![feature(lint_reasons)]
#![warn(clippy::pedantic)]
#![allow(clippy::missing_panics_doc)]
extern crate rustc_driver;
extern crate rustc_session;
extern crate rustc_span;
use std::env;
use rustc_session::config::ErrorOutputType;
use rustc_session::EarlyErrorHandler;
use marker_rustc_driver::{try_main, MainError};
const BUG_REPORT_URL: &str = "https://github.com/rust-marker/marker/issues/new?template=panic.yml";
fn main() {
let handler = EarlyErrorHandler::new(ErrorOutputType::default());
rustc_driver::init_rustc_env_logger(&handler);
rustc_driver::install_ice_hook(BUG_REPORT_URL, |handler| {
handler.note_without_error(format!("{}", rustc_tools_util::get_version_info!()));
handler.note_without_error("Achievement Unlocked: [Free Ice Cream]");
});
std::process::exit(rustc_driver::catch_with_exit_code(|| {
try_main(env::args()).map_err(|err| {
let err = match err {
MainError::Custom(err) => err,
MainError::Rustc(err) => return err,
};
err.print();
#[expect(deprecated)]
rustc_span::ErrorGuaranteed::unchecked_claim_error_was_emitted()
})
}))
}