Use assert_crate_local for a more explicit error

`assert_crate_local` does the same as the previous `if let` but with a
more explicit error message if it's not a `ClearCrossCrate::Set`.
This commit is contained in:
Philipp Hansch 2019-12-02 11:50:46 +01:00
parent 6669c2c6ce
commit 474e9a131d
No known key found for this signature in database
GPG Key ID: 82AA61CAA11397E6

View File

@ -209,11 +209,11 @@ fn check_fn(
if !used_later {
let span = terminator.source_info.span;
let scope = terminator.source_info.scope;
let node = if let mir::ClearCrossCrate::Set(scope_local_data) = &mir.source_scopes[scope].local_data {
scope_local_data.lint_root
} else {
unreachable!()
};
let node = mir.source_scopes[scope]
.local_data
.as_ref()
.assert_crate_local()
.lint_root;
if_chain! {
if let Some(snip) = snippet_opt(cx, span);