Even though the address of curl_context_t struct and the address of its first field (poll_handle) coincide, the sockfd field is not always allocated immediately after the poll_handle field. See §9.2 clause 12 in the 1998 or 2003 C++ standards:
Implementation alignment requirements might cause two adjacent members not to be allocated immediately after each other;
docs: fix req->data in multi-uv example
@bsnote, thanks for your PR! By analyzing the history of the files in this pull request, we identified @captain-caveman2k, @clemensg and @valdemon to be potential reviewers.