DioxusLabs/taffy

Enforce values that must not be negative at a type level

Open

#207 opened on Jul 25, 2022

View on GitHub
 (1 comment) (0 reactions) (0 assignees)Rust (192 forks)github user discovery
good first issueusability

Repository metrics

Stars
 (3,189 stars)
PR merge metrics
 (PR metrics pending)

Description

What problem does this solve or what need does it fill?

Some values, such as flex_grow and flex_shrink, must not be negative, but are stored as a simple f32.

Documentation is a poor way to enforce this sort of constraint in Rust.

What solution would you like?

Use a non-negative float wrapper type. We can either hand-write this. or reuse an existing crate's work if something suitable exists.

Additional context

Noticed due to #206.

We should keep an eye out for other values that are similarly bounded as part of these changes.

Contributor guide