-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Remove magic constants when using base_n
.
#123922
Conversation
r? @davidtwco rustbot has assigned @davidtwco. Use |
Thanks for the cleanup! |
…ieyouxu Remove magic constants when using `base_n`. Some use cases of `base_n` use number literals instead of the predefined constants. The latter are more descriptive so it might be better to use those instead.
Rollup of 12 pull requests Successful merges: - rust-lang#123423 (Distribute LLVM bitcode linker as a preview component) - rust-lang#123548 (libtest: also measure time in Miri) - rust-lang#123666 (Fix some typos in doc) - rust-lang#123864 (Remove a HACK by instead inferring opaque types during expected/formal type checking) - rust-lang#123896 (Migrate some diagnostics in `rustc_resolve` to session diagnostic) - rust-lang#123919 (builtin-derive: tag → discriminant) - rust-lang#123922 (Remove magic constants when using `base_n`.) - rust-lang#123931 (Don't leak unnameable types in `-> _` recover) - rust-lang#123933 (move the LargeAssignments lint logic into its own file) - rust-lang#123934 (`rustc_data_structures::graph` mini refactor) - rust-lang#123941 (Fix UB in LLVM FFI when passing zero or >1 bundle) - rust-lang#123957 (disable create_dir_all_bare test on all(miri, windows)) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#123922 - TDecking:base_n_magic_removal, r=jieyouxu Remove magic constants when using `base_n`. Some use cases of `base_n` use number literals instead of the predefined constants. The latter are more descriptive so it might be better to use those instead.
pub(crate) fn push_integer_62(x: u64, output: &mut String) { | ||
if let Some(x) = x.checked_sub(1) { | ||
base_n::push_str(x as u128, 62, output); | ||
base_n::push_str(x as u128, base_n::ALPHANUMERIC_ONLY, output); |
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.
62 is not a magic number here, its purpose is very clear from the name and documentation on this function. The constant is less clear. I'm going to revert the use of the constant when I fix the merge conflicts with #123441
@@ -746,7 +746,7 @@ fn to_disambiguator(num: u64) -> String { | |||
/// <https://itanium-cxx-abi.github.io/cxx-abi/abi.html#mangle.seq-id>). | |||
fn to_seq_id(num: usize) -> String { | |||
if let Some(num) = num.checked_sub(1) { | |||
base_n::encode(num as u128, 36).to_uppercase() | |||
base_n::encode(num as u128, base_n::CASE_INSENSITIVE).to_uppercase() |
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 link right above says
A <seq-id> is a sequence number in base 36,
so i'm not convinced that this is an improvement either. but whatever, it's fine
Some use cases of
base_n
use number literals instead of the predefined constants. The latter are more descriptive so it might be better to use those instead.