Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Here's a revised version of the pull request description:
This pull request includes the following changes:
Refactor: Fix returning stack address in
BaseErrors
(Commit: 7b28b2063f0a61da84d888292be81e655d477fa6)Explanation: Currently, the error messages in
BaseErrors
are evaluated on the stack, but they should be constructed on the heap usingstd::string
to avoid memory issues. Even though C++17 enables Link-Time Optimization (LTO) by default, the stack-allocated objects would still be destructed at the next stack frame. This change ensures proper memory management.Fix: Add missing
override
specifier (Commit: b7676df4520d219cbcadfa045f8f34bd2ef8658d)Explanation: The absence of the
override
specifier in certain functions can cause compilation errors when using Clang. This fix adds the missingoverride
specifier to address the issue.Fix: Eliminate all warnings in AppleClang (Commit: e51a874768f7c4060ea99126343d122a268afe3a)
Explanation: There is an inconsistency with the
uint64_t
type between Linux x86_64 and Apple Silicon aarch64 platforms. This change resolves the issue by ensuring consistent usage of theuint64_t
type across platforms. For more information on the different data models on various platforms, refer to the 64-bit computing data models Wikipedia page.Please review and merge these changes as they improve the codebase's correctness, maintainability, and portability.