Support for C++20/23 modules#395
Conversation
|
I didn't manage to get |
|
I'm having trouble pairing modules and tests with GTest, primarily related to this issue: google/googletest#4851. I'll see what I can do tomorrow. All examples appear to work |
|
Hi I am looking forward to using this. What's the problem you are seeing? if it is the import-#include ordering thing, can we just have #include before import in the tests? And it is not so strict, see: https://github.com/alibaba/async_simple/blob/CXX20Modules/async_simple_module/test/coro/SleepTest.cpp |
|
Hi. Great to see that somebody is interested in this. I’m away this weekend, so I’ll be able to finish it on Monday.
…________________________________
From: Chuanqi Xu ***@***.***>
Sent: Saturday, March 14, 2026 1:53:25 AM
To: Thalhammer/jwt-cpp ***@***.***>
Cc: Yan Romao ***@***.***>; Author ***@***.***>
Subject: Re: [Thalhammer/jwt-cpp] Support for C++20/23 modules (PR #395)
[https://avatars.githubusercontent.com/u/68680648?s=20&v=4]ChuanqiXu9 left a comment (Thalhammer/jwt-cpp#395)<#395 (comment)>
Hi I am looking forward to using this. What's the problem you are seeing? if it is the import-#include ordering thing, can we just have #include before import in the tests? And it is not so strict, see: https://github.com/alibaba/async_simple/blob/CXX20Modules/async_simple_module/test/coro/SleepTest.cpp
—
Reply to this email directly, view it on GitHub<#395 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AMEFH5FNJJXC5IR76DJXH2L4QS3RLAVCNFSM6AAAAACHQ2GNRCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHM2DANJZGEZTOMJZGI>.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
|
@ChuanqiXu9 Hi. Sorry for the delay. I’ve just pushed a commit that now uses ABI-breaking wrapper style. Could you have a look at the current implementation and tell whether you're satisfied with it? Thank you. |
| #include <openssl/ssl.h> | ||
|
|
||
| #ifdef JWT_USE_IMPORT_STD | ||
| import std; |
There was a problem hiding this comment.
As we have import std; in jwt.ixx. I think we don't need this, do we?
| @@ -0,0 +1,85 @@ | |||
| module; | |||
| // Build the public headers in module purview so imported declarations are | ||
| // attached to jwt_cpp instead of the global module. | ||
| #define JWT_CPP_MODULE_INTERFACE_BUILD 1 | ||
| export { |
There was a problem hiding this comment.
nit: export all seems slightly not good but it is your choices.
This adds support for C++20/23 modules. Please let me know if you want anything done in a different way. There is still some work left to do: update all examples, tests, docs and CI/CD. I tested the code on Windows, with MSVC latest (v18) on a print-claims example.
JWT_ENABLE_MODULES- to enable modulesJWT_USE_IMPORT_STD- to useimport stdUPD: The latest implementation was tested with MSVC (14.51) and Clang-22