-
Notifications
You must be signed in to change notification settings - Fork 304
-
Notifications
You must be signed in to change notification settings - Fork 304
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
C++20 module improvements #1815
Comments
Making the vulkan_hpp module work with |
@asuessenbach and @theHamsta, do you have any input on this? Thanks! |
Please sorry for the delay. |
Hello, I created a draft commit for enable |
Thanks @stripe2933! I've personally been putting off this because CMake 3.30 (probably releasing in a couple of months; 3.29 is already at rc4) will have full support for |
Oh, I was one step behind. That sounds great. It will fix the module usage with MSVC. |
Is there any progress on this? |
Sorry, been a bit overwhelmed with other stuff and the day job. I have some preliminary work done (very similar to yours, @stripe2933, because the gist of it boils down to writing
Frankly this is a compiler bug more than anything; users should be able to mix |
Sorry for late reply. I really appreciate your hard work!
Are you in the Linux environment? In Linux, Clang uses libstdc++ by default. You have to pass
My project uses Here are my some observations for MSVC ICE for
|
Thanks for the response!
No; I'm using Windows with Clang 18 (
Good point. I personally don't use any of the smart handles (I prefer the
Indeed, I've seen this too. I've also seen issues with |
There are a few things I'd like to improve about
vulkan.cppm
, stemming from my own experience, and bug reports around.operator<=>
requires that the consumer#include <compare>
, which is very unintuitive; I'd class this as a bug. Some good resources:export import <compare>;
but header units are generally considered a bad idea.import std;
in the producing module without exporting any additional symbol. Which brings me to...import std;
breaks badly withimport vulkan-hpp;
because the latter still relies on#include <some_std_header>
for all its dependencies.import std;
guarded behind the appropriate feature macro,__cpp_lib_modules
.import std;
in C++20 microsoft/STL#3945I'd like to spur some discussion on this, and if it's worthwhile, start a relevant PR.
The text was updated successfully, but these errors were encountered: