Conversation
…e, and improve documentation
Review Summary by QodoModernize codebase with SPDX headers, nodiscard attributes, and C++20 concepts
WalkthroughsDescription• Update all file headers to SPDX license identifier format • Add [[nodiscard]] attribute to expression operators and functions • Apply [[no_unique_address]] to storage members in constant and variable classes • Simplify evaluation logic by removing intermediate variables • Modernize Deferred concept using C++20 concepts instead of type traits • Add code formatting infrastructure with clang-format CMake target Diagramflowchart LR
A["License Headers"] -->|Convert to SPDX| B["Updated Headers"]
C["Operators & Functions"] -->|Add nodiscard| D["Compiler Warnings"]
E["Storage Members"] -->|Add no_unique_address| F["Optimized Layout"]
G["Type Traits"] -->|Replace with Concepts| H["C++20 Deferred Concept"]
I["Code Quality"] -->|Add Formatting| J["clang-format Integration"]
File Changes1. include/deferred/type_traits/is_deferred.hpp
|
Code Review by Qodo
|
There was a problem hiding this comment.
Code Review
This pull request introduces project-wide code formatting using clang-format, updates license headers to the SPDX format, and adopts C++20 features such as concepts and the [[no_unique_address]] attribute. It also adds [[nodiscard]] to various functions and refactors type traits. Several critical issues were identified in the review: a bug in the while_expression rvalue overload where members are moved inside a loop, a regression in return type deduction for evaluation functions, and an incomplete visit implementation for switch expressions.
…s in while loop, and update switch expression visitor interface
No description provided.