You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It's not possible to use extents::extent in for eg. static_assert even when statically known extent is queried if extents contain at least one dynamic_extent. If all extents are statically known, then extent works in constexpr contexts.
Both static asserts from the godbolt link should compile correctly, presence of dynamic_extent should not affect the ability to query statically known extents at compile time.
Thanks for submitting this issue - the CCCL team has been notified and we'll get back to you as soon as we can!
In the mean time, feel free to add any relevant information to this issue.
Looks to me that the kokkos reference implementation works for this case because it's extents.hpp was completely rewritten (kokkos/mdspan@08a38f). I think the easiest way to fix this is to sync it up.
Is this a duplicate?
Type of Bug
Compile-time Error
Component
libcu++
Describe the bug
It's not possible to use extents::extent in for eg. static_assert even when statically known extent is queried if extents contain at least one dynamic_extent. If all extents are statically known, then extent works in constexpr contexts.
How to Reproduce
https://godbolt.org/#z:OYLghAFBqd5QCxAYwPYBMCmBRdBLAF1QCcAaPECAMzwBtMA7AQwFtMQByARg9KtQYEAysib0QXACx8BBAKoBnTAAUAHpwAMvAFYTStJg1DIAruiakl9ZATwDKjdAGFUtEywYgATKUcAZPAZMADl3ACNMYhAADlIAB1QFQjsGFzcPPQSk2wEAoNCWCKiuS0xrHIYhAiZiAjT3Tx8rTBsUqpqCPJDwyJjLatr6jJKFAc7A7sLergBKS1QTYmR2DgBSLwBmQOQ3LABqVY2nU3MAelH0U5Z0BTjDQ%2BxVjQBBJ%2BfAgj2WJkCIGYOAOwAITeezBexOTBAIAu0MwqgIjAICkOTg%2BpD2JQhZihMII6Gh6AAnswWHhkAB9eGIwQYjYPPbwiBeGaHEEvcF7UZMWyUpgKJS1CDwgB01KREA0/0OABFZZjWRt2c9OZDobCQOLBCijujMRifHt6RtsIzVF42aDwdzeRT%2BYKCMLzWKERKpQcNnLPQrLS9VgCZRw5rROABWXieDhaUioThOOQylVOdYgrxArkLJaYA6bHikAiaINzADWIFDAE4ReWAGxecteaLVjYA2sAyQbUP6TiSCOFmOcXgKEAafOFuZwWAwRAoVAsOJ0SLkShoOcLqIMABuyGQXC8XhMJSwG/JmAAanhMAB3ADycUYfZotERxCHEDCfbCgRqRI/X%2BIROvMJtBaAtuF4Fc2EEa8GFoH8o14LAwhMYAnDEWghzA0gsG%2BIxxHgrC8GIEC8A3TAMOjeEWhMRE%2Bw%2BMo%2B1oPAwmIb8XCwPsCGIPAWE4Hg5ioAxgAUc8r1ve9MP4QQRDEdgpBkQRFBUdR8N0EoDCMFAcX0Jih0gOZUDiCoMN4VBSOILisF0v5SnKFIHAYZxXAaPR/AmAoikyRJkgEIZPBKLJvIYLp3OmGziIEdpBic4YwtaCKxmCnpin6DpfL0blakSqZijmBRM2WCRgzDXt8NjDg9mCU8nCcTEvBFOquD2CBcEIEgcw2WZeFArQZhLMsRxDDge1IHiNg2EUxsmqbpurUhI2jMrB2HUd4PHKcICQBYCDiail2FfAiAsvRJOEURxDkk7FLUPtVNIS8WLiMcuw4cM5r7Mrr2onbPlQKgKqqmrd3qkVGogFxV3oYh2s6laermBBMCYLAomswbhtG8bpqxybZvmkyB0sZbuqDUgJ2nI8Tz2ld50h4JWBWSrqtq4G8wpgqOF4TADpIPACRKE7pPO6RLqUa6VPSspws8YUHLSkpXPyJLPOyFI5fiLyKiyjyRkluLKjGNXmj1yLxkV7L0oN6K/JSzK3KV2Z8yIzBeeHIqXpKhbOBlTBj2WPYRMvSJ/qZoGGqalrDuhjFwZpoP1g6mYurHN30ZAMaJuxrG3tKgmhxHYnetIUtJA0EUNGbDQAS4DZa2bLxQ2rTtBo2D38Y52Gi2erxW/7duC7mMyknsSQgA
Expected behavior
Both static asserts from the godbolt link should compile correctly, presence of dynamic_extent should not affect the ability to query statically known extents at compile time.
Reproduction link
https://godbolt.org/#z:OYLghAFBqd5QCxAYwPYBMCmBRdBLAF1QCcAaPECAMzwBtMA7AQwFtMQByARg9KtQYEAysib0QXACx8BBAKoBnTAAUAHpwAMvAFYTStJg1DIAruiakl9ZATwDKjdAGFUtEywYgATKUcAZPAZMADl3ACNMYhAADlIAB1QFQjsGFzcPPQSk2wEAoNCWCKiuS0xrHIYhAiZiAjT3Tx8rTBsUqpqCPJDwyJjLatr6jJKFAc7A7sLergBKS1QTYmR2DgBSLwBmQOQ3LABqVY2nU3MAelH0U5Z0BTjDQ%2BxVjQBBJ%2BfAgj2WJkCIGYOAOwAITeezBexOTBAIAu0MwqgIjAICkOTg%2BpD2JQhZihMII6Gh6AAnswWHhkAB9eGIwQYjYPPbwiBeGaHEEvcF7UZMWyUpgKJS1CDwgB01KREA0/0OABFZZjWRt2c9OZDobCQOLBCijujMRifHt6RtsIzVF42aDwdzeRT%2BYKCMLzWKERKpQcNnLPQrLS9VgCZRw5rROABWXieDhaUioThOOQylVOdYgrxArkLJaYA6bHikAiaINzADWIFDAE4ReWAGxecteaLVjYA2sAyQbUP6TiSCOFmOcXgKEAafOFuZwWAwRAoVAsOJ0SLkShoOcLqIMABuyGQXC8XhMJSwG/JmAAanhMAB3ADycUYfZotERxCHEDCfbCgRqRI/X%2BIROvMJtBaAtuF4Fc2EEa8GFoH8o14LAwhMYAnDEWghzA0gsG%2BIxxHgrC8GIEC8A3TAMOjeEWhMRE%2Bw%2BMo%2B1oPAwmIb8XCwPsCGIPAWE4Hg5ioAxgAUc8r1ve9MP4QQRDEdgpBkQRFBUdR8N0EoDCMFAcX0Jih0gOZUDiCoMN4VBSOILisF0v5SnKFIHAYZxXAaPR/AmAoikyRJkgEIZPBKLJvIYLp3OmGziIEdpBic4YwtaCKxmCnpin6DpfL0blakSqZijmBRM2WCRgzDXt8NjDg9mCU8nCcTEvBFOquD2CBcEIEgcw2WZeFArQZhLMsRxDDge1IHiNg2EUxsmqbpurUhI2jMrB2HUd4PHKcICQBYCDiail2FfAiAsvRJOEURxDkk7FLUPtVNIS8WLiMcuw4cM5r7Mrr2onbPlQKgKqqmrd3qkVGogFxV3oYh2s6laermBBMCYLAomswbhtG8bpqxybZvmkyB0sZbuqDUgJ2nI8Tz2ld50h4JWBWSrqtq4G8wpgqOF4TADpIPACRKE7pPO6RLqUa6VPSspws8YUHLSkpXPyJLPOyFI5fiLyKiyjyRkluLKjGNXmj1yLxkV7L0oN6K/JSzK3KV2Z8yIzBeeHIqXpKhbOBlTBj2WPYRMvSJ/qZoGGqalrDuhjFwZpoP1g6mYurHN30ZAMaJuxrG3tKgmhxHYnetIUtJA0EUNGbDQAS4DZa2bLxQ2rTtBo2D38Y52Gi2erxW/7duC7mMyknsSQgA
Operating System
N/A
nvidia-smi output
N/A
NVCC version
12.2.1
The text was updated successfully, but these errors were encountered: