diff --git a/crates/hir/src/lib.rs b/crates/hir/src/lib.rs index 3b0c29e87e8..99ab630a300 100644 --- a/crates/hir/src/lib.rs +++ b/crates/hir/src/lib.rs @@ -673,7 +673,12 @@ impl Module { pub fn declarations(self, db: &dyn HirDatabase) -> Vec { let def_map = self.id.def_map(db.upcast()); - def_map[self.id.local_id].scope.declarations().map(ModuleDef::from).collect() + let scope = &def_map[self.id.local_id].scope; + scope + .declarations() + .map(ModuleDef::from) + .chain(scope.unnamed_consts().map(|id| ModuleDef::Const(Const::from(id)))) + .collect() } pub fn impl_defs(self, db: &dyn HirDatabase) -> Vec { diff --git a/crates/ide_diagnostics/src/handlers/missing_ok_or_some_in_tail_expr.rs b/crates/ide_diagnostics/src/handlers/missing_ok_or_some_in_tail_expr.rs index 6d8e74b6fd5..74a72654646 100644 --- a/crates/ide_diagnostics/src/handlers/missing_ok_or_some_in_tail_expr.rs +++ b/crates/ide_diagnostics/src/handlers/missing_ok_or_some_in_tail_expr.rs @@ -185,7 +185,16 @@ static A: Option<()> = {($0)}; r#" static A: Option<()> = {Some(())}; "#, - ) + ); + check_fix( + r#" +//- minicore: option, result +const _: Option<()> = {($0)}; + "#, + r#" +const _: Option<()> = {Some(())}; + "#, + ); } #[test]