@@ -514,7 +514,14 @@ impl<'a, 'tcx> LinkCollector<'a, 'tcx> {
514
514
Res :: Def ( DefKind :: AssocFn | DefKind :: AssocConst , _) => assert_eq ! ( ns, ValueNS ) ,
515
515
Res :: Def ( DefKind :: AssocTy , _) => assert_eq ! ( ns, TypeNS ) ,
516
516
Res :: Def ( DefKind :: Variant , _) => {
517
- return handle_variant ( self . cx , res, extra_fragment) ;
517
+ if extra_fragment. is_some ( ) {
518
+ // NOTE: `res` can never be a primitive since this match arm means
519
+ // `tcx.def_kind(res) == DefKind::Variant`.
520
+ return Err ( ErrorKind :: AnchorFailure (
521
+ AnchorFailure :: RustdocAnchorConflict ( res) ,
522
+ ) ) ;
523
+ }
524
+ return handle_variant ( self . cx , res) ;
518
525
}
519
526
// Not a trait item; just return what we found.
520
527
_ => return Ok ( ( res, extra_fragment. clone ( ) ) ) ,
@@ -2272,14 +2279,9 @@ fn privacy_error(cx: &DocContext<'_>, diag_info: &DiagnosticInfo<'_>, path_str:
2272
2279
fn handle_variant (
2273
2280
cx : & DocContext < ' _ > ,
2274
2281
res : Res ,
2275
- extra_fragment : & Option < UrlFragment > ,
2276
2282
) -> Result < ( Res , Option < UrlFragment > ) , ErrorKind < ' static > > {
2277
2283
use rustc_middle:: ty:: DefIdTree ;
2278
2284
2279
- if extra_fragment. is_some ( ) {
2280
- // NOTE: `res` can never be a primitive since this function is only called when `tcx.def_kind(res) == DefKind::Variant`.
2281
- return Err ( ErrorKind :: AnchorFailure ( AnchorFailure :: RustdocAnchorConflict ( res) ) ) ;
2282
- }
2283
2285
cx. tcx
2284
2286
. parent ( res. def_id ( cx. tcx ) )
2285
2287
. map ( |parent| {
0 commit comments