Sync with rust master

Using rust 03f30515f4c8ca91dc7ceba3628f6eb1b3259ac5