diff --git a/src/librustc/session/config.rs b/src/librustc/session/config.rs index b5e19d6aad8..e30a43d3d1a 100644 --- a/src/librustc/session/config.rs +++ b/src/librustc/session/config.rs @@ -1622,8 +1622,11 @@ pub fn build_session_options_and_crate_config(matches: &getopts::Matches) let mut debugging_opts = build_debugging_options(matches, error_format); if !debugging_opts.unstable_options && error_format == ErrorOutputType::Json(true) { - early_error(ErrorOutputType::Json(false), - "--error-format=pretty-json is unstable"); + early_error(ErrorOutputType::Json(false), "--error-format=pretty-json is unstable"); + } + + if !debugging_opts.unstable_options && debugging_opts.explain { + early_error(ErrorOutputType::Json(false), "-Z --explain is unstable"); } let mut output_types = BTreeMap::new();