Skip to content

Commit

Permalink
Move macro to separate module
Browse files Browse the repository at this point in the history
  • Loading branch information
bash committed May 17, 2019
1 parent 4745cec commit 8b57668
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 19 deletions.
19 changes: 1 addition & 18 deletions src/config/config_type.rs
Original file line number Diff line number Diff line change
Expand Up @@ -50,23 +50,6 @@ impl ConfigType for IgnoreList {
}
}

/// Checks if we're in a nightly build.
///
/// The environment variable `CFG_RELEASE_CHANNEL` is set during the rustc bootstrap
/// to "stable", "beta", or "nightly" depending on what toolchain is being built.
/// If we are being built as part of the stable or beta toolchains, we want
/// to disable unstable configuration options.
///
/// If we're being built by cargo (e.g., `cargo +nightly install rustfmt-nightly`),
/// `CFG_RELEASE_CHANNEL` is not set. As we only support being built against the
/// nightly compiler when installed from crates.io, default to nightly mode.
#[macro_export]
macro_rules! is_nightly_channel {
() => {
option_env!("CFG_RELEASE_CHANNEL").map_or(true, |c| c == "nightly" || c == "dev")
};
}

macro_rules! create_config {
($($i:ident: $ty:ty, $def:expr, $stb:expr, $( $dstring:expr ),+ );+ $(;)*) => (
#[cfg(test)]
Expand Down Expand Up @@ -160,7 +143,7 @@ macro_rules! create_config {
self.$i.1 = true;
self.$i.2 = val;
} else {
if is_nightly_channel!() {
if crate::is_nightly_channel!() {
self.$i.1 = true;
self.$i.2 = val;
} else {
Expand Down
3 changes: 3 additions & 0 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@ pub use crate::rustfmt_diff::{ModifiedChunk, ModifiedLines};
#[macro_use]
mod utils;

#[macro_use]
mod release_channel;

mod attr;
mod chains;
pub(crate) mod checkstyle;
Expand Down
16 changes: 16 additions & 0 deletions src/release_channel.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/// Checks if we're in a nightly build.
///
/// The environment variable `CFG_RELEASE_CHANNEL` is set during the rustc bootstrap
/// to "stable", "beta", or "nightly" depending on what toolchain is being built.
/// If we are being built as part of the stable or beta toolchains, we want
/// to disable unstable configuration options.
///
/// If we're being built by cargo (e.g., `cargo +nightly install rustfmt-nightly`),
/// `CFG_RELEASE_CHANNEL` is not set. As we only support being built against the
/// nightly compiler when installed from crates.io, default to nightly mode.
#[macro_export]
macro_rules! is_nightly_channel {
() => {
option_env!("CFG_RELEASE_CHANNEL").map_or(true, |c| c == "nightly" || c == "dev")
};
}
2 changes: 1 addition & 1 deletion src/test/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ use std::thread;

use crate::config::{Color, Config, EmitMode, FileName, NewlineStyle, ReportTactic};
use crate::formatting::{ReportedErrors, SourceFile};
use crate::is_nightly_channel;
use crate::rustfmt_diff::{make_diff, print_diff, DiffLine, Mismatch, ModifiedChunk, OutputWriter};
use crate::source_file;
use crate::{FormatReport, FormatReportFormatterBuilder, Input, Session};
use crate::is_nightly_channel;

const DIFF_CONTEXT_SIZE: usize = 3;
const CONFIGURATIONS_FILE_NAME: &str = "Configurations.md";
Expand Down

0 comments on commit 8b57668

Please sign in to comment.