@@ -93,19 +93,19 @@ pub enum NameClass {
9393impl NameClass {
9494 pub fn into_definition ( self , db : & dyn HirDatabase ) -> Option < Definition > {
9595 Some ( match self {
96- NameClass :: ExternCrate ( krate) => Definition :: ModuleDef ( krate. root_module ( db) ? . into ( ) ) ,
96+ NameClass :: ExternCrate ( krate) => Definition :: ModuleDef ( krate. root_module ( db) . into ( ) ) ,
9797 NameClass :: Definition ( it) => it,
9898 NameClass :: ConstReference ( _) => return None ,
9999 NameClass :: FieldShorthand { local, field : _ } => Definition :: Local ( local) ,
100100 } )
101101 }
102102
103- pub fn definition ( self , db : & dyn HirDatabase ) -> Option < Definition > {
104- Some ( match self {
105- NameClass :: ExternCrate ( krate) => Definition :: ModuleDef ( krate. root_module ( db) ? . into ( ) ) ,
103+ pub fn definition ( self , db : & dyn HirDatabase ) -> Definition {
104+ match self {
105+ NameClass :: ExternCrate ( krate) => Definition :: ModuleDef ( krate. root_module ( db) . into ( ) ) ,
106106 NameClass :: Definition ( it) | NameClass :: ConstReference ( it) => it,
107107 NameClass :: FieldShorthand { local : _, field } => field,
108- } )
108+ }
109109 }
110110}
111111
@@ -148,7 +148,7 @@ pub fn classify_name(sema: &Semantics<RootDatabase>, name: &ast::Name) -> Option
148148 } )
149149 . and_then( |name_ref| classify_name_ref( sema, & name_ref) ) ?;
150150
151- Some ( NameClass :: Definition ( name_ref_class. definition( sema. db) ? ) )
151+ Some ( NameClass :: Definition ( name_ref_class. definition( sema. db) ) )
152152 } else {
153153 let extern_crate = it. syntax( ) . parent( ) . and_then( ast:: ExternCrate :: cast) ?;
154154 let resolved = sema. resolve_extern_crate( & extern_crate) ?;
@@ -234,14 +234,12 @@ pub enum NameRefClass {
234234}
235235
236236impl NameRefClass {
237- pub fn definition ( self , db : & dyn HirDatabase ) -> Option < Definition > {
238- Some ( match self {
239- NameRefClass :: ExternCrate ( krate) => {
240- Definition :: ModuleDef ( krate. root_module ( db) ?. into ( ) )
241- }
237+ pub fn definition ( self , db : & dyn HirDatabase ) -> Definition {
238+ match self {
239+ NameRefClass :: ExternCrate ( krate) => Definition :: ModuleDef ( krate. root_module ( db) . into ( ) ) ,
242240 NameRefClass :: Definition ( def) => def,
243241 NameRefClass :: FieldShorthand { local, field : _ } => Definition :: Local ( local) ,
244- } )
242+ }
245243 }
246244}
247245
0 commit comments