Skip to content

Unhelpful panic inside of view() when add_char was never called #10

@Follpvosten

Description

@Follpvosten

Hi!
I'm starting to use this library in my project and I've already run into one of your TODOs, specifically in lib.rs line 250, there's a panic when you haven't called add_char yet (the TODO is already there at line 256).
A simple solution would be calling .saturating_sub(w / 2) instead of using -, but I think ideally, the whole Captcha type should be refactored into two different ones (like a typestate, you'd then have a CaptchaConfig type and you can only get a Captcha from it if you set all the required values, and that captcha can then be cropped, rendered etc).

I've also noticed that there are a lot of minor parts of the code that aren't very idiomatic (there are 31 clippy warnings); for example, some functions have three nested matches that could easily be replaced with either ? or an .and_then chain, some struct initializers have redundant field names, and there are lots of clones on Copy types.

Would you be interested in a bigger PR fixing all of the smaller issues? I'd love to contribute to this project.
Best regards

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions