Skip to content

MSVC don't like forwarded classes #946

@tower120

Description

@tower120

The following code does not compiles with MSVC 15.9.3

#include <iostream>
#include <memory>
#include <vector>

#include <range/v3/view/indirect.hpp>


class Data;

struct Test {
    std::vector<Data*> m_list;

    auto list() {
        return m_list | ranges::view::indirect;
    }
};


class Data {};

int main()
{
    std::cout << Test().list().size();
}

With C2139 error, saying that undefined Data class can not be used with "__is_convertible_to".
LLVM toolchain do compiles this code.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions