rust-lang/rust-clippy
View on GitHubNew lint: Use `Into`/`TryInto` in bounds as opposed to `From`/`TryFrom`
Open
#4,894 opened on Dec 10, 2019
A-lintL-stylegood first issue
Repository metrics
- Stars
- (10,406 stars)
- PR merge metrics
- (Avg merge 19d 22h) (113 merged PRs in 30d)
Description
When writing generic bounds such as:
fn foo<T>(a: T) where u32: From<T>;
Into should be preferred, like this:
fn foo<T>(a: T) where T: Into<u32>;
Why the former is bad: Into is a superset of From. In some cases coherence rules prevent implementing From but do allow implementing Into. As a result Into is more generic bound than From.
Category: Style, I guess?