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

Tracking Issue for const_mut_cursor #130801

Open
1 of 3 tasks
bjoernager opened this issue Sep 24, 2024 · 3 comments
Open
1 of 3 tasks

Tracking Issue for const_mut_cursor #130801

bjoernager opened this issue Sep 24, 2024 · 3 comments
Labels
C-tracking-issue Category: An issue tracking the progress of sth. like the implementation of an RFC disposition-merge This issue / PR is in PFCP or FCP with a disposition to merge it. proposed-final-comment-period Proposed to merge/close by relevant subteam, see T-<team> label. Will enter FCP once signed off. T-libs-api Relevant to the library API team, which will review and decide on the PR/issue.

Comments

@bjoernager
Copy link
Contributor

bjoernager commented Sep 24, 2024

Feature gate: #![feature(const_mut_cursor)]

This is a tracking issue for marking the get_mut and set_position methods in std::io::Cursor as const.

Public API

// std::io

impl<T> Cursor<T> {
    pub const fn get_mut(&mut self) -> &mut T;

    pub const fn set_position(&mut self, pos: u64);
}

Steps / History

Unresolved Questions

  • Can we also "constify" into_inner?
@bjoernager bjoernager added C-tracking-issue Category: An issue tracking the progress of sth. like the implementation of an RFC T-libs-api Relevant to the library API team, which will review and decide on the PR/issue. labels Sep 24, 2024
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Nov 20, 2024
…htriplett

Mark `get_mut` and `set_position` in `std::io::Cursor` as const.

Relevant tracking issue: rust-lang#130801

The methods `get_mut` and `set_position` can trivially be marked as const due to rust-lang#57349 being stabilised.
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Nov 20, 2024
…htriplett

Mark `get_mut` and `set_position` in `std::io::Cursor` as const.

Relevant tracking issue: rust-lang#130801

The methods `get_mut` and `set_position` can trivially be marked as const due to rust-lang#57349 being stabilised.
rust-timer added a commit to rust-lang-ci/rust that referenced this issue Nov 21, 2024
Rollup merge of rust-lang#130800 - bjoernager:const-mut-cursor, r=joshtriplett

Mark `get_mut` and `set_position` in `std::io::Cursor` as const.

Relevant tracking issue: rust-lang#130801

The methods `get_mut` and `set_position` can trivially be marked as const due to rust-lang#57349 being stabilised.
@RalfJung
Copy link
Member

@rust-lang/libs-api these are two trivial already-stable methods that (I assume) haven't been made const-stable years ago just because they need mutable references. Now that we have mutable references in const, there's no reason to wait any longer with making them const-stable IMO.

@RalfJung RalfJung added the I-libs-api-nominated Nominated for discussion during a libs-api team meeting. label Nov 30, 2024
@dtolnay
Copy link
Member

dtolnay commented Nov 30, 2024

@rfcbot fcp merge

Their non-mut counterparts, get_ref and position, were stabilized in const in Rust 1.79 by #78812.

@rfcbot
Copy link

rfcbot commented Nov 30, 2024

Team member @dtolnay has proposed to merge this. The next step is review by the rest of the tagged team members:

No concerns currently listed.

Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up!

See this document for info about what commands tagged team members can give me.

@rfcbot rfcbot added proposed-final-comment-period Proposed to merge/close by relevant subteam, see T-<team> label. Will enter FCP once signed off. disposition-merge This issue / PR is in PFCP or FCP with a disposition to merge it. labels Nov 30, 2024
@dtolnay dtolnay removed the I-libs-api-nominated Nominated for discussion during a libs-api team meeting. label Nov 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-tracking-issue Category: An issue tracking the progress of sth. like the implementation of an RFC disposition-merge This issue / PR is in PFCP or FCP with a disposition to merge it. proposed-final-comment-period Proposed to merge/close by relevant subteam, see T-<team> label. Will enter FCP once signed off. T-libs-api Relevant to the library API team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

4 participants