Fixes type range issue during linting (#16684)

 - Ensures the propagated negation sign is properly utilized during type
   checking.
 - Removed redundant type checking, specifically regarding the out of bounds checking
   on a bounded type.
 - Closes #16684
auto merge of #17013 : rgawdzik/rust/literal_int, r=alexcrichton

 - Ensures the propagated negation sign is properly utilized during type checking.
 - Combines #16962, Closes #16684.