mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-23 21:23:56 +00:00
Fix get_def_path
This fix is obsolet once rust-lang/rust#59779 and #3926 is merged.
This commit is contained in:
parent
6104aefef5
commit
3fe5eea4e4
2 changed files with 7 additions and 9 deletions
|
@ -16,7 +16,7 @@ use std::convert::TryInto;
|
|||
use std::hash::{Hash, Hasher};
|
||||
use syntax::ast::{FloatTy, LitKind};
|
||||
use syntax::ptr::P;
|
||||
use syntax_pos::symbol::Symbol;
|
||||
use syntax_pos::symbol::{LocalInternedString, Symbol};
|
||||
|
||||
/// A `LitKind`-like enum to fold constant `Expr`s into.
|
||||
#[derive(Debug, Clone)]
|
||||
|
@ -249,7 +249,10 @@ impl<'c, 'cc> ConstEvalLateContext<'c, 'cc> {
|
|||
if let ExprKind::Path(qpath) = &callee.node;
|
||||
let def = self.tables.qpath_def(qpath, callee.hir_id);
|
||||
if let Some(def_id) = def.opt_def_id();
|
||||
let def_path = get_def_path(self.tcx, def_id);
|
||||
let def_path = get_def_path(self.tcx, def_id)
|
||||
.iter()
|
||||
.map(LocalInternedString::get)
|
||||
.collect::<Vec<_>>();
|
||||
if let &["core", "num", impl_ty, "max_value"] = &def_path[..];
|
||||
then {
|
||||
let value = match impl_ty {
|
||||
|
|
|
@ -220,13 +220,8 @@ pub fn match_def_path<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, def_id: DefId, path
|
|||
/// // The given `def_id` is that of an `Option` type
|
||||
/// };
|
||||
/// ```
|
||||
pub fn get_def_path<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, def_id: DefId) -> Vec<&'static str> {
|
||||
AbsolutePathPrinter { tcx }
|
||||
.print_def_path(def_id, &[])
|
||||
.unwrap()
|
||||
.iter()
|
||||
.map(LocalInternedString::get)
|
||||
.collect()
|
||||
pub fn get_def_path<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, def_id: DefId) -> Vec<LocalInternedString> {
|
||||
AbsolutePathPrinter { tcx }.print_def_path(def_id, &[]).unwrap()
|
||||
}
|
||||
|
||||
/// Checks if type is struct, enum or union type with the given def path.
|
||||
|
|
Loading…
Reference in a new issue