-
-
Notifications
You must be signed in to change notification settings - Fork 14.9k
Tracking Issue for an improved std::process::Command #145957
Copy link
Copy link
Open
Labels
C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCS-tracking-unimplementedStatus: The feature has not been implemented.Status: The feature has not been implemented.T-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.Relevant to the library API team, which will review and decide on the PR/issue.
Metadata
Metadata
Assignees
Labels
C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCS-tracking-unimplementedStatus: The feature has not been implemented.Status: The feature has not been implemented.T-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.Relevant to the library API team, which will review and decide on the PR/issue.
Type
Fields
Give feedbackNo fields configured for issues without a type.
Feature gate: TBD (maybe
#![feature(command_2027)]? -- depends on what we actually agree on)This is a tracking issue for a new API for
std::process::Commandthat would fix the pain points with the current implementation and would be enabled in a future edition.Some changes / feature proposals:
pre_execclosure to be taken by reference rather than cloned and boxed$PATHin the parent process and ignore any modifiedPATHin the child's environment variablesspawnconsumesSelf) or a reusable object which can hold state that can be retrieved piecewiseCommandcan only be used once?Commandand the error without panickingselfinstead of&mut selfcould reduce intermediate binding in some cases and/or allow a more liberal sprinkling ofmust_useCommandmultiple times in a way that doesn't modify its internal stateCommandafter the spawned process failedNote that some of these proposals are in conflict with each other. This feature is in a brainstorming phase, but we wanted to have one place where we can collect it all and use that to start discussing ACPs, experiments, a future RFC etc.
The initial brainstorming happened here: https://rust-lang.zulipchat.com/#narrow/channel/219381-t-libs/topic/A.20new.20.60std.3A.3Aprocess.3A.3ACommand.60/
Public API
TBD
Steps / History
(Remember to update the
S-tracking-*label when checking boxes.)CommandCommandUnresolved Questions
Footnotes
https://std-dev-guide.rust-lang.org/feature-lifecycle/stabilization.html ↩