> | (_Closure(_Array<_Tp>(_M_data), __gs._M_index->_M_index)); <<<<<<< > > If __gs._M_index is null, what would be computing here? Essentially, we're passing &(__gs._M_index->_M_index). GCC computes this address, but doesn't dereference it. It's a reference parameter.