Commit Graph

92 Commits

Author SHA1 Message Date
joboet
d39afacbdf std: expose const_io_error! as const_error!
ACP: rust-lang/libs-team#205
Tracking issue: #133448
2024-11-25 15:23:31 +01:00
binarycat
b004cac72e update io::Error::into_inner to acknowlage io::Error::other 2024-11-08 10:43:34 -06:00
Josh Stone
f204e2c23b replace placeholder version
(cherry picked from commit 567fd9610cbfd220844443487059335d7e1ff021)
2024-10-15 20:13:55 -07:00
nora
ded22ea181 Add tracking issue for io_error_inprogress 2024-09-25 17:40:55 +02:00
Aviram Hassan
46fd76e9a5 add InProgress ErrorKind gated behind io_error_inprogress feature
Co-authored-by: David Tolnay <dtolnay@gmail.com>
Co-authored-by: nora <48135649+Noratrieb@users.noreply.github.com>
2024-09-24 20:49:56 +03:00
Jubilee
1392965e05 Rollup merge of #128316 - GrigorenkoPV:io_error_a_bit_more, r=dtolnay
Stabilize most of `io_error_more`

Sadly, venting my frustration with t-libs-api is not a constructive way to solve problems and get things done, so I will try to stick to stuff that actually matters here.

- Tracking issue for this feature was opened 3 years ago: #86442
- FCP to stabilize it was completed 19(!!) months ago: https://github.com/rust-lang/rust/issues/86442#issuecomment-1368082102
- A PR with stabilization was similarly open for 19 months: #106375, but nothing ever came out of it. Presumably (it is hard to judge given the lack of communication) because a few of the variants still had some concerns voiced about them, even after the FCP.

So, to highlight a common sentiment:

> Maybe uncontroversial variants can be stabilised first and other variants (such as `QuotaExceeded` or `FilesystemLoop`) later? [^1]

[^1]: https://github.com/rust-lang/rust/issues/106375#issuecomment-1435762236

> I would like to voice support stabilization of the uncontroversial variants. This would get those variants to stable and focus the discussion around the more controversial ones. I don't see any particular reason that all of these must be stabilized at the same time. [...] [^2]

[^2]: https://github.com/rust-lang/rust/pull/106375#issuecomment-1742661555

> Maybe some less-controversial subset could be stabilized sooner? What’s blocking this issue from making progress? [^3]

[^3]: https://github.com/rust-lang/rust/issues/86442#issuecomment-1691187483 (got 30 upvotes btw) (and no response)

So this is exactly what this PR does. It stabilizes the non-controversial variants now, leaving just a few of them behind.

Namely, this PR stabilizes:

- `HostUnreachable`
- `NetworkUnreachable`
- `NetworkDown`
- `NotADirectory`
- `IsADirectory`
- `DirectoryNotEmpty`
- `ReadOnlyFilesystem`
- `StaleNetworkFileHandle`
- `StorageFull`
- `NotSeekable`
- `FileTooLarge`
- `ResourceBusy`
- `ExecutableFileBusy`
- `Deadlock`
- `TooManyLinks`
- `ArgumentListTooLong`
- `Unsupported`

This PR does not stabilize:
- `FilesystemLoop`
- `FilesystemQuotaExceeded`
- `CrossesDevices`
- `InvalidFilename`

Hopefully, this will allow us to move forward with this highly and long awaited addition to std, both allowing to still polish the less clear parts of it and not leading to stagnation.

r? joshtriplett
because they seem to be listed as a part of t-libs-api and were one of the most responsive persons previously
2024-09-09 19:20:34 -07:00
Nicholas Nethercote
84ac80f192 Reformat use declarations.
The previous commit updated `rustfmt.toml` appropriately. This commit is
the outcome of running `x fmt --all` with the new formatting options.
2024-07-29 08:26:52 +10:00
Pavel Grigorenko
f693910dcd Partially stabilize io_error_more 2024-07-28 22:11:09 +03:00
John Arundel
a19472a93e Fix doc nits
Many tiny changes to stdlib doc comments to make them consistent (for example
"Returns foo", rather than "Return foo", per RFC1574), adding missing periods, paragraph
breaks, backticks for monospace style, and other minor nits.

https://github.com/rust-lang/rfcs/blob/master/text/1574-more-api-documentation-conventions.md#appendix-a-full-conventions-text
2024-07-26 13:26:33 +01:00
Yuri Astrakhan
91275b2c2b Avoid ref when using format! for perf
Clean up a few minor refs in `format!` macro, as it has a tiny perf
cost. A few more minor related cleanups.
2024-07-19 12:23:49 -04:00
Mark Rousskov
bd7d328807 Replace version placeholders for 1.79 2024-05-01 21:01:51 -04:00
Jiahao XU
7b53f69674 Stablise io_error_downcast
Tracking issue #99262
2024-04-18 00:07:46 +10:00
Jiahao XU
05366ee270 Update doc for std::io::Error::downcast 2024-04-15 21:58:36 +10:00
Jiahao XU
4a6b1562b5 Update document for std::io::Error::downcast 2024-04-12 23:03:36 +10:00
Benoît du Garreau
9c64068ddb Factor some common io::Error constants 2024-04-11 09:55:15 +02:00
Mark Rousskov
4fb89c5056 branch 1.78: replace-version-placeholder 2024-03-19 19:27:24 -04:00
Kornel
e49cd1c578 TryReserveError to ErrorKind::OutOfMemory 2024-02-21 16:31:53 +00:00
Jiahao XU
baa2cf5ea6 Update std::io::Error::downcast return type
and update its doc according to decision made by rust libs-api team.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2024-01-19 09:26:56 +11:00
Mark Rousskov
787d32324c Bump version placeholders 2023-10-03 20:26:36 -04:00
Ayush Singh
984ecefed8 Fixes from PR
- Hide Docs
- Use repr_unpacked error

Signed-off-by: Ayush Singh <ayushdevel1325@gmail.com>
2023-09-22 23:56:51 +05:30
Ben Kimock
6cee6b0bde PR feedback 2023-09-20 16:49:13 -04:00
bors
24bece8420 Auto merge of #115453 - ibraheemdev:patch-16, r=joshtriplett
Stabilize `io_error_other` feature

Per the FCP for https://github.com/rust-lang/rust/issues/91946.
2023-09-06 08:00:25 +00:00
Ayush Singh
56df6b8189 Move RawOsError defination to sys
Signed-off-by: Ayush Singh <ayushdevel1325@gmail.com>
2023-09-03 12:35:03 +05:30
Ibraheem Ahmed
7abfc57ea1 stabilize io_error_other feature 2023-09-01 16:04:41 -04:00
Ben Kimock
1abaf40ec8 Add a new helper to avoid calling io::Error::kind 2023-08-25 21:26:06 -04:00
KaDiWa
ad2b34d0e3 remove some unneeded imports 2023-04-12 19:27:18 +02:00
Matthias Krüger
aeabe34d79 Rollup merge of #106964 - workingjubilee:crouching-ioerror-hidden-documentation, r=ChrisDenton
Clarify `Error::last_os_error` can be weird

Fundamentally, querying the OS for error codes is a process that is deeply subject to the whims of chance and fortune. We can account for OS, but not for every combination of platform APIs. A compiled binary may not recognize new errors introduced years later. We should clarify a few especially odd situations, and what they mean: We can effectively promise nothing... if you ask for Rust to decode errors where none have occurred.

This allows removing mention of ErrorKind::Uncategorized.
That error variant is hidden deliberately, so we should not explicitly mention it.

This fixes #106937.

Since you had an opinion also: Does this solution seem acceptable?
r? ``@ChrisDenton``
2023-03-23 19:55:42 +01:00
Jubilee Young
0f32fd8484 Remove irrelevant docs on error kinds 2023-03-17 14:26:02 -07:00
joboet
6a5331146c std: add tracking issue for RawOsError 2023-02-08 12:35:27 +01:00
joboet
42cc28ac8b std: add type alias for raw OS errors
Implement rust-lang/libs-team#173.
2023-01-31 17:23:35 +01:00
Jubilee Young
2d927cc194 Explain the "no-error" io::Error case
Fundamentally, querying the OS for error codes is a process
that is deeply subject to the whims of chance and fortune.
We can account for OS, but not for every combination of platform APIs.
A compiled binary may not recognize new errors introduced years later.
We should clarify a few especially odd situations, and what they mean:
We can effectively promise nothing.

This allows removing mention of ErrorKind::Uncategorized.
That error variant is hidden quite deliberately, so we
should not explicitly mention it.
2023-01-16 20:58:15 -08:00
Matthias Krüger
a96f1a8a1e Rollup merge of #103067 - Nilstrieb:tidy-likes-the-alphabet, r=jackh726
More alphabetical sorting

Sort and enforce a few more things. The biggest change here is sorting all target features.
2022-10-14 23:43:46 +02:00
nils
3c0062641d Add some tidy-alphabetical 2022-10-14 21:18:03 +02:00
Josh Triplett
f95e853222 Tweak grammar 2022-10-14 12:17:07 +01:00
StackOverflowExcept1on
4cf30c0022 Improved documentation for std::io::Error 2022-10-07 15:42:05 +03:00
Pietro Albini
3975d55d98 remove cfg(bootstrap) 2022-09-26 10:14:45 +02:00
Matthias Krüger
58174e3f7c Rollup merge of #100296 - BlackHoleFox:os-error-aliases, r=thomcc
Add standard C error function aliases to last_os_error

This aids the discoverability of `io::Error::last_os_error()` by linking to commonly used error number functions from C/C++.

I've seen a few people not realize this exists, so hopefully this helps draw attention to the API to encourage using it over integer error codes.
2022-08-28 09:35:14 +02:00
Jane Losare-Lusby
bf7611d55e Move error trait into core 2022-08-22 13:28:25 -07:00
BlackHoleFox
08c97323de Add standard C error function aliases
Aids the discoverability of `io::Error::last_os_error()` by linking to
commonly used error number functions from C/C++.
2022-08-08 17:56:21 -07:00
Jane Losare-Lusby
8e8a3be22f Apply suggestions from code review 2022-07-15 13:17:44 -07:00
Jiahao XU
d8aba1002a Improve example of downcast
Co-authored-by: Jane Losare-Lusby <jlusby42@gmail.com>
2022-07-15 13:04:06 +10:00
Jiahao XU
111253c519 Rename std::io::Error::try_downcast_inner to downcast
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-07-14 11:24:44 +10:00
Jiahao XU
516da4c93f Use unwrap instead of unwrap_unchecked
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-23 12:58:33 +10:00
Jiahao XU
e0ea0c2534 Add new unstable API Error::try_downgrade_inner
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2022-06-22 22:44:30 +10:00
T-O-R-U-S
72a25d05bf Use implicit capture syntax in format_args
This updates the standard library's documentation to use the new syntax. The
documentation is worthwhile to update as it should be more idiomatic
(particularly for features like this, which are nice for users to get acquainted
with). The general codebase is likely more hassle than benefit to update: it'll
hurt git blame, and generally updates can be done by folks updating the code if
(and when) that makes things more readable with the new format.

A few places in the compiler and library code are updated (mostly just due to
already having been done when this commit was first authored).
2022-03-10 10:23:40 -05:00
Dylan DPC
3f4b039e33 word wrpa 2022-02-24 00:37:06 +01:00
Dylan DPC
eb795c24fb word wrpa 2022-02-24 00:30:07 +01:00
Dylan DPC
c46d9f6c89 Update library/std/src/io/error.rs
Co-authored-by: Josh Triplett <josh@joshtriplett.org>
2022-02-23 23:18:42 +01:00
Dylan DPC
057dc09eae add some more summary from pr discussion 2022-02-23 03:29:02 +01:00
Dylan DPC
37cbc7d120 add some more summary from pr discussion 2022-02-23 03:28:27 +01:00