Skip to content

Making impls const across bootstrap versions #7

Open
@compiler-errors

Description

@compiler-errors

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 {}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions