C-enhancementE-mediumT-middlegood first issue
倉庫指標
- Star
- (10,406 star)
- PR 合併指標
- (平均合併 19天 22小時) (30 天內合併 113 個 PR)
描述
Rustc already has a lint (mutable_transmutes) that catches transmutes from &T to &mut T, which can cause undefined behaviour. However, it doesn't catch minor variations of this problem, like Option<&T> -> Option<&mut T>, which are presumably just as dangerous. I've seen this particular example in real code.
It would be nice to have a lint that catches this case (and ideally, other instances of the same problem, although this could get quite complex in the fully general case).