Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Project Goals october update #1423

Merged
merged 9 commits into from
Oct 31, 2024
Merged

Conversation

nikomatsakis
Copy link
Contributor

@nikomatsakis nikomatsakis commented Oct 30, 2024

posts/2024-10-31-Project-Goals-Oct-Update.md Outdated Show resolved Hide resolved
posts/2024-10-31-Project-Goals-Oct-Update.md Outdated Show resolved Hide resolved
posts/2024-10-31-Project-Goals-Oct-Update.md Outdated Show resolved Hide resolved
posts/2024-10-31-Project-Goals-Oct-Update.md Outdated Show resolved Hide resolved
@traviscross traviscross merged commit bfd2b3d into rust-lang:master Oct 31, 2024
3 checks passed
</div>
</div>

We have made significant progress on resolving blockers to Linux building on stable. Support for struct fields in the `offset_of!` macro has been stabilized. The final naming for the "derive-smart-pointer" feature has been decided as `#[derive(CoercePointee)]`; @dingxiangfei2009 prepared [PR #131284](https://github.com/rust-lang/rust/pull/131284) for the rename and is working on modifying the rust-for-linux repository to use the new name. Once that is complete, we will be able to stabilize. We decided to stabilize [support for references to statics in constants pointers-refs-to-static feature](https://github.com/rust-lang/rust/issues/128183) and are now awaiting a stabilization PR from @dingxiangfei2009.
Copy link
Member

@RalfJung RalfJung Nov 1, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hasn't the stabilization PR for this long landed?

Also, as a general note it'd be nice to give credit not only to the people pushing through the final stabilization, but also to the people doing the earlier implementation work. :)


Rust for Linux (RfL) is one of the major users of the asm-goto feature (and inline assembly in general) and we have been examining various extensions. @nbdd0121 authored a [hackmd document](https://hackmd.io/@nbdd0121/BJlVrepa0) detailing RfL's experiences and identifying areas for improvement. This led to two immediate action items: making target blocks safe-by-default ([rust-lang/rust#119364](https://github.com/rust-lang/rust/issues/119364)) and extending `const` to support embedded pointers ([rust-lang/rust#128464](https://github.com/rust-lang/rust/issues/128464)).

Finally, we have been finding an increasing number of stabilization requests at the compiler level, and so @wesleywiser and @davidtwco from the compiler team have started attending meetings to create a faster response. One of the results of that collaboration is [RFC #3716], authored by Alice Ryhl, which proposes a method to manage compiler flags that modify the target ABI. Our previous approach has been to create distinct targets for each combination of flags, but the number of flags needed by the kernel make that impractical. Authoring the RFC revealed more such flags than previously recognized, including those that modify LLVM behavior.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Authoring the RFC revealed more such flags than previously recognized, including those that modify LLVM behavior.

Most of these have actually been discovered independently of the RFC, and it is discovering them that led to the RFC being written. (This all started with rust-lang/rust#116344 and rust-lang/rust#116558.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants