-
Notifications
You must be signed in to change notification settings - Fork 164
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
minor consistency improvements in concepts macros #2928
base: main
Are you sure you want to change the base?
minor consistency improvements in concepts macros #2928
Conversation
also, try to simplify the definition of `__cccl_requires`
🟨 CI finished in 2h 33m: Pass: 98%/396 | Total: 6d 10h | Avg: 23m 25s | Max: 1h 25m | Hits: 33%/22038
|
Project | |
---|---|
CCCL Infrastructure | |
+/- | libcu++ |
CUB | |
Thrust | |
CUDA Experimental | |
python | |
CCCL C Parallel Library | |
Catch2Helper |
Modifications in project or dependencies?
Project | |
---|---|
CCCL Infrastructure | |
+/- | libcu++ |
+/- | CUB |
+/- | Thrust |
+/- | CUDA Experimental |
+/- | python |
+/- | CCCL C Parallel Library |
+/- | Catch2Helper |
🏃 Runner counts (total jobs: 396)
# | Runner |
---|---|
327 | linux-amd64-cpu16 |
28 | linux-arm64-cpu16 |
26 | linux-amd64-gpu-v100-latest-1 |
15 | windows-amd64-cpu16 |
🟨 CI finished in 4h 08m: Pass: 99%/396 | Total: 6d 10h | Avg: 23m 27s | Max: 1h 25m | Hits: 33%/22038
|
Project | |
---|---|
CCCL Infrastructure | |
+/- | libcu++ |
CUB | |
Thrust | |
CUDA Experimental | |
python | |
CCCL C Parallel Library | |
Catch2Helper |
Modifications in project or dependencies?
Project | |
---|---|
CCCL Infrastructure | |
+/- | libcu++ |
+/- | CUB |
+/- | Thrust |
+/- | CUDA Experimental |
+/- | python |
+/- | CCCL C Parallel Library |
+/- | Catch2Helper |
🏃 Runner counts (total jobs: 396)
# | Runner |
---|---|
327 | linux-amd64-cpu16 |
28 | linux-arm64-cpu16 |
26 | linux-amd64-gpu-v100-latest-1 |
15 | windows-amd64-cpu16 |
🟩 CI finished in 5h 37m: Pass: 100%/396 | Total: 6d 11h | Avg: 23m 29s | Max: 1h 25m | Hits: 33%/22038
|
Project | |
---|---|
CCCL Infrastructure | |
+/- | libcu++ |
CUB | |
Thrust | |
CUDA Experimental | |
python | |
CCCL C Parallel Library | |
Catch2Helper |
Modifications in project or dependencies?
Project | |
---|---|
CCCL Infrastructure | |
+/- | libcu++ |
+/- | CUB |
+/- | Thrust |
+/- | CUDA Experimental |
+/- | python |
+/- | CCCL C Parallel Library |
+/- | Catch2Helper |
🏃 Runner counts (total jobs: 396)
# | Runner |
---|---|
327 | linux-amd64-cpu16 |
28 | linux-arm64-cpu16 |
26 | linux-amd64-gpu-v100-latest-1 |
15 | windows-amd64-cpu16 |
@ericniebler I merged the MSVC compiler detection PR because that was bigger and I want to avoid further merge conflicts |
# define _CCCL_REQUIRES(...) , bool __cccl_true_ = true, __cccl_enable_if_t < __VA_ARGS__ && __cccl_true_, int > = 0 > | ||
# define _CCCL_AND &&__cccl_true_, int > = 0, __cccl_enable_if_t < |
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.
Rather than using an bool, could we do
# define _CCCL_REQUIRES(...) , bool __cccl_true_ = true, __cccl_enable_if_t < __VA_ARGS__ && __cccl_true_, int > = 0 > | |
# define _CCCL_AND &&__cccl_true_, int > = 0, __cccl_enable_if_t < | |
# define _CCCL_REQUIRES(...) , size_t __cccl_line_ = __LINE__, __cccl_enable_if_t < __VA_ARGS__ && __cccl_line_, int > = 0 > | |
# define _CCCL_AND &&__cccl_line_, int > = 0, __cccl_enable_if_t < |
That would still make it it different for almost every line
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.
the types would be the same tho, and compilers would likely error about the default being different. what i was doing with the array types was to make the template parameters different to force the compiler to treat them as separate overloads. i think that's still a good change. i'll try it and see what breaks.
Description
i noticed a few inconsistencies in the concepts emulation macros. nothing major. i'm also trying to simplify the definition of
__cccl_requires
, so hopeful we don't need compiler workarounds.Checklist