From: bors Date: Fri, 30 Jul 2021 14:38:00 +0000 (+0000) Subject: Auto merge of #85971 - FabianWolff:issue-85586, r=davidtwco X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=f3f8e758f2b2abd84b76bcb4ec0b6ae263e1e7b9;p=rust.git Auto merge of #85971 - FabianWolff:issue-85586, r=davidtwco Use more precise span for E0282 in cast expressions This pull request fixes #85586. The example code given there: ```rust fn main() { let a = [1, 2, 3].iter().sum(); let b = (a + 1) as usize; } ``` currently produces ``` error[E0282]: type annotations needed --> issue-85586.rs:3:13 | 3 | let b = (a + 1) as usize; | ^^^^^^^^^^^^^^^^ cannot infer type | = note: type must be known at this point error: aborting due to previous error ``` even though the type of the entire cast expression quite clearly should be `usize`. The error is in the cast's left-hand side, which is made explicit by the changes in this PR: ``` error[E0282]: type annotations needed --> issue-85586.rs:3:13 | 3 | let b = (a + 1) as usize; | ^^^^^^^ cannot infer type | = note: type must be known at this point error: aborting due to previous error ``` --- f3f8e758f2b2abd84b76bcb4ec0b6ae263e1e7b9