This merges a Google-internal change (117235625).
Original CL description:
This CL was created manually in about an hour with sed, a Python script
to find all the places unqualified 'string' was mentioned, and some help
from Emacs to add the "std::" qualifications, plus a few manual tweaks.
These tuples are created with make_tuple, which is given temporaries.
The make_tuple is in a function argument list.
A possibly overzealous static_assert in libc++'s std::tuple ctor
is firing in our 'Perform(make_tuple("hi"))' calls, so
we can't use its make_tuple here. Instead we will use
explicitly-constructed tuples constructed from non-temporary strings.
Workaround for llvm bug:
https://llvm.org/bugs/show_bug.cgi?id=20855
An alternative to https://github.com/google/googletest/pull/580 .