Wait. There might be some confusion WRT indenting member functions. See include/bits/basic_string.h if you are unsure. void _M_set_leaked() { _M_references = -1; } Looks right to me. -benjamin