Merge #8840 ...ot_20210515_003035](https://user-images.githubusercontent.com/7803845/118320023... ...of the preparation for https://github.com/rust-analyzer/rust-analyzer... ...<7803845+iDawer@users.noreply.github.com>
Merge #8280 In https://github.com/rust-analyzer/rowan/pull/101... The idea comes from https://github.com/rust-analyzer/rowan/pull/100... ...<7803845+iDawer@users.noreply.github.com>