// option. This file may not be copied, modified, or distributed
// except according to those terms.
+use rustc::hir::{self, GenericParamKind, PatKind};
use rustc::hir::def::Def;
+use rustc::hir::intravisit::FnKind;
use rustc::ty;
+use rustc_target::spec::abi::Abi;
use lint::{LateContext, LintContext, LintArray};
use lint::{LintPass, LateLintPass};
-
-use rustc_target::spec::abi::Abi;
use syntax::ast;
use syntax::attr;
use syntax_pos::Span;
-use rustc::hir::{self, GenericParamKind, PatKind};
-use rustc::hir::intravisit::FnKind;
-
#[derive(PartialEq)]
pub enum MethodLateContext {
TraitAutoImpl,
}
pub fn method_context(cx: &LateContext, id: ast::NodeId) -> MethodLateContext {
- let def_id = cx.tcx.hir.local_def_id(id);
+ let def_id = cx.tcx.hir().local_def_id(id);
let item = cx.tcx.associated_item(def_id);
match item.container {
ty::TraitContainer(..) => MethodLateContext::TraitAutoImpl,
fn is_camel_case(name: ast::Name) -> bool {
let name = name.as_str();
+ let name = name.trim_matches('_');
if name.is_empty() {
return true;
}
- let name = name.trim_matches('_');
// start with a non-lowercase letter rather than non-uppercase
// ones (some scripts don't have a concept of upper/lowercase)
let has_repr_c = it.attrs
.iter()
.any(|attr| {
- attr::find_repr_attrs(cx.tcx.sess.diagnostic(), attr)
+ attr::find_repr_attrs(&cx.tcx.sess.parse_sess, attr)
.iter()
.any(|r| r == &attr::ReprC)
});