-
-
Notifications
You must be signed in to change notification settings - Fork 437
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
Add C++20 support for Deathmatch project #3745
base: master
Are you sure you want to change the base?
Add C++20 support for Deathmatch project #3745
Conversation
Doubtful, because of linux |
it compiled fine on linux, what are you on about? |
It is possible that problems may arise in other linuxs, it may have already been solved, it is possible that this is so |
If it compiles fine on x86_64-gcc-10 and arm-gcc-10 then it should compile for other modern compilers |
It doesn't work like this |
I know, but if it matches the standard then it should work on most compilers that conform to the C++ standard. |
All compilers have different standard realization + specific bugs |
As for this, none of the supported compilers (github actions) present a bug so we should be fine. I'd also assume it was thoroughly tested before rolling out C++23 version 😛 |
You forgot about real-time bugs |
As I said before, the only real implication would be the change from |
This PR is highly desirable. At least because another one PR (#3287) depends on it. I think C++20 in this module will be fine and does not cause any problems. I already have an experience with C++20 in MTA and everything is going well. P.S. In theory there can be ABI inconsistency if some of STL structures get returned from Deathmatch module. But these potential points of inconsistency are easy to detect in most cases. At least, it can be certain that MSVC is stable enough. |
Hello! Is there a problem with the support of other C++20 server modules? |
With some, probably. But I didnt check. Lets just get C++20 support for the deathmatch first |
const SString& strAccountName = parts.size() > 0 ? parts[0] : SString{}; | ||
const SString& strAction = parts.size() > 1 ? parts[1] : SString{}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really should either use string_view
or SString*
here instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i.e. const std::string_view/SString* strXYZ = ... : ""/nullptr
?
No description provided.