Skip to content

Implement traits over standard Rust types #8

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

Closed
18 tasks done
jtempest opened this issue May 29, 2020 · 1 comment
Closed
18 tasks done

Implement traits over standard Rust types #8

jtempest opened this issue May 29, 2020 · 1 comment

Comments

@jtempest
Copy link
Owner

jtempest commented May 29, 2020

Implement FloatEq, FloatDiff, FloatEqDebug and where appropriate FloatEqAll and FloatEqAllDebug over the following standard types (see #3):

  • f32
  • f64
  • Reference types
  • Arrays (size 0 to 32, inclusive)
  • Tuples (including (), up to size 12, inclusive)

Wrappers

  • Cell
  • RefCell
  • Box
  • Rc
  • Arc

Containers that may fail calculating diffs

  • Option (see Blanket trait impls for Result #12)
  • Result (postponed, possibly indefinitely, pending design of what to do with enums)
  • Slices (structured epsilons - see FloatEq impls over slices #13)
  • Slices (*_all checks)
  • Vec
  • VecDeque
  • LinkedList
  • BTreeMap
  • HashMap (maybe approximately eq values for exact key matches?)
  • BTreeSet (requires that types be Ord, and Rust floats are not)
  • HashSet (requires that types be Eq/Hash, and Rust floats are neither)
  • TODO: Containers with other containers (e.g. Vec with arrays, etc). (will be added as a fresh issue)
@jtempest jtempest added enhancement New feature or request and removed enhancement New feature or request labels Jun 12, 2020
@jtempest
Copy link
Owner Author

Closed, pending more specific issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant