Types using nested maps would fail to compile due to bad builder configuration:
error[E0277]: a value of type `BTreeMap<std::string::String, BTreeSet<std::string::String>>` cannot be built from an iterator over elements of type `(std::string::String, std::string::String)`
--> /Volumes/git/public/conjure-rust/target/debug/build/conjure-test-43c1963ddae97566/out/conjure/map_map_value.rs:16:48
|
16 | convert = |v|v.into_iter().collect()
| ^^^^^^^ value of type `BTreeMap<std::string::String, BTreeSet<std::string::String>>` cannot be built from `std::iter::Iterator<Item=(std::string::String, std::string::String)>`
|
= help: the trait `FromIterator<(std::string::String, std::string::String)>` is not implemented for `BTreeMap<std::string::String, BTreeSet<std::string::String>>`
= help: the trait `FromIterator<(std::string::String, BTreeSet<std::string::String>)>` is implemented for `BTreeMap<std::string::String, BTreeSet<std::string::String>>`
= help: for that trait implementation, expected `BTreeSet<std::string::String>`, found `std::string::String`
note: the method call chain might not have had the expected associated types
After this PR
==COMMIT_MSG==
Fixed handling of nested maps fields.
==COMMIT_MSG==
What do the change types mean?
- `feature`: A new feature of the service.
- `improvement`: An incremental improvement in the functionality or operation of the service.
- `fix`: Remedies the incorrect behaviour of a component of the service in a backwards-compatible way.
- `break`: Has the potential to break consumers of this service's API, inclusive of both Palantir services
and external consumers of the service's API (e.g. customer-written software or integrations).
- `deprecation`: Advertises the intention to remove service functionality without any change to the
operation of the service itself.
- `manualTask`: Requires the possibility of manual intervention (running a script, eyeballing configuration,
performing database surgery, ...) at the time of upgrade for it to succeed.
- `migration`: A fully automatic upgrade migration task with no engineer input required.
_Note: only one type should be chosen._
How are new versions calculated?
- ❗The `break` and `manual task` changelog types will result in a major release!
- 🐛 The `fix` changelog type will result in a minor release in most cases, and a patch release version for patch branches. This behaviour is configurable in autorelease.
- ✨ All others will result in a minor version release.
Before this PR
Types using nested maps would fail to compile due to bad builder configuration:
After this PR
==COMMIT_MSG== Fixed handling of nested maps fields. ==COMMIT_MSG==