You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As we re-constify traits, we're gonna have issues when constifying impls across bootstrap versions, since we have to basically duplicate the whole impl since we can't currently cfg out constness of an impl:
#[cfg(bootstrap)]
impl Foo for Bar {}
#[cfg(not(bootstrap))]
impl const Foo for Bar {}
SOLUTION
So we probably should make it possible to do this, i.e. allow an new attribute like rustc_const_impl so we can just do:
#[cfg_attr(not(bootstrap), rustc_const_impl)]
impl const Foo for Bar {}
Then after a bootstrap bump, we will just have:
#[rustc_const_impl]
imp Foo for Bar {}
Which can then just trivially be converted to:
impl const Foo for Bar {}
The text was updated successfully, but these errors were encountered:
Also this will only be a problem once, right, when impl const re-lands? So we can also "just" wait a cycle before we start mass-adding this again. But we're not patient enough for that. ;)
Yeah, I guess we could wait one beta bump after we land the effects implementation of the old trait solver (rust-lang/rust#132119) before we start constifying traits in the standard library. I am impatient, but it may end up being fine if we can just land that PR soon.
As we re-constify traits, we're gonna have issues when constifying impls across bootstrap versions, since we have to basically duplicate the whole impl since we can't currently
cfg
out constness of an impl:SOLUTION
So we probably should make it possible to do this, i.e. allow an new attribute like
rustc_const_impl
so we can just do:Then after a bootstrap bump, we will just have:
Which can then just trivially be converted to:
The text was updated successfully, but these errors were encountered: