Skip to content

fix: tweak encode::Context with future backwards compatibility in mind

Georgy Moshkin requested to merge gmoshkin/encode-tweaks into master

Summary

  • feat: impl {Encode, Decode} for [T; N]

  • feat: impl {Encode, Decode} for Option

  • test: test Encode/Decode for integers

  • fix: don't allocated in {Encode, Decode} for char

  • feat: impl {Encode, Decode} for {HashMap, HashSet, BTreeSet}

  • feat: impl {Encode, Decode} for pointer types &, &mut, Box, Rc

  • test: be more explicit about what we check in encode tests

  • fix: tweak encode::Context with future backwards compatibility in mind

  • All fields are private and are accessed via getter methods;
  • No Context::new function, as there's no good set of parameters the users are most likely to set. Instead the builder-style methods will be used to set context parameters;
  • Context::style renamed to Context::struct_style to avoid confusion;
  • EncodeStyle renamed StructStyle to avoid confusion;
  • ci: display cpuinfo before running the benchmark

Ensure that

  • New code is covered by tests
  • API is documented
  • Changelog is up to date
  • Version is bumped in the appropriate Cargo.toml files

Merge request reports