So not sure I understood what's happening but tag_fallback_invoke is marked `HPX_DEVICE` and the copy constructor of `test::decorated_iterator` is defaulted (consequently host function) so annotating the copy constructor: ``` HPX_HOST_DEVICE decorated_iterator(const struct decorated_iterator &) = default; ``` fixes the compilation error, not sure what is the clean solution for your use case though