Skip to content

std::in_place_type_t overload broken when a dispatch is not SFINAE-safe #222

@mingxwa

Description

@mingxwa

The following code won't compile, while it should (CE link).

#include "proxy.h"

template <class T>
void Foo(T&& value) { ++value; }

PRO_DEF_FREE_DISPATCH(FreeFoo, Foo);

struct FooFacade : pro::facade_builder
    ::add_convention<FreeFoo, void()>
    ::build {};

int main() {
  pro::proxy<FooFacade> p = pro::make_proxy<FooFacade, int>();
}

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingp1

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions