welder 0.1.0
Bindings for annotated C++ types, from C++26 reflection
Loading...
Searching...
No Matches
welder::diag::marked_move_constructor Struct Reference

Thrown by validate_move_ctor_marks (<welder/bind_traits.hpp>) — the carriage runs it for every welded class — when a move constructor carries an include/only mark. More...

#include <welder/diag.hpp>

Public Attributes

const char * what
 What went wrong and how to fix it.

Detailed Description

Thrown by validate_move_ctor_marks (<welder/bind_traits.hpp>) — the carriage runs it for every welded class — when a move constructor carries an include/only mark.

No target language has move semantics, so move construction never binds; the mark is an intent welder cannot honor, diagnosed rather than silently dropped.

Definition at line 91 of file diag.hpp.

Member Data Documentation

◆ what

const char* welder::diag::marked_move_constructor::what
Initial value:
=
"welder: a move constructor carries an include/only mark, but move "
"construction never binds - no target language has move semantics. "
"Remove the mark; copying is what crosses the boundary (the copy "
"constructor binds as Python __copy__/__deepcopy__)"

What went wrong and how to fix it.

Definition at line 93 of file diag.hpp.


The documentation for this struct was generated from the following file: