I think he defined the behavior, assuming it Pairis a standard layout. Otherwise, this behavior is undefined.
-, . [basic.compound] ( ) :
a b , : * [...]
* , , , [...]
* [...]
, , reinterpret_cast (5.2.10).
[class.mem]:
, . ( ).
, reinterpret_cast A Pair . function - A, , A 0, , function A& . b undefined, .
, , , . , - - function pair.b, . :
void function(A& a) { ... }
void function(Pair& p) { function(p.a); }
function A.