Change:
Steps to reproduce: The output of is: does as suggested by the message, but that fails too (as expected): Proposed fix: in the beta and stable channels (i.e. whenever is forbidden), the message that suggests adding should not be shown. (Clean up the test case with .) CC
Gonna milestone this real quick, as it seems quite important.
I might be able to whip up a quick fix, though I'm not 100% sure about testing it properly ... (I've never actually tried building something for a non-dev release channel before...)
after chatting with it seems like I have a patch, building it now
gonna leave to it
Hello good Rust folks :smile: Before the beta, I used which is in . Is there any way to use this trait during the beta ? I'm not sure how I can get the code to compile. Thanks for any tip / hints you can offer :+1:
Hi Commenting on random unrelated issues is usually not the right thing to do. You should rather open a new issue, or ask on . But to answer your question anyway, that trait only has : … and is stable and can be used on beta. So I’d recommend you copy/paste the trait into your code, or make a function.
Thanks for taking the time to answer. I appreciate it. I don't see how this is unrelated. This is related, since the code I'm talking about used to compile with and the compiler suggests to do that, during the beta period. Thanks for your tip on copying the function :+1: I guess I'll just do that if nothing better is available and change this again when the trait is stable.
This specific issue is about fixing one of the compiler’s error message, not about fixing code that triggers that error. It really helps everyone to keep discussions on topic.
Alright. I understand. I'll make sure to open a new issue or go on StackOverflow next time if appropriate. Thanks again :+1:
This doesn't seem to be properly fixed in the beta channel. I'm still being recommended to add in the errors, and then told it's not available in the beta channel. Rust version: The code I used (snappy example in the docs with the extra addition on the first line:
This happened after Beta release. We'll see the effect of this patch in 1.0 and afterwards Beta, etc.
Whoops, I thought this made it in before beta. Thanks!
are there plans to release updates to the beta channel within a given 6 weeks cycle? Either this one or in the future.
I'm certain there will be updates; see discussion from last night here:
So how does one fix this error? I'm a new user of the rust library and I can't seem to use the collections library during the beta due to this problem. Given this git issue is a top google result, it would be nice if there were a solution here. Edit: Looks like the solution is to switch to the rust nightly. Is the entire collections library off-limits in the beta?
by design, you have access to the parts of that are re-exported from (and are stable).

Discussion:
pub fn emit_feature_err(diag: &SpanHandler, feature: &str, span: Span, explain: &str) { diag.span_err(span, explain); <ins> // #23973: do not suggest `#![feature(...)]` if we are in beta/stable if option_env!("CFG_DISABLE_UNSTABLE_FEATURES").is_some() { return; } </ins> diag.fileline_help(span, &format!("add #![feature({})] to the  crate attributes to enable", feature));

pub fn emit_feature_warn(diag: &SpanHandler, feature: &str, span: Span, explain: &str) { diag.span_warn(span, explain); <ins> // #23973: do not suggest `#![feature(...)]` if we are in beta/stable if option_env!("CFG_DISABLE_UNSTABLE_FEATURES").is_some() { return; } </ins> if diag.handler.can_emit_warnings { diag.fileline_help(span, &format!("add #![feature({})] to the  crate attributes to silence this warning",

#[macro_use] #[no_link] extern crate macro_reexport_1; //~^ ERROR macros reexports are experimental and possibly buggy <del> //~| HELP add #![feature(macro_reexport)] to the crate attributes to enable </del>

match x { box 1 => (), //~^ box pattern syntax is experimental <del> //~| add #![feature(box_patterns)] to the crate attributes to enable </del> _     => () }; }

fn main() { let x = box 3; //~^ ERROR box expression syntax is experimental; you can call `Box::new` instead. <del> //~| HELP add #![feature(box_syntax)] to the crate attributes to enable </del> }

#[link_args = "aFdEfSeVEEE"] extern {} //~^ ERROR the `link_args` attribute is not portable across platforms <del> //~| HELP add #![feature(link_args)] to the crate attributes to enable </del> fn main() { }

#[link_name = "llvm.sqrt.f32"] fn sqrt(x: f32) -> f32; //~^ ERROR linking to LLVM intrinsics is experimental <del> //~| HELP add #![feature(link_llvm_intrinsics)] to the crate attributes </del> } fn main(){

#[plugin_registrar] pub fn registrar() {} //~^ ERROR compiler plugins are experimental <del> //~| HELP add #![feature(plugin_registrar)] to the crate attributes to enable </del> fn main() {}

#[unsafe_destructor] //~^ ERROR `#[unsafe_destructor]` does nothing anymore <del> //~| HELP: add #![feature(unsafe_destructor)] to the crate attributes to enable // (but of couse there is no point in doing so) </del> impl<'a> Drop for D<'a> { fn drop(&mut self) { } }