diff --git a/crates/hir_def/src/item_tree/lower.rs b/crates/hir_def/src/item_tree/lower.rs index aa2dbaba10..44bd2fa9e5 100644 --- a/crates/hir_def/src/item_tree/lower.rs +++ b/crates/hir_def/src/item_tree/lower.rs @@ -448,7 +448,12 @@ impl<'a> Ctx<'a> { } fn lower_const(&mut self, konst: &ast::Const) -> FileItemTreeId { - let name = konst.name().map(|it| it.as_name()); + let mut name = konst.name().map(|it| it.as_name()); + if name.as_ref().map_or(false, |n| n.to_string().starts_with("_DERIVE_")) { + // FIXME: this is a hack to treat consts generated by synstructure as unnamed + // remove this some time in the future + name = None; + } let type_ref = self.lower_type_ref_opt(konst.ty()); let visibility = self.lower_visibility(konst); let ast_id = self.source_ast_id_map.ast_id(konst);