From c6143742bd4e625d391ac3ea860be7578ab9f53f Mon Sep 17 00:00:00 2001 From: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com> Date: Thu, 21 May 2020 10:48:42 +0200 Subject: add support of feature flag for runnables #4464 Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com> --- crates/ra_hir/src/lib.rs | 1 + 1 file changed, 1 insertion(+) (limited to 'crates/ra_hir') diff --git a/crates/ra_hir/src/lib.rs b/crates/ra_hir/src/lib.rs index c5df4ac24..3364a822f 100644 --- a/crates/ra_hir/src/lib.rs +++ b/crates/ra_hir/src/lib.rs @@ -62,6 +62,7 @@ pub use crate::{ pub use hir_def::{ adt::StructKind, + attr::Attrs, body::scope::ExprScopes, builtin_type::BuiltinType, docs::Documentation, -- cgit v1.2.3 From 0e814a3b5f5c7d034b0249cfb4391d9fcb9d8e42 Mon Sep 17 00:00:00 2001 From: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com> Date: Sun, 24 May 2020 16:47:35 +0200 Subject: fix textedit range returned for completion when left token is a keyword #4545 Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com> --- crates/ra_hir/src/code_model.rs | 1 + 1 file changed, 1 insertion(+) (limited to 'crates/ra_hir') diff --git a/crates/ra_hir/src/code_model.rs b/crates/ra_hir/src/code_model.rs index 840cfdfc8..7c015aa98 100644 --- a/crates/ra_hir/src/code_model.rs +++ b/crates/ra_hir/src/code_model.rs @@ -1363,6 +1363,7 @@ impl HirDisplay for Type { } /// For IDE only +#[derive(Debug)] pub enum ScopeDef { ModuleDef(ModuleDef), MacroDef(MacroDef), -- cgit v1.2.3 From bee4f8f9fee56bb00b462cdf4ad3ed317fed682f Mon Sep 17 00:00:00 2001 From: kjeremy Date: Tue, 26 May 2020 14:12:13 -0400 Subject: Pass trivially copy types as copy --- crates/ra_hir/src/code_model.rs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'crates/ra_hir') diff --git a/crates/ra_hir/src/code_model.rs b/crates/ra_hir/src/code_model.rs index 840cfdfc8..8d7937d94 100644 --- a/crates/ra_hir/src/code_model.rs +++ b/crates/ra_hir/src/code_model.rs @@ -532,7 +532,7 @@ impl Adt { Some(self.module(db).krate()) } - pub fn name(&self, db: &dyn HirDatabase) -> Name { + pub fn name(self, db: &dyn HirDatabase) -> Name { match self { Adt::Struct(s) => s.name(db), Adt::Union(u) => u.name(db), @@ -1018,15 +1018,15 @@ impl ImplDef { impls.lookup_impl_defs_for_trait(trait_.id).map(Self::from).collect() } - pub fn target_trait(&self, db: &dyn HirDatabase) -> Option { + pub fn target_trait(self, db: &dyn HirDatabase) -> Option { db.impl_data(self.id).target_trait.clone() } - pub fn target_type(&self, db: &dyn HirDatabase) -> TypeRef { + pub fn target_type(self, db: &dyn HirDatabase) -> TypeRef { db.impl_data(self.id).target_type.clone() } - pub fn target_ty(&self, db: &dyn HirDatabase) -> Type { + pub fn target_ty(self, db: &dyn HirDatabase) -> Type { let impl_data = db.impl_data(self.id); let resolver = self.id.resolver(db.upcast()); let ctx = hir_ty::TyLoweringContext::new(db, &resolver); @@ -1038,23 +1038,23 @@ impl ImplDef { } } - pub fn items(&self, db: &dyn HirDatabase) -> Vec { + pub fn items(self, db: &dyn HirDatabase) -> Vec { db.impl_data(self.id).items.iter().map(|it| (*it).into()).collect() } - pub fn is_negative(&self, db: &dyn HirDatabase) -> bool { + pub fn is_negative(self, db: &dyn HirDatabase) -> bool { db.impl_data(self.id).is_negative } - pub fn module(&self, db: &dyn HirDatabase) -> Module { + pub fn module(self, db: &dyn HirDatabase) -> Module { self.id.lookup(db.upcast()).container.module(db.upcast()).into() } - pub fn krate(&self, db: &dyn HirDatabase) -> Crate { + pub fn krate(self, db: &dyn HirDatabase) -> Crate { Crate { id: self.module(db).id.krate } } - pub fn is_builtin_derive(&self, db: &dyn HirDatabase) -> Option> { + pub fn is_builtin_derive(self, db: &dyn HirDatabase) -> Option> { let src = self.source(db); let item = src.file_id.is_builtin_derive(db.upcast())?; let hygenic = hir_expand::hygiene::Hygiene::new(db.upcast(), item.file_id); -- cgit v1.2.3 From a9cb2933fbeddef4ed70bde77ded4f9bb185548e Mon Sep 17 00:00:00 2001 From: Paul Daniel Faria Date: Tue, 2 Jun 2020 18:49:09 -0400 Subject: Add highlight support for unsafe fn calls and raw ptr deref --- crates/ra_hir/src/code_model.rs | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'crates/ra_hir') diff --git a/crates/ra_hir/src/code_model.rs b/crates/ra_hir/src/code_model.rs index e40aeffbc..4a06f3bcd 100644 --- a/crates/ra_hir/src/code_model.rs +++ b/crates/ra_hir/src/code_model.rs @@ -637,6 +637,10 @@ impl Function { db.function_data(self.id).params.clone() } + pub fn is_unsafe(self, db: &dyn HirDatabase) -> bool { + db.function_data(self.id).is_unsafe + } + pub fn diagnostics(self, db: &dyn HirDatabase, sink: &mut DiagnosticSink) { let _p = profile("Function::diagnostics"); let infer = db.infer(self.id.into()); @@ -1190,6 +1194,10 @@ impl Type { ) } + pub fn is_raw_ptr(&self) -> bool { + matches!(&self.ty.value, Ty::Apply(ApplicationTy { ctor: TypeCtor::RawPtr(..), .. })) + } + pub fn contains_unknown(&self) -> bool { return go(&self.ty.value); -- cgit v1.2.3