Skip to content

Commit 13f6d63

Browse files
authored
Clean up conv_traits.hpp (#3354)
When I asked for a description of operators that didn't have ConvTraits, I was getting very long confusing errors about ConvTraits not being defined. Now we get specific errors explaining which concepts are violated, making it easier to know which code to generalize or update. * Add concepts to conv_traits.hpp to get better error message. * Put the correct requires clauses in the right places to get descriptive error messages. * General cleanup of functions in conv_traits.hpp to make functions easier to read.
1 parent 05292b3 commit 13f6d63

2 files changed

Lines changed: 190 additions & 283 deletions

File tree

experimental/builder/include/ck_tile/builder/reflect/conv_description.hpp

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -251,14 +251,10 @@ class ConvDescription : public Description
251251
};
252252
} // namespace conv
253253

254-
/// @brief Helper concept to detect if a type has ConvTraits specialization
255-
template <typename T>
256-
concept HasConvTraits = requires { typename conv::ConvTraits<T>; };
257-
258254
/// @brief Factory function to create ConvDescription from a convolution instance type
259-
/// @tparam Instance The convolution instance type (must have InstanceTraits specialization)
255+
/// @tparam Instance The convolution instance type (must have ConvTraits specialization)
260256
/// @return A ConvDescription object populated with the instance's configuration details
261-
template <HasConvTraits Instance>
257+
template <conv::HasConvTraits Instance>
262258
conv::ConvDescription describe()
263259
{
264260
using Traits = conv::ConvTraits<Instance>;

0 commit comments

Comments
 (0)