updated based on rust nightly changes