-
Notifications
You must be signed in to change notification settings - Fork 13k
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
make concurrency helper more pleasant to read #78065
Conversation
r? @dtolnay (rust_highfive has picked a reviewer for you, use r? to override) |
match value.parse().ok() { | ||
Some(n) if n > 0 => n, | ||
_ => panic!("RUST_TEST_THREADS is `{}`, should be a positive integer.", value), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The previous version looks a bit easier to read on this part since it specifically mention usize
.
Also, I wonder why it needs to check n > 0
here?
I wonder will it be better to parse to NonZeroUsize
so the guarantees are already there.
match value.parse().ok() { | |
Some(n) if n > 0 => n, | |
_ => panic!("RUST_TEST_THREADS is `{}`, should be a positive integer.", value), | |
match value.parse::<std::num::NonZeroUsize>().ok() { | |
Some(n) => n.get(), | |
_ => panic!("RUST_TEST_THREADS is `{}`, should be a positive integer.", value), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
type inference/coercion is helped by the return type, or do you feel it's too far, preferring the type spelled out close to the declaration
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like this failed to build. https://github.com/rust-lang/rust/pull/78065/checks?check_run_id=1270956557
Checking test v0.0.0 (/checkout/library/test) error[E0282]: type annotations needed --> library/test/src/helpers/concurrency.rs:8:24 | 8 | Some(n) if n.is_positive() => n, | ^ cannot infer type | = note: type must be known at this point help: consider specifying the type argument in the method call | 7 | match value.parse::<F>().ok() { | ^^^^^ error: aborting due to previous error
@dtolnay How do you bold the code blocks? |
build failure fixed @dtolnay |
@bors r+ rollup |
📌 Commit 628fb9f has been approved by |
make concurrency helper more pleasant to read
make concurrency helper more pleasant to read
make concurrency helper more pleasant to read
make concurrency helper more pleasant to read
make concurrency helper more pleasant to read
Rollup of 19 pull requests Successful merges: - rust-lang#76097 (Stabilize hint::spin_loop) - rust-lang#76227 (Stabilize `Poll::is_ready` and `is_pending` as const) - rust-lang#78065 (make concurrency helper more pleasant to read) - rust-lang#78570 (Remove FIXME comment in print_type_sizes ui test suite) - rust-lang#78572 (Use SOCK_CLOEXEC and accept4() on more platforms.) - rust-lang#78658 (Add a tool to run `x.py` from any subdirectory) - rust-lang#78706 (Fix run-make tests running when LLVM is disabled) - rust-lang#78728 (Constantify `UnsafeCell::into_inner` and related) - rust-lang#78775 (Bump Rustfmt and RLS) - rust-lang#78788 (Correct unsigned equivalent of isize to be usize) - rust-lang#78811 (Make some std::io functions `const`) - rust-lang#78828 (use single char patterns for split() (clippy::single_char_pattern)) - rust-lang#78841 (Small cleanup in `TypeFoldable` derive macro) - rust-lang#78842 (Honor the rustfmt setting in config.toml) - rust-lang#78843 (Less verbose debug logging from inlining integrator) - rust-lang#78852 (Convert a bunch of intra-doc links) - rust-lang#78860 (rustc_resolve: Use `#![feature(format_args_capture)]`) - rust-lang#78861 (typo and formatting) - rust-lang#78865 (Don't fire `CONST_ITEM_MUTATION` lint when borrowing a deref) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
No description provided.