Skip to content
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

Eliza/bit misc #292

Merged
merged 3 commits into from
Aug 8, 2022
Merged

Eliza/bit misc #292

merged 3 commits into from
Aug 8, 2022

Conversation

hawkw
Copy link
Owner

@hawkw hawkw commented Aug 8, 2022

No description provided.

Turns out this will recur infinitely, because it calls `self`'s
`fmt::Binary` impl instead of `self.0`'s (the actual integer value).
WHOOPS!
This adds generated implementations of the `UpperHex` and `LowerHex`
formatting traits to bitfield types.
For `fmt::UpperHex`, `fmt::LowerHex`, and `fmt::Binary`, the "alt mode"
format controls whether or not a leading `0x` or `0b` prefix is emitted.
However, for the implementations of those traits on generated bitfield
types, it will also effect the formatting behavior of `fmt::DebugTuple`
(enabling multi-line format), as the generated format impls currently
use `DebugTuple`.

This commit removes the use of `DebugTuple`, and changes the types to
just generate their own tuple-struct-like formatting. This way, we won't
output a multiline format for a bitfield type just because the user
wanted a leading `0b` prefix or `0x` prefix.
@hawkw hawkw enabled auto-merge (rebase) August 8, 2022 17:19
@hawkw hawkw merged commit 03055f0 into main Aug 8, 2022
@hawkw hawkw deleted the eliza/bit-misc branch August 8, 2022 17:26
hawkw added a commit that referenced this pull request Aug 8, 2022
Turns out this will recur infinitely, because it calls `self`'s
`fmt::Binary` impl instead of `self.0`'s (the actual integer value).
WHOOPS!
hawkw added a commit that referenced this pull request Aug 8, 2022
This adds generated implementations of the `UpperHex` and `LowerHex`
formatting traits to bitfield types.
hawkw added a commit that referenced this pull request Jul 23, 2023
## mycelium-bitfield-v0.1.3 - (2023-07-23)

[d0a6f13](https://github.com/hawkw/mycelium/d0a6f13cc53e0cd5dbd493b63ba0711fd06dc985)...[ab096b4](https://github.com/hawkw/mycelium/ab096b4bcf64beda092b3980ca32cb50ad4c2682)

### Added

- Generate `fmt::UpperHex` and `LowerHex`
  ([#292](#292))
  ([b6138c8](https://github.com/hawkw/mycelium/b6138c8b7b704c59e394fd5600c321d7eede0a46))
- Add `Pack::pair_with`
  ([#294](#294))
  ([47b08b7](https://github.com/hawkw/mycelium/47b08b7506712cf5664cf62bf5f0c72fa226a994))
- Add `Pair::pack_from_{src, dst}`
  ([#294](#294))
  ([48f48ca](https://github.com/hawkw/mycelium/48f48cab628c88edc4fa3ce6a045c522976a62e7))
- Skip `_` fields in `fmt::Debug`
  ([#375](#375))
  ([46ca526](https://github.com/hawkw/mycelium/46ca52615338f5341fd0006b56a20379a1a797de))
- Add `display_ascii` to generated bitfields
  ([#420](#420))
  ([7842802](https://github.com/hawkw/mycelium/7842802e1b52da0d7939c972b69964cddc4f875a))
- Select Unicode format with `Display` alt-mode
  ([#420](#420))
  ([a09d55b](https://github.com/hawkw/mycelium/a09d55b7dd81aed292ec8265ce28c8f70f0b293d))
- Add `enum_from_bits!` macro
  ([#450](#450))
  ([ab096b4](https://github.com/hawkw/mycelium/ab096b4bcf64beda092b3980ca32cb50ad4c2682),
  closes [#443](#443))

### Documented

- Fix main branch docs link
  ([#290](#290))
  ([4dbdf37](https://github.com/hawkw/mycelium/4dbdf376aab37ba88d48abf6c25ec2f386f62c44))
- Replace tables with bulleted lists
  ([#451](#451))
  ([10cd876](https://github.com/hawkw/mycelium/10cd8765964ce98e18787f7ba5c299ed7a11a86d))

### Fixed

- Remove recursion in `fmt::Binary`
  ([#292](#292))
  ([0488696](https://github.com/hawkw/mycelium/04886961ba460fceb662fdff8f80d481e54ed241))
- Don't have `fmt::alt` control struct formatting
  ([#292](#292))
  ([03055f0](https://github.com/hawkw/mycelium/03055f086dbdbb68be6cb2a6eef96ffa450df61c))
- Make `pair_with` work with other bitfields
  ([#295](#295))
  ([532ee98](https://github.com/hawkw/mycelium/532ee987e0eddd203fc7ff3698a4c9f36232c669))
- Make `Packing` work with typed specs
  ([#295](#295))
  ([7b86e81](https://github.com/hawkw/mycelium/7b86e811a77831f4745e2b9437b3125ac27be8c8))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant