这是indexloc提供的服务,不要输入任何密码
Skip to content

Recent change to struct prop breaks examples with NVC++ #1590

@dkolsen-pgi

Description

@dkolsen-pgi

PR #1575 causes some of the stdexec examples to fail in the NVHPC automated tests. I believe the problematic line in that PR is:

    static_assert(__callable<_Query, __prop_like<_Value>>);

The failure is:

"/proj/cuda/stdexec/main/include/stdexec/__detail/__env.hpp", line 252: error: static assertion failed
            static_assert(__same_as<decltype(__v<_Result>), const bool>);
            ^
          detected during:
            instantiation of "auto stdexec::__queries::__is_scheduler_affine_t::operator()(const _Env &) const noexcept [with _Env=stdexec::__env::__prop_like<stdexec::__mbool<true>>]" at line 398
            instantiation of class "stdexec::__env::prop<_Query, _Value> [with _Query=stdexec::__queries::__is_scheduler_affine_t, _Value=stdexec::__mbool<true>]" at line 65 of "/proj/cuda/stdexec/main/include/stdexec/__detail/__then.hpp"
    [ ... more instantiation stack ... ]

The examples that are failing to compile are nvexec.maxwell_cpu_mt, nvexec.maxwell_cpu_st, scope, server_theme.on_transfer, server_theme.split_bulk, and server_theme.then_upon.

I haven't looked into this in detail to figure out whether this is an NVC++ compiler bug or a stdexec bug.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions