Auto merge of #14598 - lowr:fix/release-channel-from-str, r=lnicola
Fix release channel detection
We detect toolchain's release channel by looking at pre-release identifier of cargo/rustc's version string. It's empty for stable, "beta" or "beta.x" for beta, and "nightly" for nightly.
See rust-lang/rust's [bootstrap code] for how the version string is determined.
[bootstrap code]: e49122fb1c/src/bootstrap/lib.rs (L1244)
This commit is contained in:
commit
b92b7c0d94
@ -284,9 +284,9 @@ pub fn as_str(self) -> &'static str {
|
||||
|
||||
pub fn from_str(str: &str) -> Option<Self> {
|
||||
Some(match str {
|
||||
"stable" => ReleaseChannel::Stable,
|
||||
"beta" => ReleaseChannel::Beta,
|
||||
"" => ReleaseChannel::Stable,
|
||||
"nightly" => ReleaseChannel::Nightly,
|
||||
_ if str.starts_with("beta") => ReleaseChannel::Beta,
|
||||
_ => return None,
|
||||
})
|
||||
}
|
||||
|
@ -387,7 +387,6 @@ fn bar fn(u32)
|
||||
fn use_tree_no_unstable_items_on_stable() {
|
||||
check(
|
||||
r#"
|
||||
//- toolchain:stable
|
||||
//- /lib.rs crate:main deps:std
|
||||
use std::$0
|
||||
//- /std.rs crate:std
|
||||
|
@ -779,7 +779,7 @@ fn project_json_to_crate_graph(
|
||||
CrateOrigin::Local { repo: None, name: None }
|
||||
},
|
||||
target_layout.clone(),
|
||||
None,
|
||||
channel,
|
||||
);
|
||||
if *is_proc_macro {
|
||||
if let Some(path) = proc_macro_dylib_path.clone() {
|
||||
|
@ -111,8 +111,9 @@ impl FixtureWithProjectMeta {
|
||||
/// //- minicore: sized
|
||||
/// ```
|
||||
///
|
||||
/// That will include predefined proc macros and a subset of `libcore` into the fixture, see
|
||||
/// `minicore.rs` for what's available.
|
||||
/// That will set toolchain to nightly and include predefined proc macros and a subset of
|
||||
/// `libcore` into the fixture, see `minicore.rs` for what's available. Note that toolchain
|
||||
/// defaults to stable.
|
||||
pub fn parse(ra_fixture: &str) -> Self {
|
||||
let fixture = trim_indent(ra_fixture);
|
||||
let mut fixture = fixture.as_str();
|
||||
|
Loading…
Reference in New Issue
Block a user