Tasks for mentors
@teor2345:
Later:
Tasks for applicants
You must only open one pull request (PR).
Do not use AI to write code, PR descriptions, chats, or comments.
Follow these instructions:
Claim a ticket from the list below by commenting on it. This is the C++ type (or function) you will be working on.
Before you claim a ticket, make sure no-one else has commented before you.
After each step, submit your work as a PR, make sure CI passes, then wait for 2-4 days for a mentor to review it.
If you need help, post a message in the TODO link(outreachy/c++-overload-checks stream on Zulip).
- Write Rust wrappers for 3-5 C++ overloads on that type:
- Add a separate example with some failing overloads
- Update the overload macro compatibility table Markdown doc
Ignore these overloads:
- overloaded operators: they are already possible in Rust
- overloads with an allocator argument, or that only differ by
noexcept: not an interesting difference
- assignment functions, assignment operators, and
swap: no equivalent in Rust (which uses memcpy for assignment/swaps)
Only give one example of overloads that:
- only differ by
const/non-const, &/&& (or &/&mut)
- are iterator methods that only differ by position (
before_begin/begin
You can look at stdcpp/forward_list.rs (working overloads) and stdcpp-forward-list.rs (failing overloads) for example code.
C++ Standard Library Types
Each of these types have overloads, we want to check if they can be called from Rust.
containers
strings
integer arithmetic functions
io
chrono
Trait-like:
Tasks for mentors
@teor2345:
Later:
Tasks for applicants
You must only open one pull request (PR).
Do not use AI to write code, PR descriptions, chats, or comments.
Follow these instructions:
Claim a ticket from the list below by commenting on it. This is the C++ type (or function) you will be working on.
Before you claim a ticket, make sure no-one else has commented before you.
After each step, submit your work as a PR, make sure CI passes, then wait for 2-4 days for a mentor to review it.
If you need help, post a message in the TODO link(outreachy/c++-overload-checks stream on Zulip).
Limitationsdoc sectionErgonomicsdoc sectionIncompatibilitiesdoc sectionWorkaroundsdoc sectionInexpressible Overloadsdoc sectionIgnore these overloads:
noexcept: not an interesting differenceswap: no equivalent in Rust (which uses memcpy for assignment/swaps)Only give one example of overloads that:
const/non-const,&/&&(or&/&mut)before_begin/beginYou can look at stdcpp/forward_list.rs (working overloads) and stdcpp-forward-list.rs (failing overloads) for example code.
C++ Standard Library Types
Each of these types have overloads, we want to check if they can be called from Rust.
containers
strings
integer arithmetic functions
io
chrono
Trait-like: