The files in this folder are copies of libraries in the pkg directory. We have
copies here to prevent a bootstrapping issue when running the test.dart binary
in case breaking changes are made to the language in future revisions, we can
still test with a known stable version.
