-
Notifications
You must be signed in to change notification settings - Fork 76
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
Suppressing static lifetimes from Text (and other modules ?) #241
Comments
Hey! |
@NicolasGB I have the same error how did you clone it`? My fn looks like this:
|
Hey @Yingrjimsch, sorry i was away for the last few weeks. I did pretty much the same you did, i had to validate if a given data already existed in my appstate, and had to clone my vec. As the data is not very big i didn't bother wrapping in Rc or whatsoever. You can have a look at my code here: https://github.com/NicolasGB/filecrab/blob/main/filecrab-cli/src/cli/config.rs Hope it helps :) |
I am sharing a certain object via |
Is your feature request related to a problem? Please describe.
While working with Inquire to setup a name verification, I look through an HashMap that is contained by a struct and pass that struct through a ref, that looks like this :
But I can't pass a simple ref to the validator as it needs a static lifetime, and I rather avoid cloning the hashmap / container (they can get pretty big) or sharing them through an
Rc<RefCell<T>>
.Describe the solution you'd like
I tried to implement a solution which is available on my fork : stormshield-guillaumed@2a07dc4 (branch in case I end up doing other changes : https://github.com/stormshield-hf/inquire/tree/work/hf/remove_static_lifetimes)
TLDR: We add a second lifetime to the
Text
struct which is associated to validators (and the autocompleter) and add a clone implementation that specializes on'b: static
.The advantage of this solution is that it will keep the existing clone impl.
The main disadvantage is that it will be a breaking change as we need to add a lifetime.
Describe alternatives you've considered
Another solution we tried is specifying that validator must be
'a
rather than'static
but we must specialize theClone
as'a: static
, which might be an even greater breaking change depending on the usage of the lib.Additional context
Add any other context or screenshots about the feature request here.
The text was updated successfully, but these errors were encountered: