### What it does Checks for cases where generics are being used and multiple syntax specifications for trait bounds are used simultaneously. ### Why is this bad? Duplicate bounds makes the code less readable than specifying them only once. ### Example ``` fn func(arg: T) where T: Clone + Default {} ``` Use instead: ``` fn func(arg: T) {} // or fn func(arg: T) where T: Clone + Default {} ``` ``` fn foo(bar: T) {} ``` Use instead: ``` fn foo(bar: T) {} ``` ``` fn foo(bar: T) where T: Default + Default {} ``` Use instead: ``` fn foo(bar: T) where T: Default {} ```