You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While using this library, I end up having lifetime issues with
`Config::get`. I've seen that current implementation forces the calleer
to match `key` lifetime to the output of the function.
My use case is, under some circumstances, return a suffixed version of
the config key. Something similar to:
```
if some_condition == true {
let key_name = format!("{}_suffix", key);
self.config.get(&key_name)
} else {
self.config.get(key)
}
```
This code is noy compiling for me due to conflicting lifetimes. To avoid
this, I've started looking to the code and I've found that `key` needed
this lifetime because of `ValueWithKey`. The purpouse of this struct
seems to be add more information to the errors that are returned to the
user.
To mitigate this lifetime coupling I've:
- Mapped the error on `Config::get` to include the originating key of
the current error
- Remove all the code related with `ValueWithKey`
0 commit comments