From 62f3276d06e02fe87b3379ca3e1e6d84fcb7f765 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20J=C3=B6rdens?= Date: Tue, 24 Sep 2024 16:01:26 +0200 Subject: [PATCH] cleanup readme/changelog --- CHANGELOG.md | 3 +-- miniconf/README.md | 8 ++++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a820f3f2..988c7dde 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,8 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased](https://github.com/quartiq/miniconf/compare/v0.13.0...HEAD) - DATE ### Added -* Derive support for enums where all variants are newtypes has been added. -* Added `#[automatically_derived]` attributes +* Derive support for enums with newtype/unit/skipped variants ### Removed diff --git a/miniconf/README.md b/miniconf/README.md index 6fafc6ee..d511d6ce 100644 --- a/miniconf/README.md +++ b/miniconf/README.md @@ -168,7 +168,7 @@ Fields/items that form internal nodes (non-leaf) need to implement the respectiv Leaf fields/items need to support the respective [`serde`] trait (and the desired `serde::Serializer`/`serde::Deserializer` backend). -Structs, arrays, and Options can then be cascaded to construct more complex trees. +Structs, enums, arrays, and Options can then be cascaded to construct more complex trees. When using the derive macro, the behavior and tree recursion depth can be configured for each struct field using the `#[tree(depth(Y))]` attribute. @@ -187,11 +187,11 @@ It implements [`Keys`]. ## Limitations -Access to inner fields of some types is not yet supported, e.g. enums -other than [`Option`] and enums with only newtype/unit variants. +The derive macros don't support enums with record (named fields) variants or tuple (non-newtype) variants. These are still however usable in their atomic `serde` form as leaf nodes. -Many `std` smart pointers are not supported or handled in any special way: `Box`, `Rc`, `Arc`. +The derive macros don't handle `std`/`alloc` smart pointers ( `Box`, `Rc`, `Arc`) in any special way. +They however still be handled with accessors (`get`, `get_mut`, `validate`). ## Features