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

fmt-v9 compatibility #376

Merged
merged 1 commit into from
Sep 13, 2022
Merged

fmt-v9 compatibility #376

merged 1 commit into from
Sep 13, 2022

Conversation

DmitriyKorchemkin
Copy link
Contributor

libfmt introduces breaking changes in API starting from v9.0.

Multiple types, such as Eigen expressions, templated scalar types were being output via old API that allowed anything std::ostream<<'able to be output using just an {} format expression and nothing else.

Adding a wrapper into fmt::streamed to all arguments of various macros seems to be the simplest way to preserve behavior similar to one that was available with the previous version of libfmt

@coveralls
Copy link

Coverage Status

Coverage remained the same at 98.733% when pulling 5362d6b on DmitriyKorchemkin:fmt-v9 into 0422cad on strasdat:master.

@strasdat
Copy link
Owner

@DmitriyKorchemkin thanks for this PR.

I'm consider this a workaround, but a long term solution. Nevertheless, I'll merge it in to unbreak folks - so the sophus 22.10 release will be able to support libfmt 9.0.

For future versions of Sophus, I'm contemplating on using fmt::formatter instead of ostream overloads.

@strasdat strasdat merged commit 8e19416 into strasdat:master Sep 13, 2022
@fengweichangzi
Copy link

Very good!
I try the latest master version and it works with fmt 9.1.0 now

NikolausDemmel added a commit to NikolausDemmel/homebrew-core that referenced this pull request Oct 12, 2022
Sophus compilation was broken with libfmt version >= 9.0. As a
workaround the dependency was removed and "basic logging" enabled:
- Homebrew#108156
- Homebrew#110137

The sophus formula was recently updated to version 22.10, which fixed
the compatibility with libfmt version >= 9.0:
- strasdat/Sophus#376
- Homebrew#11286

This PR removes the workaround.
BrewTestBot pushed a commit to Homebrew/homebrew-core that referenced this pull request Oct 13, 2022
Sophus compilation was broken with libfmt version >= 9.0. As a
workaround the dependency was removed and "basic logging" enabled:
- #108156
- #110137

The sophus formula was recently updated to version 22.10, which fixed
the compatibility with libfmt version >= 9.0:
- strasdat/Sophus#376
- #11286

This PR removes the workaround.

Closes #112988.

Signed-off-by: Carlo Cabrera <30379873+carlocab@users.noreply.github.com>
Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>
@nachovizzo nachovizzo mentioned this pull request Mar 26, 2023
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

Successfully merging this pull request may close these issues.

None yet

4 participants