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 {}
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
cfgout constness of an impl:SOLUTION
So we probably should make it possible to do this, i.e. allow an new attribute like
rustc_const_implso we can just do:Then after a bootstrap bump, we will just have:
Which can then just trivially be converted to: