diff --git a/src/librustc/session/config.rs b/src/librustc/session/config.rs index c4fc30429e0aa..e939fd5050164 100644 --- a/src/librustc/session/config.rs +++ b/src/librustc/session/config.rs @@ -1435,8 +1435,15 @@ pub fn build_session_options_and_crate_config(matches: &getopts::Matches) Some("human") => ErrorOutputType::HumanReadable(color), Some("json") => ErrorOutputType::Json(false), Some("pretty-json") => ErrorOutputType::Json(true), - Some("short") => ErrorOutputType::Short(color), - + Some("short") => { + if nightly_options::is_unstable_enabled(matches) { + ErrorOutputType::Short(color) + } else { + early_error(ErrorOutputType::default(), + &format!("the `-Z unstable-options` flag must also be passed to \ + enable the short error message option")); + } + } None => ErrorOutputType::HumanReadable(color), Some(arg) => { diff --git a/src/test/ui/short-error-format.rs b/src/test/ui/short-error-format.rs index 3e6802c51c3a6..ecce824ca178b 100644 --- a/src/test/ui/short-error-format.rs +++ b/src/test/ui/short-error-format.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// compile-flags: --error-format=short +// compile-flags: --error-format=short -Zunstable-options fn foo(_: u32) {}