}
T![ref] => element
.parent()
- .and_then(ast::BindPat::cast)
- .and_then(|bind_pat| {
- if sema.is_unsafe_bind_pat(&bind_pat) {
+ .and_then(ast::IdentPat::cast)
+ .and_then(|ident_pat| {
+ if sema.is_unsafe_ident_pat(&ident_pat) {
Some(HighlightModifier::Unsafe)
} else {
None
let is_unsafe = name_ref
.and_then(|name_ref| name_ref.syntax().parent())
.and_then(ast::MethodCallExpr::cast)
- .and_then(|method_call_expr| sema.is_unsafe_method_call(method_call_expr));
- if is_unsafe.is_some() {
+ .map(|method_call_expr| sema.is_unsafe_method_call(method_call_expr))
+ .unwrap_or(false);
+ if is_unsafe {
h |= HighlightModifier::Unsafe;
}
}
METHOD_CALL_EXPR => {
let mut h = Highlight::new(HighlightTag::Function);
let is_unsafe = ast::MethodCallExpr::cast(parent)
- .and_then(|method_call_expr| sema.is_unsafe_method_call(method_call_expr));
-
- if is_unsafe.is_some() {
+ .map(|method_call_expr| sema.is_unsafe_method_call(method_call_expr))
+ .unwrap_or(false);
+ if is_unsafe {
h |= HighlightModifier::Unsafe;
}