Skip to content
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

replace fast-float with fast-float2 #19541

Closed
jqnatividad opened this issue Oct 30, 2024 · 2 comments · Fixed by #19578
Closed

replace fast-float with fast-float2 #19541

jqnatividad opened this issue Oct 30, 2024 · 2 comments · Fixed by #19578
Assignees
Labels
accepted Ready for implementation enhancement New feature or an improvement of an existing feature

Comments

@jqnatividad
Copy link
Contributor

jqnatividad commented Oct 30, 2024

Description

The fast-float crate has not been maintained, with the last release more than four years ago.

fast-float2 is a fork by one of the main contributors now that the maintainer has been unresponsive.

aldanor/fast-float-rust#35 (comment)

Also see #13035

@jqnatividad jqnatividad added the enhancement New feature or an improvement of an existing feature label Oct 30, 2024
@Alexhuszagh
Copy link

Alexhuszagh commented Oct 31, 2024

This might be worth waiting until version 0.2.2, which will be very soon. I'm ripping out most of the unsafe code where the safety checks can be elided by the compiler, avoiding a lot of the potential unsoundness documented in aldanor/fast-float-rust#37.

There's a lot of unsafe code wrapped into safe functions, which are only safe due to the context in AsciiStr, which most can be removed and the rest can be marked as unsafe to avoid unsoundness.

@Alexhuszagh
Copy link

Version 0.2.2 has been published which removes most of the unsafe code and removes locally unsound "safe" methods, by either ensuring they maintain safety invariants or are marked as unsafe with the required preconditions documented to ensure the caller uses them correctly.

This addresses all of the unsoundness mentioned in aldanor/fast-float-rust#37, as well as in other locations.

@c-peters c-peters added the accepted Ready for implementation label Nov 4, 2024
@github-project-automation github-project-automation bot moved this to Ready in Backlog Nov 4, 2024
@c-peters c-peters moved this from Ready to Done in Backlog Nov 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted Ready for implementation enhancement New feature or an improvement of an existing feature
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

4 participants