Skip to content

Latest via module using MSVC compilation issues. #780

@dsvensson

Description

@dsvensson

The first minor hickup is using std::iter_swap in taskflow/utility/math.hpp without #include <algorithm>.

The second I'm less sure of:

import tf;
...
executor.async([blah, bleh] {
    return foo(blah, bleh);
});

This actually leads to MSVC compiler crashing with:

D:\a\_work\1\s\src\vctools\Compiler\CxxFE\sl\p1\c\module\reader.cpp:3388: the impossible happened

...when another file imports a module that contains the above 😂.

So as it works just fine with clang 20, it seems to be some issue when using modules+MSVC and this function:

template <typename F>
auto async(F&& func);
error C3779: 'tf::Executor::async': a function that returns 'auto' cannot be used before it is defined

I guess I can keep using the regular includes for now, or downgrade. fwiw I'm also using import std and c++23 in my project, and some of the other dependencies that have gone over to exposing modules (vulkan-hpp, vma-hpp) have also opened up for enabling import std in those projects.

Another issue is Graph:

error C2079: 'tf::Node::Subflow::subgraph' uses undefined class 'tf::Graph'

Seems related to VS2026 and/or C++23.

And another issue is the:

export namespace std {
    using std::hash;
}

And I'm also curious of the CLI11 directory instead of the taskflow directory?

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