refactor: use () for std::vector size/fill ctors #36693

pull b1tflyyyy wants to merge 1 commits into bitcoin:master from b1tflyyyy:refactor/use-parentheses-for-vector-size-ctors changing 3 files +7 −7
  1. b1tflyyyy commented at 12:47 PM on October 29, 2026: none

    <!-- *** Please remove the following help text before submitting: *** Pull requests may be closed immediately if they: - do not have a rationale and clear improvement - do not adhere to doc/AI_POLICY.md GUI-related pull requests should be opened against https://github.com/bitcoin-core/gui first. See CONTRIBUTING.md -->

    <!-- Please provide clear motivation for your patch and explain how it improves Bitcoin Core user experience or Bitcoin Core developer experience significantly: * Any test improvements or new tests that improve coverage are always welcome. * All other changes should have accompanying unit tests (see `src/test/`) or functional tests (see `test/`). Contributors should note which tests cover modified code. If no tests exist for a region of modified code, new tests should accompany the change. * Bug fixes are most welcome when they come with steps to reproduce or an explanation of the potential issue as well as reasoning for the way the bug was fixed. * Features are welcome, but might be rejected due to design or scope issues. If a feature is based on a lot of dependencies, contributors should first consider building the system outside of Bitcoin Core, if possible. * Refactoring changes are only accepted if they are required for a feature or bug fix or otherwise improve developer experience significantly. For example, most "code style" refactoring changes require a thorough explanation why they are useful, what downsides they have and why they *significantly* improve developer experience or avoid serious programming bugs. Note that code style is often a subjective matter. Unless they are explicitly mentioned to be preferred in the [developer notes](/doc/developer-notes.md), stylistic code changes are usually rejected. -->

    <!-- Bitcoin Core has a thorough review process and even the most trivial change needs to pass a lot of eyes and requires non-zero or even substantial time effort to review. There is a huge lack of active reviewers on the project, so patches often sit for a long time. -->

    Change:

    Use parentheses instead of braces when std::vector size/fill ctor is called. While

    std::vector<std::byte> keys{KEY_SIZE}; 
    std::vector<void*> addr{ASIZE, nullptr};
    std::vector<CPubKey> keys{n_keys};
    

    compiles now with calling std::vector size/fill ctor (because: KEY_SIZE cannot initialize std::byte; ASIZE cannot initialize void*; n_keys cannot initialize CPubKey) using brace initialization here is error-prone and no so reliable:

    1. It violates C++ Core Guideline (mentioned here) especially this exception:
    Exception
    
    For containers, there is a tradition for using {...} for a list of elements and (...) for sizes:
    
    vector<int> v1(10);    // vector of 10 elements with the default value 0
    vector<int> v2{10};    // vector of 1 element with the value 10
    
    vector<int> v3(1, 2);  // vector of 1 element with the value 2
    vector<int> v4{1, 2};  // vector of 2 elements with the values 1 and 2
    
    1. Keep codebase consistent, for example here () used instead of {} (where std::vector size/fill ctor is called): 1 2 3 ...
  2. refactor: use () for std::vector size ctors d498630b73
  3. DrahtBot added the label Refactoring on Oct 29, 2026
  4. DrahtBot commented at 12:47 PM on October 29, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--006a51241073e994b41acfe9ec718e94-->

    External sites

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline and AI policy for information on the review process. A summary of reviews will appear here.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  5. pinheadmz commented at 1:01 PM on October 29, 2026: member

    Please don't open new pull requests just for tiny typo fixes or refactors, they are a drag on our integration testing infrastructure, maintainer time and reviewer time. See https://github.com/bitcoin/bitcoin/blob/master/CONTRIBUTING.md#refactoring:

    Trivial pull requests or pull requests that refactor the code with no clear benefits may be immediately closed by the maintainers to reduce unnecessary workload on reviewing.

    There are many more significant ways to contribute to Bitcoin! Try reviewing open pull requests, reading and testing other contirbutors' code and gaining a broader understanding of the mechanics of the project.

  6. b1tflyyyy closed this on Oct 29, 2026

  7. maflcko commented at 1:09 PM on October 29, 2026: member

    If we wanted this, this should be done via clang-tidy (or similar), not via manual changes/review.

  8. b1tflyyyy commented at 1:12 PM on October 29, 2026: none

    If we wanted this, this should be done via clang-tidy (or similar), not via manual changes/review.

    Ok, I understand.


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-10-30 15:51 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me