Closed
Description
This is a tracking issue for the RFC "?
in main
" (rust-lang/rfcs#1937).
Steps:
- Implement the RFC (mentoring instructions can be found here).
-
?
inmain
(Implements RFC 1937:?
inmain
#46479) -
?
in doctest -
?
in#[test]
-
- Adjust documentation (see instructions on forge)
- Stabilization PR (see instructions on forge)
Stabilizations:
- Stabilize
main
with non-() return types (Stabilizemain
with non-() return types #48453) Merged in Stabilize termination_trait, split out termination_trait_test #49162 - Stabilize unit tests with non-() return types (Stabilize unit tests with non-
()
return type #48854)
Related issues:
- Error message for unit tests is not great (error message when unit test type does not implement
Termination
is ungreat #50291)
Unresolved questions:
- The name of the trait being introduced
- The precise initial implementations
- this will be stabilized by Stabilize
main
with non-() return types #48453
- this will be stabilized by Stabilize
- exit codes (discussion) Moved to a separate tracking issue, Tracking issue for std::process::ExitCode (feature process_exitcode_placeholder) #48711
this will be stabilized by Stabilizeno longer true after Restrict the Termination impls to simplify stabilization #48497main
with non-() return types #48453
Metadata
Metadata
Assignees
Labels
Blocker: Approved by a merged RFC but not yet implemented.Category: An issue tracking the progress of sth. like the implementation of an RFCCall for participation: Help is requested to fix this issue.Call for participation: This issue has a mentor. Use #t-compiler/help on Zulip for discussion.Status: There are blocking design concerns.Relevant to the compiler team, which will review and decide on the PR/issue.Relevant to the language 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.