@@ -293,7 +293,7 @@ fn broken_link_clone_cb<'a>(link: BrokenLink<'a>) -> Option<(CowStr<'a>, CowStr<
293
293
fn get_doc_link ( db : & RootDatabase , def : Definition ) -> Option < String > {
294
294
let ( target, file, frag) = filename_and_frag_for_def ( db, def) ?;
295
295
296
- let krate = crate_of_def ( db, target ) ?;
296
+ let krate = target . krate ( db) ?;
297
297
let mut url = get_doc_base_url ( db, krate) ?;
298
298
299
299
if let Some ( path) = mod_path_of_def ( db, target) {
@@ -315,7 +315,7 @@ fn rewrite_intra_doc_link(
315
315
let ( link, ns) = parse_intra_doc_link ( target) ;
316
316
317
317
let resolved = resolve_doc_path_for_def ( db, def, link, ns) ?;
318
- let krate = crate_of_def ( db, resolved ) ?;
318
+ let krate = resolved . krate ( db) ?;
319
319
let mut url = get_doc_base_url ( db, krate) ?;
320
320
321
321
let ( _, file, frag) = filename_and_frag_for_def ( db, resolved) ?;
@@ -335,7 +335,7 @@ fn rewrite_url_link(db: &RootDatabase, def: Definition, target: &str) -> Option<
335
335
return None ;
336
336
}
337
337
338
- let krate = crate_of_def ( db, def ) ?;
338
+ let krate = def . krate ( db) ?;
339
339
let mut url = get_doc_base_url ( db, krate) ?;
340
340
let ( def, file, frag) = filename_and_frag_for_def ( db, def) ?;
341
341
@@ -348,15 +348,6 @@ fn rewrite_url_link(db: &RootDatabase, def: Definition, target: &str) -> Option<
348
348
url. join ( target) . ok ( ) . map ( Into :: into)
349
349
}
350
350
351
- fn crate_of_def ( db : & RootDatabase , def : Definition ) -> Option < Crate > {
352
- let krate = match def {
353
- // Definition::module gives back the parent module, we don't want that as it fails for root modules
354
- Definition :: Module ( module) => module. krate ( ) ,
355
- def => def. module ( db) ?. krate ( ) ,
356
- } ;
357
- Some ( krate)
358
- }
359
-
360
351
fn mod_path_of_def ( db : & RootDatabase , def : Definition ) -> Option < String > {
361
352
def. canonical_module_path ( db) . map ( |it| {
362
353
let mut path = String :: new ( ) ;
0 commit comments