This directory currently contains a strict subset of the output of
`cargo vendor`.

The files were generated by running `cargo vendor`, and deleting all files we
didn't want.

Specifically, this is https://github.com/dtolnay/cxx/blob/1.0.194/include/cxx.h


In the future, we will just vendor directly, but that adds ~60MB to the repo,
so we will hold off on it for now.
