rust-bitcoin-unsafe-fast/bitcoin/src
Andrew Poelstra 1ceac90bf6
Merge rust-bitcoin/rust-bitcoin#2565: Removes txid prefix in transaction IDs
56132f59d5     Remove the `:#` formatting for `hex_fmt_impl` macro (448 OG)

Pull request description:

  This commit attempts to solve #2505  by ensuring that formatting is not forced using the `:#` in the hex macro code generating in macro rule `hex_fmt_impl` in the hashes/utils.rs file.

  The write! macro forces all formatting to add the prefix `0x` by adding an alternate by (#) default

  ```rust
  impl<$($gen: $gent),*> $crate::_export::_core::fmt::Debug for $ty<$($gen),*> {
              #[inline]
              fn fmt(&self, f: &mut $crate::_export::_core::fmt::Formatter) -> $crate::_export::_core::fmt::Result {
                  write!(f, "{:#}", self) // <-- This is where the formatting is being forced.
              }
          }
  ```

  By removing this formatting, the `:#` must be specified by the user in order for a prefix to be added.

  ```rust
  let outpoint = bitcoin::OutPoint::default();
      println!("{:?}", &outpoint);
      println!("{:#?}", &outpoint);
      println!("{:#}", &outpoint);
      println!("{:x}", &outpoint.txid);
      // `{:#}` must be specified to pretty print with a prefix
      println!("{:#}", &outpoint.txid);
      dbg!(&outpoint);
      dbg!(&outpoint.txid);
  ```

  The PR also adds testcase for this when running `cargo test` .

ACKs for top commit:
  tcharding:
    ACK 56132f59d5
  apoelstra:
    ACK 56132f59d5

Tree-SHA512: 9e4fc9f30ab0b3cf2651d3c09f7f01d8245ac8ea7ae3a82bb4efd19f25c77662bf279020a31fa61b37587cc0c74284696c56045c59f1ba63b2dd42a210d98ebc
2024-03-13 17:28:09 +00:00
..
address Implement infallible for errors 2024-03-08 16:48:34 +11:00
blockdata Merge rust-bitcoin/rust-bitcoin#2565: Removes txid prefix in transaction IDs 2024-03-13 17:28:09 +00:00
consensus Upgrade hex dependency 2024-03-10 10:35:01 +11:00
crypto Upgrade hex dependency 2024-03-10 10:35:01 +11:00
merkle_tree Implement infallible for errors 2024-03-08 16:48:34 +11:00
p2p Add ServiceFlags::P2P_V2 2024-03-08 15:07:34 -05:00
psbt Upgrade hex dependency 2024-03-10 10:35:01 +11:00
taproot Upgrade hex dependency 2024-03-10 10:35:01 +11:00
bip32.rs Implement infallible for errors 2024-03-08 16:48:34 +11:00
bip152.rs Implement infallible for errors 2024-03-08 16:48:34 +11:00
bip158.rs Implement infallible for errors 2024-03-08 16:48:34 +11:00
error.rs Do infallible int from hex conversions 2024-02-27 10:40:52 +11:00
hash_types.rs Add deprecation comment to hash_types module 2023-12-05 15:01:18 +11:00
internal_macros.rs Make from_hex inherent for byte-like types 2024-02-22 09:16:31 +11:00
lib.rs Merge rust-bitcoin/rust-bitcoin#2492: Remove the FromHexStr trait 2024-03-07 14:36:53 +00:00
network.rs Add ServiceFlags::P2P_V2 2024-03-08 15:07:34 -05:00
parse.rs Merge rust-bitcoin/rust-bitcoin#2492: Remove the FromHexStr trait 2024-03-07 14:36:53 +00:00
policy.rs bitcoin: Remove attribution from all files 2023-05-01 09:22:48 +10:00
pow.rs Merge rust-bitcoin/rust-bitcoin#2530: Improve leaf errors 2024-03-13 15:03:57 +00:00
serde_utils.rs Fix new nightly warnings/errors 2024-02-21 14:13:49 +11:00
sign_message.rs Implement infallible for errors 2024-03-08 16:48:34 +11:00
test_macros.rs bitcoin: Remove attribution from all files 2023-05-01 09:22:48 +10:00