Skip to content

Meeting proposal: when can we export UB to the environment? #18

Open
@carbotaniuman

Description

@carbotaniuman

Summary

The introduction of I/O safety has revealed several holes in the model of both I/O safety, and how Rust itself interacts and defines safety contracts with respect to the environment. Although there have been documentation PRs made to describe the interaction with /proc/self/mem and similar to end-users, those documents are proving insufficient in answering how Rust features that interact with the environment and unsafety should be considered from a language design perspective. (I saw something about discharging safety obligations for trusted extern statics, but I seem to have lost the actual comment).

This meeting will try and answer the question of when, we can export UB to the environment, and how this fits into the overall model of safety and soundness in Rust, including current and future features.

Reading

I will write out a more refined HackMD with examples as the meeting deadline gets closer.

rust-lang/rust#97837
rust-lang/rust#116059
https://rust-lang.zulipchat.com/#narrow/stream/136281-t-opsem/topic/I.2FO.20unsafety.20and.20UB.20in.20the.20std.20io.20raw.20functions

Comment policy

These issues are meant to be used as an "announcements channel" regarding the proposal, and not as a
place to discuss the technical details. Feel free to subscribe to updates. We'll post comments when
reviewing the proposal in meetings or making a scheduling decision. In the meantime, if you have
questions or ideas, ping the proposers on Zulip (or elsewhere).

Metadata

Metadata

Assignees

No one assigned

    Labels

    meeting-proposalProposal for a discussion topic at a team meeting

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions