diff --git a/src/librustc/session/config.rs b/src/librustc/session/config.rs index c6ce3a22d9b1c..fba8fad203ba2 100644 --- a/src/librustc/session/config.rs +++ b/src/librustc/session/config.rs @@ -594,6 +594,8 @@ options! {DebuggingOptions, DebuggingSetter, basic_debugging_options, "Force drop flag checks on or off"), trace_macros: bool = (false, parse_bool, "For every macro invocation, print its name and arguments"), + disable_nonzeroing_move_hints: bool = (false, parse_bool, + "Force nonzeroing move optimization off"), } pub fn default_lib_output() -> CrateType { diff --git a/src/librustc/session/mod.rs b/src/librustc/session/mod.rs index 2cdd2ee2f03c7..efd46d35f56b7 100644 --- a/src/librustc/session/mod.rs +++ b/src/librustc/session/mod.rs @@ -272,6 +272,9 @@ impl Session { pub fn print_enum_sizes(&self) -> bool { self.opts.debugging_opts.print_enum_sizes } + pub fn nonzeroing_move_hints(&self) -> bool { + !self.opts.debugging_opts.disable_nonzeroing_move_hints + } pub fn sysroot<'a>(&'a self) -> &'a Path { match self.opts.maybe_sysroot { Some (ref sysroot) => sysroot,