Skip to content

Commit 12b2287

Browse files
committed
Fix failures in rustdoc
1 parent bbc0e62 commit 12b2287

File tree

1 file changed

+62
-178
lines changed

1 file changed

+62
-178
lines changed

Diff for: src/librustdoc/clean/cfg.rs

+62-178
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,42 @@ mod test {
407407
Cfg::Cfg(Symbol::intern(name), Some(Symbol::intern(value)))
408408
}
409409

410+
fn dummy_meta_item_word(name: &str) -> MetaItem {
411+
MetaItem {
412+
name: Path::from_ident(DUMMY_SP, Ident::from_str(name)),
413+
node: MetaItemKind::Word,
414+
span: DUMMY_SP,
415+
}
416+
}
417+
418+
macro_rules! dummy_meta_item_list {
419+
($name:ident, [$($list:ident),* $(,)*]) => {
420+
MetaItem {
421+
name: Path::from_ident(DUMMY_SP, Ident::from_str(stringify!($name))),
422+
node: MetaItemKind::List(vec![
423+
$(
424+
dummy_spanned(NestedMetaItemKind::MetaItem(
425+
dummy_meta_item_word(stringify!($list)),
426+
)),
427+
)*
428+
]),
429+
span: DUMMY_SP,
430+
}
431+
};
432+
433+
($name:ident, [$($list:expr),* $(,)*]) => {
434+
MetaItem {
435+
name: Path::from_ident(DUMMY_SP, Ident::from_str(stringify!($name))),
436+
node: MetaItemKind::List(vec![
437+
$(
438+
dummy_spanned(NestedMetaItemKind::MetaItem($list)),
439+
)*
440+
]),
441+
span: DUMMY_SP,
442+
}
443+
};
444+
}
445+
410446
#[test]
411447
fn test_cfg_not() {
412448
assert_eq!(!Cfg::False, Cfg::True);
@@ -525,15 +561,11 @@ mod test {
525561

526562
#[test]
527563
fn test_parse_ok() {
528-
let mi = MetaItem {
529-
name: Symbol::intern("all"),
530-
node: MetaItemKind::Word,
531-
span: DUMMY_SP,
532-
};
564+
let mi = dummy_meta_item_word("all");
533565
assert_eq!(Cfg::parse(&mi), Ok(word_cfg("all")));
534566

535567
let mi = MetaItem {
536-
name: Symbol::intern("all"),
568+
name: Path::from_ident(DUMMY_SP, Ident::from_str("all")),
537569
node: MetaItemKind::NameValue(dummy_spanned(LitKind::Str(
538570
Symbol::intern("done"),
539571
StrStyle::Cooked,
@@ -542,208 +574,60 @@ mod test {
542574
};
543575
assert_eq!(Cfg::parse(&mi), Ok(name_value_cfg("all", "done")));
544576

545-
let mi = MetaItem {
546-
name: Symbol::intern("all"),
547-
node: MetaItemKind::List(vec![
548-
dummy_spanned(NestedMetaItemKind::MetaItem(MetaItem {
549-
name: Symbol::intern("a"),
550-
node: MetaItemKind::Word,
551-
span: DUMMY_SP,
552-
})),
553-
dummy_spanned(NestedMetaItemKind::MetaItem(MetaItem {
554-
name: Symbol::intern("b"),
555-
node: MetaItemKind::Word,
556-
span: DUMMY_SP,
557-
})),
558-
]),
559-
span: DUMMY_SP,
560-
};
577+
let mi = dummy_meta_item_list!(all, [a, b]);
561578
assert_eq!(Cfg::parse(&mi), Ok(word_cfg("a") & word_cfg("b")));
562579

563-
let mi = MetaItem {
564-
name: Symbol::intern("any"),
565-
node: MetaItemKind::List(vec![
566-
dummy_spanned(NestedMetaItemKind::MetaItem(MetaItem {
567-
name: Symbol::intern("a"),
568-
node: MetaItemKind::Word,
569-
span: DUMMY_SP,
570-
})),
571-
dummy_spanned(NestedMetaItemKind::MetaItem(MetaItem {
572-
name: Symbol::intern("b"),
573-
node: MetaItemKind::Word,
574-
span: DUMMY_SP,
575-
})),
576-
]),
577-
span: DUMMY_SP,
578-
};
580+
let mi = dummy_meta_item_list!(any, [a, b]);
579581
assert_eq!(Cfg::parse(&mi), Ok(word_cfg("a") | word_cfg("b")));
580582

581-
let mi = MetaItem {
582-
name: Symbol::intern("not"),
583-
node: MetaItemKind::List(vec![
584-
dummy_spanned(NestedMetaItemKind::MetaItem(MetaItem {
585-
name: Symbol::intern("a"),
586-
node: MetaItemKind::Word,
587-
span: DUMMY_SP,
588-
})),
589-
]),
590-
span: DUMMY_SP,
591-
};
583+
let mi = dummy_meta_item_list!(not, [a]);
592584
assert_eq!(Cfg::parse(&mi), Ok(!word_cfg("a")));
593585

594-
let mi = MetaItem {
595-
name: Symbol::intern("not"),
596-
node: MetaItemKind::List(vec![
597-
dummy_spanned(NestedMetaItemKind::MetaItem(MetaItem {
598-
name: Symbol::intern("any"),
599-
node: MetaItemKind::List(vec![
600-
dummy_spanned(NestedMetaItemKind::MetaItem(MetaItem {
601-
name: Symbol::intern("a"),
602-
node: MetaItemKind::Word,
603-
span: DUMMY_SP,
604-
})),
605-
dummy_spanned(NestedMetaItemKind::MetaItem(MetaItem {
606-
name: Symbol::intern("all"),
607-
node: MetaItemKind::List(vec![
608-
dummy_spanned(NestedMetaItemKind::MetaItem(MetaItem {
609-
name: Symbol::intern("b"),
610-
node: MetaItemKind::Word,
611-
span: DUMMY_SP,
612-
})),
613-
dummy_spanned(NestedMetaItemKind::MetaItem(MetaItem {
614-
name: Symbol::intern("c"),
615-
node: MetaItemKind::Word,
616-
span: DUMMY_SP,
617-
})),
618-
]),
619-
span: DUMMY_SP,
620-
})),
621-
]),
622-
span: DUMMY_SP,
623-
})),
586+
let mi = dummy_meta_item_list!(not, [
587+
dummy_meta_item_list!(any, [
588+
dummy_meta_item_word("a"),
589+
dummy_meta_item_list!(all, [b, c]),
624590
]),
625-
span: DUMMY_SP,
626-
};
591+
]);
627592
assert_eq!(Cfg::parse(&mi), Ok(!(word_cfg("a") | (word_cfg("b") & word_cfg("c")))));
628593

629-
let mi = MetaItem {
630-
name: Symbol::intern("all"),
631-
node: MetaItemKind::List(vec![
632-
dummy_spanned(NestedMetaItemKind::MetaItem(MetaItem {
633-
name: Symbol::intern("a"),
634-
node: MetaItemKind::Word,
635-
span: DUMMY_SP,
636-
})),
637-
dummy_spanned(NestedMetaItemKind::MetaItem(MetaItem {
638-
name: Symbol::intern("b"),
639-
node: MetaItemKind::Word,
640-
span: DUMMY_SP,
641-
})),
642-
dummy_spanned(NestedMetaItemKind::MetaItem(MetaItem {
643-
name: Symbol::intern("c"),
644-
node: MetaItemKind::Word,
645-
span: DUMMY_SP,
646-
})),
647-
]),
648-
span: DUMMY_SP,
649-
};
594+
let mi = dummy_meta_item_list!(all, [a, b, c]);
650595
assert_eq!(Cfg::parse(&mi), Ok(word_cfg("a") & word_cfg("b") & word_cfg("c")));
651596
}
652597

653598
#[test]
654599
fn test_parse_err() {
655600
let mi = MetaItem {
656-
name: Symbol::intern("foo"),
601+
name: Path::from_ident(DUMMY_SP, Ident::from_str("foo")),
657602
node: MetaItemKind::NameValue(dummy_spanned(LitKind::Bool(false))),
658603
span: DUMMY_SP,
659604
};
660605
assert!(Cfg::parse(&mi).is_err());
661606

662-
let mi = MetaItem {
663-
name: Symbol::intern("not"),
664-
node: MetaItemKind::List(vec![
665-
dummy_spanned(NestedMetaItemKind::MetaItem(MetaItem {
666-
name: Symbol::intern("a"),
667-
node: MetaItemKind::Word,
668-
span: DUMMY_SP,
669-
})),
670-
dummy_spanned(NestedMetaItemKind::MetaItem(MetaItem {
671-
name: Symbol::intern("b"),
672-
node: MetaItemKind::Word,
673-
span: DUMMY_SP,
674-
})),
675-
]),
676-
span: DUMMY_SP,
677-
};
607+
let mi = dummy_meta_item_list!(not, [a, b]);
678608
assert!(Cfg::parse(&mi).is_err());
679609

680-
let mi = MetaItem {
681-
name: Symbol::intern("not"),
682-
node: MetaItemKind::List(vec![]),
683-
span: DUMMY_SP,
684-
};
610+
let mi = dummy_meta_item_list!(not, []);
685611
assert!(Cfg::parse(&mi).is_err());
686612

687-
let mi = MetaItem {
688-
name: Symbol::intern("foo"),
689-
node: MetaItemKind::List(vec![
690-
dummy_spanned(NestedMetaItemKind::MetaItem(MetaItem {
691-
name: Symbol::intern("a"),
692-
node: MetaItemKind::Word,
693-
span: DUMMY_SP,
694-
})),
695-
]),
696-
span: DUMMY_SP,
697-
};
613+
let mi = dummy_meta_item_list!(foo, []);
698614
assert!(Cfg::parse(&mi).is_err());
699615

700-
let mi = MetaItem {
701-
name: Symbol::intern("all"),
702-
node: MetaItemKind::List(vec![
703-
dummy_spanned(NestedMetaItemKind::MetaItem(MetaItem {
704-
name: Symbol::intern("foo"),
705-
node: MetaItemKind::List(vec![]),
706-
span: DUMMY_SP,
707-
})),
708-
dummy_spanned(NestedMetaItemKind::MetaItem(MetaItem {
709-
name: Symbol::intern("b"),
710-
node: MetaItemKind::Word,
711-
span: DUMMY_SP,
712-
})),
713-
]),
714-
span: DUMMY_SP,
715-
};
616+
let mi = dummy_meta_item_list!(all, [
617+
dummy_meta_item_list!(foo, []),
618+
dummy_meta_item_word("b"),
619+
]);
716620
assert!(Cfg::parse(&mi).is_err());
717621

718-
let mi = MetaItem {
719-
name: Symbol::intern("any"),
720-
node: MetaItemKind::List(vec![
721-
dummy_spanned(NestedMetaItemKind::MetaItem(MetaItem {
722-
name: Symbol::intern("a"),
723-
node: MetaItemKind::Word,
724-
span: DUMMY_SP,
725-
})),
726-
dummy_spanned(NestedMetaItemKind::MetaItem(MetaItem {
727-
name: Symbol::intern("foo"),
728-
node: MetaItemKind::List(vec![]),
729-
span: DUMMY_SP,
730-
})),
731-
]),
732-
span: DUMMY_SP,
733-
};
622+
let mi = dummy_meta_item_list!(any, [
623+
dummy_meta_item_word("a"),
624+
dummy_meta_item_list!(foo, []),
625+
]);
734626
assert!(Cfg::parse(&mi).is_err());
735627

736-
let mi = MetaItem {
737-
name: Symbol::intern("not"),
738-
node: MetaItemKind::List(vec![
739-
dummy_spanned(NestedMetaItemKind::MetaItem(MetaItem {
740-
name: Symbol::intern("foo"),
741-
node: MetaItemKind::List(vec![]),
742-
span: DUMMY_SP,
743-
})),
744-
]),
745-
span: DUMMY_SP,
746-
};
628+
let mi = dummy_meta_item_list!(not, [
629+
dummy_meta_item_list!(foo, []),
630+
]);
747631
assert!(Cfg::parse(&mi).is_err());
748632
}
749633

0 commit comments

Comments
 (0)