Skip to content

Externally Implementable Items #254

@nikomatsakis

Description

@nikomatsakis
Contributor
Metadata
Point of contact @m-ou-se
Team(s) compiler, lang
Goal document 2025h1/eii

Summary

We intend to implement Externally Implementable Items in the compiler.
The plan is to do so in a way that allows us to change the way #[panic_handler] and similar attributes are handled,
making these library features instead of compiler built-ins.
We intend to eventually support both statics and functions,
but the priority is at functions right now.

Tasks and status

  • Discussion and moral support ()
    Lang-team experiment (lang Team)
    Lang-team champion (lang Team)
    Design experiment (syntax, etc.) ()
    Refactor attributes in rustc ()
    Implement experiment ()
    Standard reviews (compiler Team)
    Blog post inviting feedback ()
    Update RFC with new findings ()

Activity

added this to the 2025h1 milestone on Feb 18, 2025
nikomatsakis

nikomatsakis commented on Feb 18, 2025

@nikomatsakis
ContributorAuthor

This issue is intended for status updates only.

For general questions or comments, please contact the owner(s) directly.

moved this to Project goals in Lang team featureson Feb 21, 2025
m-ou-se

m-ou-se commented on Feb 28, 2025

@m-ou-se
Member

Now that rust-lang/rust#135726 is merged, @jdonszelmann and I will be working on implementing EII.

We have the design for the implementation worked out on our whiteboard. We don't expect any significant blockers at this point. We'll know more once we start writing the code next week.

moved this to Project goal in Lang team featureson Mar 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Project goal

Relationships

None yet

    Development

    No branches or pull requests

      Participants

      @nikomatsakis@m-ou-se

      Issue actions

        Externally Implementable Items · Issue #254 · rust-lang/rust-project-goals