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

Provide io::Seek::rewind #85146

Merged
merged 4 commits into from
May 10, 2021
Merged

Provide io::Seek::rewind #85146

merged 4 commits into from
May 10, 2021

Conversation

ijackson
Copy link
Contributor

Using Seek::seek is slightly clumsy because of the need to write (or import) std::io::SeekFrom to get at SeekStart. C already has rewind (although with broken error handling); we should have it too.

I'm motivated to do this because I've just found myself copy-pasting my 5-line extension trait between projects.

That the example ends up using OpenOptions makes this look like a niche use case, but it is very common to rewind temporary files. tempfile isn't available for use in this example or it would have looked shorter and more natural.

If this gets a positive reception I will open a tracking issue and update the feature gate.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
@rust-highfive
Copy link
Collaborator

r? @m-ou-se

(rust-highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label May 10, 2021
Copy link
Member

@m-ou-se m-ou-se left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks reasonable to me. Can you open a tracking issue? Thanks!

library/std/src/io/mod.rs Outdated Show resolved Hide resolved
Co-authored-by: Mara Bos <m-ou.se@m-ou.se>
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
@m-ou-se
Copy link
Member

m-ou-se commented May 10, 2021

@bors r+

@bors
Copy link
Contributor

bors commented May 10, 2021

📌 Commit 7ae852e has been approved by m-ou-se

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 10, 2021
bors added a commit to rust-lang-ci/rust that referenced this pull request May 10, 2021
Rollup of 6 pull requests

Successful merges:

 - rust-lang#85050 (Fix suggestions for missing return type lifetime specifiers)
 - rust-lang#85075 (Improve "panic message is not a string literal" warning)
 - rust-lang#85096 (Make unchecked_{add,sub,mul} inherent methods unstably const)
 - rust-lang#85112 (ensure failing promoteds in const/static bodies are handled correctly)
 - rust-lang#85146 (Provide io::Seek::rewind)
 - rust-lang#85147 (:arrow_up: rust-analyzer)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit c5e612c into rust-lang:master May 10, 2021
@rustbot rustbot added this to the 1.54.0 milestone May 10, 2021
@ijackson ijackson deleted the seek-rewind branch August 24, 2021 17:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants