• A
    rustc: Refactor how unstable flags are handled · 12828334
    Alex Crichton 提交于
    This commit adds support for *truly* unstable options in the compiler, as well
    as adding warnings for the start of the deprecation path of
    unstable-but-not-really options. Specifically, the following behavior is now in
    place for handling unstable options:
    
    * As before, an unconditional error is emitted if an unstable option is passed
      and the `-Z unstable-options` flag is not present. Note that passing another
      `-Z` flag does not require passing `-Z unstable-options` as well.
    * New flags added to the compiler will be in the `Unstable` category as opposed
      to the `UnstableButNotReally` category which means they will unconditionally
      emit an error when used on stable.
    * All current flags are in a category where they will emit warnings when used
      that the option will soon be a hard error.
    
    Also as before, it is intended that `-Z` is akin to `#![feature]` in a crate
    where it is required to unlock unstable functionality. A nightly compiler which
    is used without any `-Z` flags should only be exercising stable behavior.
    12828334
config.rs 52.2 KB