The first patch is the work of Fan You, who implemented the "polymorphic memory resources" feature from the C++ Library Fundamentals TS as a Google Summer of Code project. Thanks very much to Fan You for contributing this work, and to Tim Shen for mentoring the work, and Google for sponsoring it. The second patch adds a few little pieces missing from Fan You's patch. Tested powerpc64le-linux. Apart from one minor change to the definition of the std::uses_allocator trait (which will have no effect on any existing code) this only makes changes inside namespace std::experimental. I intend to commit these patches before stage 1 ends.