Skip to content

Commit 16d2b55

Browse files
committed
prevent TrivialClone implementations from appearing in rustdoc output
1 parent 7c430e7 commit 16d2b55

File tree

25 files changed

+49
-1
lines changed

25 files changed

+49
-1
lines changed

compiler/rustc_builtin_macros/src/deriving/bounds.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ pub(crate) fn expand_deriving_copy(
2525
is_const,
2626
is_staged_api_crate: cx.ecfg.features.staged_api(),
2727
safety: Safety::Default,
28+
document: true,
2829
};
2930

3031
trait_def.expand(cx, mitem, item, push);
@@ -50,6 +51,7 @@ pub(crate) fn expand_deriving_const_param_ty(
5051
is_const,
5152
is_staged_api_crate: cx.ecfg.features.staged_api(),
5253
safety: Safety::Default,
54+
document: true,
5355
};
5456

5557
trait_def.expand(cx, mitem, item, push);

compiler/rustc_builtin_macros/src/deriving/clone.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,9 @@ pub(crate) fn expand_deriving_clone(
8383
is_const,
8484
is_staged_api_crate: cx.ecfg.features.staged_api(),
8585
safety: Safety::Unsafe(DUMMY_SP),
86+
// `TrivialClone` is not part of an API guarantee, so it shouldn't
87+
// appear in rustdoc output.
88+
document: false,
8689
};
8790

8891
trivial_def.expand_ext(cx, mitem, item, push, true);
@@ -109,6 +112,7 @@ pub(crate) fn expand_deriving_clone(
109112
is_const,
110113
is_staged_api_crate: cx.ecfg.features.staged_api(),
111114
safety: Safety::Default,
115+
document: true,
112116
};
113117

114118
trait_def.expand_ext(cx, mitem, item, push, is_simple)

compiler/rustc_builtin_macros/src/deriving/cmp/eq.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ pub(crate) fn expand_deriving_eq(
4545
is_const,
4646
is_staged_api_crate: cx.ecfg.features.staged_api(),
4747
safety: Safety::Default,
48+
document: true,
4849
};
4950
trait_def.expand_ext(cx, mitem, item, push, true)
5051
}

compiler/rustc_builtin_macros/src/deriving/cmp/ord.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ pub(crate) fn expand_deriving_ord(
3636
is_const,
3737
is_staged_api_crate: cx.ecfg.features.staged_api(),
3838
safety: Safety::Default,
39+
document: true,
3940
};
4041

4142
trait_def.expand(cx, mitem, item, push)

compiler/rustc_builtin_macros/src/deriving/cmp/partial_eq.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ pub(crate) fn expand_deriving_partial_eq(
3131
is_const: false,
3232
is_staged_api_crate: cx.ecfg.features.staged_api(),
3333
safety: Safety::Default,
34+
document: true,
3435
};
3536
structural_trait_def.expand(cx, mitem, item, push);
3637

@@ -61,6 +62,7 @@ pub(crate) fn expand_deriving_partial_eq(
6162
is_const,
6263
is_staged_api_crate: cx.ecfg.features.staged_api(),
6364
safety: Safety::Default,
65+
document: true,
6466
};
6567
trait_def.expand(cx, mitem, item, push)
6668
}

compiler/rustc_builtin_macros/src/deriving/cmp/partial_ord.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ pub(crate) fn expand_deriving_partial_ord(
6666
is_const,
6767
is_staged_api_crate: cx.ecfg.features.staged_api(),
6868
safety: Safety::Default,
69+
document: true,
6970
};
7071
trait_def.expand(cx, mitem, item, push)
7172
}

compiler/rustc_builtin_macros/src/deriving/debug.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ pub(crate) fn expand_deriving_debug(
4343
is_const,
4444
is_staged_api_crate: cx.ecfg.features.staged_api(),
4545
safety: Safety::Default,
46+
document: true,
4647
};
4748
trait_def.expand(cx, mitem, item, push)
4849
}

compiler/rustc_builtin_macros/src/deriving/default.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ pub(crate) fn expand_deriving_default(
5252
is_const,
5353
is_staged_api_crate: cx.ecfg.features.staged_api(),
5454
safety: Safety::Default,
55+
document: true,
5556
};
5657
trait_def.expand(cx, mitem, item, push)
5758
}

compiler/rustc_builtin_macros/src/deriving/from.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ pub(crate) fn expand_deriving_from(
128128
is_const,
129129
is_staged_api_crate: cx.ecfg.features.staged_api(),
130130
safety: Safety::Default,
131+
document: true,
131132
};
132133

133134
from_trait_def.expand(cx, mitem, annotatable, push);

compiler/rustc_builtin_macros/src/deriving/generic/mod.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,9 @@ pub(crate) struct TraitDef<'a> {
228228

229229
/// The safety of the `impl`.
230230
pub safety: Safety,
231+
232+
/// Whether the added `impl` should appear in rustdoc output.
233+
pub document: bool,
231234
}
232235

233236
pub(crate) struct MethodDef<'a> {
@@ -829,6 +832,10 @@ impl<'a> TraitDef<'a> {
829832
)
830833
}
831834

835+
if !self.document {
836+
attrs.push(cx.attr_nested_word(sym::doc, sym::hidden, self.span));
837+
}
838+
832839
cx.item(
833840
self.span,
834841
attrs,

0 commit comments

Comments
 (0)