1use std::borrow::Cow;
2use std::path::PathBuf;
3
4pub use ReprAttr::*;
5use rustc_abi::Align;
6pub use rustc_ast::attr::data_structures::*;
7use rustc_ast::token::DocFragmentKind;
8use rustc_ast::{AttrStyle, ast};
9use rustc_data_structures::fx::FxIndexMap;
10use rustc_error_messages::{DiagArgValue, IntoDiagArg};
11use rustc_macros::{Decodable, Encodable, HashStable_Generic, PrintAttribute};
12use rustc_span::def_id::DefId;
13use rustc_span::hygiene::Transparency;
14use rustc_span::{ErrorGuaranteed, Ident, Span, Symbol};
15pub use rustc_target::spec::SanitizerSet;
16use thin_vec::ThinVec;
17
18use crate::attrs::pretty_printing::PrintAttribute;
19use crate::limit::Limit;
20use crate::{DefaultBodyStability, PartialConstStability, RustcVersion, Stability};
21
22#[derive(#[automatically_derived]
impl ::core::marker::Copy for EiiImplResolution { }Copy, #[automatically_derived]
impl ::core::clone::Clone for EiiImplResolution {
#[inline]
fn clone(&self) -> EiiImplResolution {
let _: ::core::clone::AssertParamIsClone<DefId>;
let _: ::core::clone::AssertParamIsClone<EiiDecl>;
let _: ::core::clone::AssertParamIsClone<ErrorGuaranteed>;
*self
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for EiiImplResolution {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
EiiImplResolution::Macro(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Macro",
&__self_0),
EiiImplResolution::Known(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Known",
&__self_0),
EiiImplResolution::Error(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Error",
&__self_0),
}
}
}Debug, const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for EiiImplResolution where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
EiiImplResolution::Macro(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
EiiImplResolution::Known(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
EiiImplResolution::Error(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
}
}
}
};HashStable_Generic, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for EiiImplResolution {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
EiiImplResolution::Macro(ref __binding_0) => { 0usize }
EiiImplResolution::Known(ref __binding_0) => { 1usize }
EiiImplResolution::Error(ref __binding_0) => { 2usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
EiiImplResolution::Macro(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
EiiImplResolution::Known(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
EiiImplResolution::Error(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for EiiImplResolution {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => {
EiiImplResolution::Macro(::rustc_serialize::Decodable::decode(__decoder))
}
1usize => {
EiiImplResolution::Known(::rustc_serialize::Decodable::decode(__decoder))
}
2usize => {
EiiImplResolution::Error(::rustc_serialize::Decodable::decode(__decoder))
}
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `EiiImplResolution`, expected 0..3, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for EiiImplResolution {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Macro(f0) => {
__p.word("Macro");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Known(f0) => {
__p.word("Known");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Error(f0) => {
__p.word("Error");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
}
}
}
};PrintAttribute)]
23pub enum EiiImplResolution {
24 Macro(DefId),
28 Known(EiiDecl),
31 Error(ErrorGuaranteed),
33}
34
35#[derive(#[automatically_derived]
impl ::core::marker::Copy for EiiImpl { }Copy, #[automatically_derived]
impl ::core::clone::Clone for EiiImpl {
#[inline]
fn clone(&self) -> EiiImpl {
let _: ::core::clone::AssertParamIsClone<EiiImplResolution>;
let _: ::core::clone::AssertParamIsClone<bool>;
let _: ::core::clone::AssertParamIsClone<Span>;
*self
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for EiiImpl {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field5_finish(f, "EiiImpl",
"resolution", &self.resolution, "impl_marked_unsafe",
&self.impl_marked_unsafe, "span", &self.span, "inner_span",
&self.inner_span, "is_default", &&self.is_default)
}
}Debug, const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for EiiImpl where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
match *self {
EiiImpl {
resolution: ref __binding_0,
impl_marked_unsafe: ref __binding_1,
span: ref __binding_2,
inner_span: ref __binding_3,
is_default: ref __binding_4 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
{ __binding_2.hash_stable(__hcx, __hasher); }
{ __binding_3.hash_stable(__hcx, __hasher); }
{ __binding_4.hash_stable(__hcx, __hasher); }
}
}
}
}
};HashStable_Generic, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for EiiImpl {
fn encode(&self, __encoder: &mut __E) {
match *self {
EiiImpl {
resolution: ref __binding_0,
impl_marked_unsafe: ref __binding_1,
span: ref __binding_2,
inner_span: ref __binding_3,
is_default: ref __binding_4 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_3,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_4,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for EiiImpl {
fn decode(__decoder: &mut __D) -> Self {
EiiImpl {
resolution: ::rustc_serialize::Decodable::decode(__decoder),
impl_marked_unsafe: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
inner_span: ::rustc_serialize::Decodable::decode(__decoder),
is_default: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for EiiImpl {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
let Self {
resolution, impl_marked_unsafe, span, inner_span, is_default
} = self;
__p.word("EiiImpl");
if true && !resolution.should_render() &&
!impl_marked_unsafe.should_render() && !span.should_render()
&& !inner_span.should_render() &&
!is_default.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if resolution.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("resolution");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
resolution.print_attribute(__p);
if impl_marked_unsafe.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("impl_marked_unsafe");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
impl_marked_unsafe.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
if inner_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("inner_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
inner_span.print_attribute(__p);
if is_default.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("is_default");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
is_default.print_attribute(__p);
__p.word("}");
}
}
};PrintAttribute)]
36pub struct EiiImpl {
37 pub resolution: EiiImplResolution,
38 pub impl_marked_unsafe: bool,
39 pub span: Span,
40 pub inner_span: Span,
41 pub is_default: bool,
42}
43
44#[derive(#[automatically_derived]
impl ::core::marker::Copy for EiiDecl { }Copy, #[automatically_derived]
impl ::core::clone::Clone for EiiDecl {
#[inline]
fn clone(&self) -> EiiDecl {
let _: ::core::clone::AssertParamIsClone<DefId>;
let _: ::core::clone::AssertParamIsClone<bool>;
let _: ::core::clone::AssertParamIsClone<Ident>;
*self
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for EiiDecl {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field3_finish(f, "EiiDecl",
"foreign_item", &self.foreign_item, "impl_unsafe",
&self.impl_unsafe, "name", &&self.name)
}
}Debug, const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for EiiDecl where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
match *self {
EiiDecl {
foreign_item: ref __binding_0,
impl_unsafe: ref __binding_1,
name: ref __binding_2 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
{ __binding_2.hash_stable(__hcx, __hasher); }
}
}
}
}
};HashStable_Generic, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for EiiDecl {
fn encode(&self, __encoder: &mut __E) {
match *self {
EiiDecl {
foreign_item: ref __binding_0,
impl_unsafe: ref __binding_1,
name: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for EiiDecl {
fn decode(__decoder: &mut __D) -> Self {
EiiDecl {
foreign_item: ::rustc_serialize::Decodable::decode(__decoder),
impl_unsafe: ::rustc_serialize::Decodable::decode(__decoder),
name: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for EiiDecl {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
let Self { foreign_item, impl_unsafe, name } = self;
__p.word("EiiDecl");
if true && !foreign_item.should_render() &&
!impl_unsafe.should_render() && !name.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if foreign_item.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("foreign_item");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
foreign_item.print_attribute(__p);
if impl_unsafe.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("impl_unsafe");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
impl_unsafe.print_attribute(__p);
if name.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("name");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
name.print_attribute(__p);
__p.word("}");
}
}
};PrintAttribute)]
45pub struct EiiDecl {
46 pub foreign_item: DefId,
47 pub impl_unsafe: bool,
49 pub name: Ident,
50}
51
52#[derive(#[automatically_derived]
impl ::core::marker::Copy for InlineAttr { }Copy, #[automatically_derived]
impl ::core::clone::Clone for InlineAttr {
#[inline]
fn clone(&self) -> InlineAttr {
let _: ::core::clone::AssertParamIsClone<Span>;
let _: ::core::clone::AssertParamIsClone<Option<Symbol>>;
*self
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for InlineAttr {
#[inline]
fn eq(&self, other: &InlineAttr) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr &&
match (self, other) {
(InlineAttr::Force { attr_span: __self_0, reason: __self_1 },
InlineAttr::Force { attr_span: __arg1_0, reason: __arg1_1 })
=> __self_0 == __arg1_0 && __self_1 == __arg1_1,
_ => true,
}
}
}PartialEq, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for InlineAttr {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
InlineAttr::None => { 0usize }
InlineAttr::Hint => { 1usize }
InlineAttr::Always => { 2usize }
InlineAttr::Never => { 3usize }
InlineAttr::Force {
attr_span: ref __binding_0, reason: ref __binding_1 } => {
4usize
}
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
InlineAttr::None => {}
InlineAttr::Hint => {}
InlineAttr::Always => {}
InlineAttr::Never => {}
InlineAttr::Force {
attr_span: ref __binding_0, reason: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for InlineAttr {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { InlineAttr::None }
1usize => { InlineAttr::Hint }
2usize => { InlineAttr::Always }
3usize => { InlineAttr::Never }
4usize => {
InlineAttr::Force {
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
reason: ::rustc_serialize::Decodable::decode(__decoder),
}
}
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `InlineAttr`, expected 0..5, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::fmt::Debug for InlineAttr {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
InlineAttr::None => ::core::fmt::Formatter::write_str(f, "None"),
InlineAttr::Hint => ::core::fmt::Formatter::write_str(f, "Hint"),
InlineAttr::Always =>
::core::fmt::Formatter::write_str(f, "Always"),
InlineAttr::Never =>
::core::fmt::Formatter::write_str(f, "Never"),
InlineAttr::Force { attr_span: __self_0, reason: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f, "Force",
"attr_span", __self_0, "reason", &__self_1),
}
}
}Debug, const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for InlineAttr where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
InlineAttr::None => {}
InlineAttr::Hint => {}
InlineAttr::Always => {}
InlineAttr::Never => {}
InlineAttr::Force {
attr_span: ref __binding_0, reason: ref __binding_1 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
}
}
}
};HashStable_Generic, const _: () =
{
#[allow(unused)]
impl PrintAttribute for InlineAttr {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::None => { __p.word("None") }
Self::Hint => { __p.word("Hint") }
Self::Always => { __p.word("Always") }
Self::Never => { __p.word("Never") }
Self::Force { attr_span, reason } => {
__p.word("Force");
if true && !attr_span.should_render() &&
!reason.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if attr_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_span.print_attribute(__p);
if reason.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("reason");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
reason.print_attribute(__p);
__p.word("}");
}
}
}
}
};PrintAttribute)]
53pub enum InlineAttr {
54 None,
55 Hint,
56 Always,
57 Never,
58 Force {
62 attr_span: Span,
63 reason: Option<Symbol>,
64 },
65}
66
67impl InlineAttr {
68 pub fn always(&self) -> bool {
69 match self {
70 InlineAttr::Always | InlineAttr::Force { .. } => true,
71 InlineAttr::None | InlineAttr::Hint | InlineAttr::Never => false,
72 }
73 }
74}
75
76#[derive(
77 #[automatically_derived]
impl ::core::marker::Copy for InstructionSetAttr { }Copy,
78 #[automatically_derived]
impl ::core::clone::Clone for InstructionSetAttr {
#[inline]
fn clone(&self) -> InstructionSetAttr { *self }
}Clone,
79 const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for InstructionSetAttr {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
InstructionSetAttr::ArmA32 => { 0usize }
InstructionSetAttr::ArmT32 => { 1usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
InstructionSetAttr::ArmA32 => {}
InstructionSetAttr::ArmT32 => {}
}
}
}
};Encodable,
80 const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for InstructionSetAttr {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { InstructionSetAttr::ArmA32 }
1usize => { InstructionSetAttr::ArmT32 }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `InstructionSetAttr`, expected 0..2, actual {0}",
n));
}
}
}
}
};Decodable,
81 #[automatically_derived]
impl ::core::fmt::Debug for InstructionSetAttr {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
InstructionSetAttr::ArmA32 => "ArmA32",
InstructionSetAttr::ArmT32 => "ArmT32",
})
}
}Debug,
82 #[automatically_derived]
impl ::core::cmp::PartialEq for InstructionSetAttr {
#[inline]
fn eq(&self, other: &InstructionSetAttr) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq,
83 #[automatically_derived]
impl ::core::cmp::Eq for InstructionSetAttr {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_receiver_is_total_eq(&self) {}
}Eq,
84 const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for InstructionSetAttr where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
InstructionSetAttr::ArmA32 => {}
InstructionSetAttr::ArmT32 => {}
}
}
}
};HashStable_Generic,
85 const _: () =
{
#[allow(unused)]
impl PrintAttribute for InstructionSetAttr {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::ArmA32 => { __p.word("ArmA32") }
Self::ArmT32 => { __p.word("ArmT32") }
}
}
}
};PrintAttribute
86)]
87pub enum InstructionSetAttr {
88 ArmA32,
89 ArmT32,
90}
91
92#[derive(#[automatically_derived]
impl ::core::marker::Copy for OptimizeAttr { }Copy, #[automatically_derived]
impl ::core::clone::Clone for OptimizeAttr {
#[inline]
fn clone(&self) -> OptimizeAttr { *self }
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for OptimizeAttr {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
OptimizeAttr::Default => "Default",
OptimizeAttr::DoNotOptimize => "DoNotOptimize",
OptimizeAttr::Speed => "Speed",
OptimizeAttr::Size => "Size",
})
}
}Debug, #[automatically_derived]
impl ::core::cmp::PartialEq for OptimizeAttr {
#[inline]
fn eq(&self, other: &OptimizeAttr) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, #[automatically_derived]
impl ::core::cmp::Eq for OptimizeAttr {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_receiver_is_total_eq(&self) {}
}Eq, #[automatically_derived]
impl ::core::default::Default for OptimizeAttr {
#[inline]
fn default() -> OptimizeAttr { Self::Default }
}Default, const _: () =
{
#[allow(unused)]
impl PrintAttribute for OptimizeAttr {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Default => { __p.word("Default") }
Self::DoNotOptimize => { __p.word("DoNotOptimize") }
Self::Speed => { __p.word("Speed") }
Self::Size => { __p.word("Size") }
}
}
}
};PrintAttribute)]
93#[derive(const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for OptimizeAttr {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
OptimizeAttr::Default => { 0usize }
OptimizeAttr::DoNotOptimize => { 1usize }
OptimizeAttr::Speed => { 2usize }
OptimizeAttr::Size => { 3usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
OptimizeAttr::Default => {}
OptimizeAttr::DoNotOptimize => {}
OptimizeAttr::Speed => {}
OptimizeAttr::Size => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for OptimizeAttr {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { OptimizeAttr::Default }
1usize => { OptimizeAttr::DoNotOptimize }
2usize => { OptimizeAttr::Speed }
3usize => { OptimizeAttr::Size }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `OptimizeAttr`, expected 0..4, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for OptimizeAttr where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
OptimizeAttr::Default => {}
OptimizeAttr::DoNotOptimize => {}
OptimizeAttr::Speed => {}
OptimizeAttr::Size => {}
}
}
}
};HashStable_Generic)]
94pub enum OptimizeAttr {
95 #[default]
97 Default,
98 DoNotOptimize,
100 Speed,
102 Size,
104}
105
106impl OptimizeAttr {
107 pub fn do_not_optimize(&self) -> bool {
108 #[allow(non_exhaustive_omitted_patterns)] match self {
Self::DoNotOptimize => true,
_ => false,
}matches!(self, Self::DoNotOptimize)
109 }
110}
111
112#[derive(#[automatically_derived]
impl ::core::cmp::PartialEq for ReprAttr {
#[inline]
fn eq(&self, other: &ReprAttr) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr &&
match (self, other) {
(ReprAttr::ReprInt(__self_0), ReprAttr::ReprInt(__arg1_0)) =>
__self_0 == __arg1_0,
(ReprAttr::ReprPacked(__self_0),
ReprAttr::ReprPacked(__arg1_0)) => __self_0 == __arg1_0,
(ReprAttr::ReprAlign(__self_0), ReprAttr::ReprAlign(__arg1_0))
=> __self_0 == __arg1_0,
_ => true,
}
}
}PartialEq, #[automatically_derived]
impl ::core::fmt::Debug for ReprAttr {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
ReprAttr::ReprInt(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"ReprInt", &__self_0),
ReprAttr::ReprRust =>
::core::fmt::Formatter::write_str(f, "ReprRust"),
ReprAttr::ReprC => ::core::fmt::Formatter::write_str(f, "ReprC"),
ReprAttr::ReprPacked(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"ReprPacked", &__self_0),
ReprAttr::ReprSimd =>
::core::fmt::Formatter::write_str(f, "ReprSimd"),
ReprAttr::ReprTransparent =>
::core::fmt::Formatter::write_str(f, "ReprTransparent"),
ReprAttr::ReprAlign(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"ReprAlign", &__self_0),
}
}
}Debug, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for ReprAttr {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
ReprAttr::ReprInt(ref __binding_0) => { 0usize }
ReprAttr::ReprRust => { 1usize }
ReprAttr::ReprC => { 2usize }
ReprAttr::ReprPacked(ref __binding_0) => { 3usize }
ReprAttr::ReprSimd => { 4usize }
ReprAttr::ReprTransparent => { 5usize }
ReprAttr::ReprAlign(ref __binding_0) => { 6usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
ReprAttr::ReprInt(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
ReprAttr::ReprRust => {}
ReprAttr::ReprC => {}
ReprAttr::ReprPacked(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
ReprAttr::ReprSimd => {}
ReprAttr::ReprTransparent => {}
ReprAttr::ReprAlign(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for ReprAttr {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => {
ReprAttr::ReprInt(::rustc_serialize::Decodable::decode(__decoder))
}
1usize => { ReprAttr::ReprRust }
2usize => { ReprAttr::ReprC }
3usize => {
ReprAttr::ReprPacked(::rustc_serialize::Decodable::decode(__decoder))
}
4usize => { ReprAttr::ReprSimd }
5usize => { ReprAttr::ReprTransparent }
6usize => {
ReprAttr::ReprAlign(::rustc_serialize::Decodable::decode(__decoder))
}
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `ReprAttr`, expected 0..7, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::marker::Copy for ReprAttr { }Copy, #[automatically_derived]
impl ::core::clone::Clone for ReprAttr {
#[inline]
fn clone(&self) -> ReprAttr {
let _: ::core::clone::AssertParamIsClone<IntType>;
let _: ::core::clone::AssertParamIsClone<Align>;
*self
}
}Clone, const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for ReprAttr where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
ReprAttr::ReprInt(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
ReprAttr::ReprRust => {}
ReprAttr::ReprC => {}
ReprAttr::ReprPacked(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
ReprAttr::ReprSimd => {}
ReprAttr::ReprTransparent => {}
ReprAttr::ReprAlign(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
}
}
}
};HashStable_Generic, const _: () =
{
#[allow(unused)]
impl PrintAttribute for ReprAttr {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::ReprInt(f0) => {
__p.word("ReprInt");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::ReprRust => { __p.word("ReprRust") }
Self::ReprC => { __p.word("ReprC") }
Self::ReprPacked(f0) => {
__p.word("ReprPacked");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::ReprSimd => { __p.word("ReprSimd") }
Self::ReprTransparent => { __p.word("ReprTransparent") }
Self::ReprAlign(f0) => {
__p.word("ReprAlign");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
}
}
}
};PrintAttribute)]
113pub enum ReprAttr {
114 ReprInt(IntType),
115 ReprRust,
116 ReprC,
117 ReprPacked(Align),
118 ReprSimd,
119 ReprTransparent,
120 ReprAlign(Align),
121}
122
123pub enum TransparencyError {
124 UnknownTransparency(Symbol, Span),
125 MultipleTransparencyAttrs(Span, Span),
126}
127
128#[derive(#[automatically_derived]
impl ::core::cmp::Eq for IntType {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_receiver_is_total_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<ast::IntTy>;
let _: ::core::cmp::AssertParamIsEq<ast::UintTy>;
}
}Eq, #[automatically_derived]
impl ::core::cmp::PartialEq for IntType {
#[inline]
fn eq(&self, other: &IntType) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr &&
match (self, other) {
(IntType::SignedInt(__self_0), IntType::SignedInt(__arg1_0))
=> __self_0 == __arg1_0,
(IntType::UnsignedInt(__self_0),
IntType::UnsignedInt(__arg1_0)) => __self_0 == __arg1_0,
_ => unsafe { ::core::intrinsics::unreachable() }
}
}
}PartialEq, #[automatically_derived]
impl ::core::fmt::Debug for IntType {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
IntType::SignedInt(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"SignedInt", &__self_0),
IntType::UnsignedInt(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"UnsignedInt", &__self_0),
}
}
}Debug, #[automatically_derived]
impl ::core::marker::Copy for IntType { }Copy, #[automatically_derived]
impl ::core::clone::Clone for IntType {
#[inline]
fn clone(&self) -> IntType {
let _: ::core::clone::AssertParamIsClone<ast::IntTy>;
let _: ::core::clone::AssertParamIsClone<ast::UintTy>;
*self
}
}Clone)]
129#[derive(const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for IntType {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
IntType::SignedInt(ref __binding_0) => { 0usize }
IntType::UnsignedInt(ref __binding_0) => { 1usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
IntType::SignedInt(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
IntType::UnsignedInt(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for IntType {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => {
IntType::SignedInt(::rustc_serialize::Decodable::decode(__decoder))
}
1usize => {
IntType::UnsignedInt(::rustc_serialize::Decodable::decode(__decoder))
}
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `IntType`, expected 0..2, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for IntType where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
IntType::SignedInt(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
IntType::UnsignedInt(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
}
}
}
};HashStable_Generic, const _: () =
{
#[allow(unused)]
impl PrintAttribute for IntType {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::SignedInt(f0) => {
__p.word("SignedInt");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::UnsignedInt(f0) => {
__p.word("UnsignedInt");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
}
}
}
};PrintAttribute)]
130pub enum IntType {
131 SignedInt(ast::IntTy),
132 UnsignedInt(ast::UintTy),
133}
134
135#[derive(#[automatically_derived]
impl ::core::marker::Copy for Deprecation { }Copy, #[automatically_derived]
impl ::core::fmt::Debug for Deprecation {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field3_finish(f, "Deprecation",
"since", &self.since, "note", &self.note, "suggestion",
&&self.suggestion)
}
}Debug, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for Deprecation {
fn encode(&self, __encoder: &mut __E) {
match *self {
Deprecation {
since: ref __binding_0,
note: ref __binding_1,
suggestion: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for Deprecation {
fn decode(__decoder: &mut __D) -> Self {
Deprecation {
since: ::rustc_serialize::Decodable::decode(__decoder),
note: ::rustc_serialize::Decodable::decode(__decoder),
suggestion: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, #[automatically_derived]
impl ::core::clone::Clone for Deprecation {
#[inline]
fn clone(&self) -> Deprecation {
let _: ::core::clone::AssertParamIsClone<DeprecatedSince>;
let _: ::core::clone::AssertParamIsClone<Option<Ident>>;
let _: ::core::clone::AssertParamIsClone<Option<Symbol>>;
*self
}
}Clone, const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for Deprecation where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
match *self {
Deprecation {
since: ref __binding_0,
note: ref __binding_1,
suggestion: ref __binding_2 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
{ __binding_2.hash_stable(__hcx, __hasher); }
}
}
}
}
};HashStable_Generic, const _: () =
{
#[allow(unused)]
impl PrintAttribute for Deprecation {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
let Self { since, note, suggestion } = self;
__p.word("Deprecation");
if true && !since.should_render() && !note.should_render() &&
!suggestion.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if since.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("since");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
since.print_attribute(__p);
if note.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("note");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
note.print_attribute(__p);
if suggestion.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("suggestion");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
suggestion.print_attribute(__p);
__p.word("}");
}
}
};PrintAttribute)]
136pub struct Deprecation {
137 pub since: DeprecatedSince,
138 pub note: Option<Ident>,
140 pub suggestion: Option<Symbol>,
144}
145
146#[derive(#[automatically_derived]
impl ::core::marker::Copy for DeprecatedSince { }Copy, #[automatically_derived]
impl ::core::fmt::Debug for DeprecatedSince {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
DeprecatedSince::RustcVersion(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcVersion", &__self_0),
DeprecatedSince::Future =>
::core::fmt::Formatter::write_str(f, "Future"),
DeprecatedSince::NonStandard(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"NonStandard", &__self_0),
DeprecatedSince::Unspecified =>
::core::fmt::Formatter::write_str(f, "Unspecified"),
DeprecatedSince::Err =>
::core::fmt::Formatter::write_str(f, "Err"),
}
}
}Debug, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for DeprecatedSince {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
DeprecatedSince::RustcVersion(ref __binding_0) => { 0usize }
DeprecatedSince::Future => { 1usize }
DeprecatedSince::NonStandard(ref __binding_0) => { 2usize }
DeprecatedSince::Unspecified => { 3usize }
DeprecatedSince::Err => { 4usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
DeprecatedSince::RustcVersion(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
DeprecatedSince::Future => {}
DeprecatedSince::NonStandard(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
DeprecatedSince::Unspecified => {}
DeprecatedSince::Err => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for DeprecatedSince {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => {
DeprecatedSince::RustcVersion(::rustc_serialize::Decodable::decode(__decoder))
}
1usize => { DeprecatedSince::Future }
2usize => {
DeprecatedSince::NonStandard(::rustc_serialize::Decodable::decode(__decoder))
}
3usize => { DeprecatedSince::Unspecified }
4usize => { DeprecatedSince::Err }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `DeprecatedSince`, expected 0..5, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::clone::Clone for DeprecatedSince {
#[inline]
fn clone(&self) -> DeprecatedSince {
let _: ::core::clone::AssertParamIsClone<RustcVersion>;
let _: ::core::clone::AssertParamIsClone<Symbol>;
*self
}
}Clone, const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for DeprecatedSince where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
DeprecatedSince::RustcVersion(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
DeprecatedSince::Future => {}
DeprecatedSince::NonStandard(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
DeprecatedSince::Unspecified => {}
DeprecatedSince::Err => {}
}
}
}
};HashStable_Generic, const _: () =
{
#[allow(unused)]
impl PrintAttribute for DeprecatedSince {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::RustcVersion(f0) => {
__p.word("RustcVersion");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Future => { __p.word("Future") }
Self::NonStandard(f0) => {
__p.word("NonStandard");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Unspecified => { __p.word("Unspecified") }
Self::Err => { __p.word("Err") }
}
}
}
};PrintAttribute)]
148pub enum DeprecatedSince {
149 RustcVersion(RustcVersion),
150 Future,
152 NonStandard(Symbol),
155 Unspecified,
157 Err,
160}
161
162#[derive(#[automatically_derived]
impl ::core::marker::Copy for CoverageAttrKind { }Copy, #[automatically_derived]
impl ::core::fmt::Debug for CoverageAttrKind {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
CoverageAttrKind::On => "On",
CoverageAttrKind::Off => "Off",
})
}
}Debug, #[automatically_derived]
impl ::core::cmp::Eq for CoverageAttrKind {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_receiver_is_total_eq(&self) {}
}Eq, #[automatically_derived]
impl ::core::cmp::PartialEq for CoverageAttrKind {
#[inline]
fn eq(&self, other: &CoverageAttrKind) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for CoverageAttrKind {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
CoverageAttrKind::On => { 0usize }
CoverageAttrKind::Off => { 1usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
CoverageAttrKind::On => {}
CoverageAttrKind::Off => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for CoverageAttrKind {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { CoverageAttrKind::On }
1usize => { CoverageAttrKind::Off }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `CoverageAttrKind`, expected 0..2, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::clone::Clone for CoverageAttrKind {
#[inline]
fn clone(&self) -> CoverageAttrKind { *self }
}Clone)]
164#[derive(const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for CoverageAttrKind where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
CoverageAttrKind::On => {}
CoverageAttrKind::Off => {}
}
}
}
};HashStable_Generic, const _: () =
{
#[allow(unused)]
impl PrintAttribute for CoverageAttrKind {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::On => { __p.word("On") }
Self::Off => { __p.word("Off") }
}
}
}
};PrintAttribute)]
165pub enum CoverageAttrKind {
166 On,
167 Off,
168}
169
170#[derive(#[automatically_derived]
impl ::core::marker::Copy for RustcAbiAttrKind { }Copy, #[automatically_derived]
impl ::core::fmt::Debug for RustcAbiAttrKind {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
RustcAbiAttrKind::Debug => "Debug",
RustcAbiAttrKind::AssertEq => "AssertEq",
})
}
}Debug, #[automatically_derived]
impl ::core::cmp::Eq for RustcAbiAttrKind {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_receiver_is_total_eq(&self) {}
}Eq, #[automatically_derived]
impl ::core::cmp::PartialEq for RustcAbiAttrKind {
#[inline]
fn eq(&self, other: &RustcAbiAttrKind) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for RustcAbiAttrKind {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
RustcAbiAttrKind::Debug => { 0usize }
RustcAbiAttrKind::AssertEq => { 1usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
RustcAbiAttrKind::Debug => {}
RustcAbiAttrKind::AssertEq => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for RustcAbiAttrKind {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { RustcAbiAttrKind::Debug }
1usize => { RustcAbiAttrKind::AssertEq }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `RustcAbiAttrKind`, expected 0..2, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::clone::Clone for RustcAbiAttrKind {
#[inline]
fn clone(&self) -> RustcAbiAttrKind { *self }
}Clone)]
172#[derive(const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for RustcAbiAttrKind where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
RustcAbiAttrKind::Debug => {}
RustcAbiAttrKind::AssertEq => {}
}
}
}
};HashStable_Generic, const _: () =
{
#[allow(unused)]
impl PrintAttribute for RustcAbiAttrKind {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Debug => { __p.word("Debug") }
Self::AssertEq => { __p.word("AssertEq") }
}
}
}
};PrintAttribute)]
173pub enum RustcAbiAttrKind {
174 Debug,
175 AssertEq,
176}
177
178impl Deprecation {
179 pub fn is_in_effect(&self) -> bool {
183 match self.since {
184 DeprecatedSince::RustcVersion(since) => since <= RustcVersion::CURRENT,
185 DeprecatedSince::Future => false,
186 DeprecatedSince::NonStandard(_) => true,
188 DeprecatedSince::Unspecified | DeprecatedSince::Err => true,
190 }
191 }
192
193 pub fn is_since_rustc_version(&self) -> bool {
194 #[allow(non_exhaustive_omitted_patterns)] match self.since {
DeprecatedSince::RustcVersion(_) => true,
_ => false,
}matches!(self.since, DeprecatedSince::RustcVersion(_))
195 }
196}
197
198#[derive(const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for UsedBy {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
UsedBy::Default => { 0usize }
UsedBy::Compiler => { 1usize }
UsedBy::Linker => { 2usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
UsedBy::Default => {}
UsedBy::Compiler => {}
UsedBy::Linker => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for UsedBy {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { UsedBy::Default }
1usize => { UsedBy::Compiler }
2usize => { UsedBy::Linker }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `UsedBy`, expected 0..3, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::marker::Copy for UsedBy { }Copy, #[automatically_derived]
impl ::core::clone::Clone for UsedBy {
#[inline]
fn clone(&self) -> UsedBy { *self }
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for UsedBy {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
UsedBy::Default => "Default",
UsedBy::Compiler => "Compiler",
UsedBy::Linker => "Linker",
})
}
}Debug, #[automatically_derived]
impl ::core::cmp::PartialEq for UsedBy {
#[inline]
fn eq(&self, other: &UsedBy) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, #[automatically_derived]
impl ::core::cmp::Eq for UsedBy {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_receiver_is_total_eq(&self) {}
}Eq, #[automatically_derived]
impl ::core::hash::Hash for UsedBy {
#[inline]
fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) {
let __self_discr = ::core::intrinsics::discriminant_value(self);
::core::hash::Hash::hash(&__self_discr, state)
}
}Hash)]
203#[derive(const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for UsedBy where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
UsedBy::Default => {}
UsedBy::Compiler => {}
UsedBy::Linker => {}
}
}
}
};HashStable_Generic, const _: () =
{
#[allow(unused)]
impl PrintAttribute for UsedBy {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Default => { __p.word("Default") }
Self::Compiler => { __p.word("Compiler") }
Self::Linker => { __p.word("Linker") }
}
}
}
};PrintAttribute)]
204pub enum UsedBy {
205 Default,
206 Compiler,
207 Linker,
208}
209
210#[derive(const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for MacroUseArgs {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
MacroUseArgs::UseAll => { 0usize }
MacroUseArgs::UseSpecific(ref __binding_0) => { 1usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
MacroUseArgs::UseAll => {}
MacroUseArgs::UseSpecific(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for MacroUseArgs {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { MacroUseArgs::UseAll }
1usize => {
MacroUseArgs::UseSpecific(::rustc_serialize::Decodable::decode(__decoder))
}
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `MacroUseArgs`, expected 0..2, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::clone::Clone for MacroUseArgs {
#[inline]
fn clone(&self) -> MacroUseArgs {
match self {
MacroUseArgs::UseAll => MacroUseArgs::UseAll,
MacroUseArgs::UseSpecific(__self_0) =>
MacroUseArgs::UseSpecific(::core::clone::Clone::clone(__self_0)),
}
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for MacroUseArgs {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
MacroUseArgs::UseAll =>
::core::fmt::Formatter::write_str(f, "UseAll"),
MacroUseArgs::UseSpecific(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"UseSpecific", &__self_0),
}
}
}Debug, #[automatically_derived]
impl ::core::cmp::PartialEq for MacroUseArgs {
#[inline]
fn eq(&self, other: &MacroUseArgs) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr &&
match (self, other) {
(MacroUseArgs::UseSpecific(__self_0),
MacroUseArgs::UseSpecific(__arg1_0)) =>
__self_0 == __arg1_0,
_ => true,
}
}
}PartialEq, #[automatically_derived]
impl ::core::cmp::Eq for MacroUseArgs {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_receiver_is_total_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<ThinVec<Ident>>;
}
}Eq, #[automatically_derived]
impl ::core::hash::Hash for MacroUseArgs {
#[inline]
fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) {
let __self_discr = ::core::intrinsics::discriminant_value(self);
::core::hash::Hash::hash(&__self_discr, state);
match self {
MacroUseArgs::UseSpecific(__self_0) =>
::core::hash::Hash::hash(__self_0, state),
_ => {}
}
}
}Hash)]
211#[derive(const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for MacroUseArgs where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
MacroUseArgs::UseAll => {}
MacroUseArgs::UseSpecific(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
}
}
}
};HashStable_Generic, const _: () =
{
#[allow(unused)]
impl PrintAttribute for MacroUseArgs {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::UseAll => { __p.word("UseAll") }
Self::UseSpecific(f0) => {
__p.word("UseSpecific");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
}
}
}
};PrintAttribute)]
212pub enum MacroUseArgs {
213 UseAll,
214 UseSpecific(ThinVec<Ident>),
215}
216
217impl Default for MacroUseArgs {
218 fn default() -> Self {
219 Self::UseSpecific(ThinVec::new())
220 }
221}
222
223#[derive(#[automatically_derived]
impl<ModId: ::core::fmt::Debug> ::core::fmt::Debug for StrippedCfgItem<ModId>
{
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field3_finish(f,
"StrippedCfgItem", "parent_module", &self.parent_module, "ident",
&self.ident, "cfg", &&self.cfg)
}
}Debug, #[automatically_derived]
impl<ModId: ::core::clone::Clone> ::core::clone::Clone for
StrippedCfgItem<ModId> {
#[inline]
fn clone(&self) -> StrippedCfgItem<ModId> {
StrippedCfgItem {
parent_module: ::core::clone::Clone::clone(&self.parent_module),
ident: ::core::clone::Clone::clone(&self.ident),
cfg: ::core::clone::Clone::clone(&self.cfg),
}
}
}Clone, const _: () =
{
impl<ModId, __E: ::rustc_span::SpanEncoder>
::rustc_serialize::Encodable<__E> for StrippedCfgItem<ModId> where
ModId: ::rustc_serialize::Encodable<__E> {
fn encode(&self, __encoder: &mut __E) {
match *self {
StrippedCfgItem {
parent_module: ref __binding_0,
ident: ref __binding_1,
cfg: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<ModId, __D: ::rustc_span::SpanDecoder>
::rustc_serialize::Decodable<__D> for StrippedCfgItem<ModId> where
ModId: ::rustc_serialize::Decodable<__D> {
fn decode(__decoder: &mut __D) -> Self {
StrippedCfgItem {
parent_module: ::rustc_serialize::Decodable::decode(__decoder),
ident: ::rustc_serialize::Decodable::decode(__decoder),
cfg: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, const _: () =
{
impl<ModId, __CTX>
::rustc_data_structures::stable_hasher::HashStable<__CTX> for
StrippedCfgItem<ModId> where __CTX: crate::HashStableContext,
ModId: ::rustc_data_structures::stable_hasher::HashStable<__CTX> {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
match *self {
StrippedCfgItem {
parent_module: ref __binding_0,
ident: ref __binding_1,
cfg: ref __binding_2 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
{ __binding_2.hash_stable(__hcx, __hasher); }
}
}
}
}
};HashStable_Generic)]
224pub struct StrippedCfgItem<ModId = DefId> {
225 pub parent_module: ModId,
226 pub ident: Ident,
227 pub cfg: (CfgEntry, Span),
228}
229
230impl<ModId> StrippedCfgItem<ModId> {
231 pub fn map_mod_id<New>(self, f: impl FnOnce(ModId) -> New) -> StrippedCfgItem<New> {
232 StrippedCfgItem { parent_module: f(self.parent_module), ident: self.ident, cfg: self.cfg }
233 }
234}
235
236#[derive(const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for Linkage {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
Linkage::AvailableExternally => { 0usize }
Linkage::Common => { 1usize }
Linkage::ExternalWeak => { 2usize }
Linkage::External => { 3usize }
Linkage::Internal => { 4usize }
Linkage::LinkOnceAny => { 5usize }
Linkage::LinkOnceODR => { 6usize }
Linkage::WeakAny => { 7usize }
Linkage::WeakODR => { 8usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
Linkage::AvailableExternally => {}
Linkage::Common => {}
Linkage::ExternalWeak => {}
Linkage::External => {}
Linkage::Internal => {}
Linkage::LinkOnceAny => {}
Linkage::LinkOnceODR => {}
Linkage::WeakAny => {}
Linkage::WeakODR => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for Linkage {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { Linkage::AvailableExternally }
1usize => { Linkage::Common }
2usize => { Linkage::ExternalWeak }
3usize => { Linkage::External }
4usize => { Linkage::Internal }
5usize => { Linkage::LinkOnceAny }
6usize => { Linkage::LinkOnceODR }
7usize => { Linkage::WeakAny }
8usize => { Linkage::WeakODR }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `Linkage`, expected 0..9, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::clone::Clone for Linkage {
#[inline]
fn clone(&self) -> Linkage { *self }
}Clone, #[automatically_derived]
impl ::core::marker::Copy for Linkage { }Copy, #[automatically_derived]
impl ::core::fmt::Debug for Linkage {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
Linkage::AvailableExternally => "AvailableExternally",
Linkage::Common => "Common",
Linkage::ExternalWeak => "ExternalWeak",
Linkage::External => "External",
Linkage::Internal => "Internal",
Linkage::LinkOnceAny => "LinkOnceAny",
Linkage::LinkOnceODR => "LinkOnceODR",
Linkage::WeakAny => "WeakAny",
Linkage::WeakODR => "WeakODR",
})
}
}Debug, #[automatically_derived]
impl ::core::cmp::PartialEq for Linkage {
#[inline]
fn eq(&self, other: &Linkage) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, #[automatically_derived]
impl ::core::cmp::Eq for Linkage {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_receiver_is_total_eq(&self) {}
}Eq, #[automatically_derived]
impl ::core::hash::Hash for Linkage {
#[inline]
fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) {
let __self_discr = ::core::intrinsics::discriminant_value(self);
::core::hash::Hash::hash(&__self_discr, state)
}
}Hash)]
241#[derive(const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for Linkage where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
Linkage::AvailableExternally => {}
Linkage::Common => {}
Linkage::ExternalWeak => {}
Linkage::External => {}
Linkage::Internal => {}
Linkage::LinkOnceAny => {}
Linkage::LinkOnceODR => {}
Linkage::WeakAny => {}
Linkage::WeakODR => {}
}
}
}
};HashStable_Generic, const _: () =
{
#[allow(unused)]
impl PrintAttribute for Linkage {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::AvailableExternally => {
__p.word("AvailableExternally")
}
Self::Common => { __p.word("Common") }
Self::ExternalWeak => { __p.word("ExternalWeak") }
Self::External => { __p.word("External") }
Self::Internal => { __p.word("Internal") }
Self::LinkOnceAny => { __p.word("LinkOnceAny") }
Self::LinkOnceODR => { __p.word("LinkOnceODR") }
Self::WeakAny => { __p.word("WeakAny") }
Self::WeakODR => { __p.word("WeakODR") }
}
}
}
};PrintAttribute)]
242pub enum Linkage {
243 AvailableExternally,
244 Common,
245 ExternalWeak,
246 External,
247 Internal,
248 LinkOnceAny,
249 LinkOnceODR,
250 WeakAny,
251 WeakODR,
252}
253
254#[derive(#[automatically_derived]
impl ::core::clone::Clone for MirDialect {
#[inline]
fn clone(&self) -> MirDialect { *self }
}Clone, #[automatically_derived]
impl ::core::marker::Copy for MirDialect { }Copy, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for MirDialect {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { MirDialect::Analysis }
1usize => { MirDialect::Built }
2usize => { MirDialect::Runtime }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `MirDialect`, expected 0..3, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::fmt::Debug for MirDialect {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
MirDialect::Analysis => "Analysis",
MirDialect::Built => "Built",
MirDialect::Runtime => "Runtime",
})
}
}Debug, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for MirDialect {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
MirDialect::Analysis => { 0usize }
MirDialect::Built => { 1usize }
MirDialect::Runtime => { 2usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
MirDialect::Analysis => {}
MirDialect::Built => {}
MirDialect::Runtime => {}
}
}
}
};Encodable, #[automatically_derived]
impl ::core::cmp::PartialEq for MirDialect {
#[inline]
fn eq(&self, other: &MirDialect) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq)]
255#[derive(const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for MirDialect where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
MirDialect::Analysis => {}
MirDialect::Built => {}
MirDialect::Runtime => {}
}
}
}
};HashStable_Generic, const _: () =
{
#[allow(unused)]
impl PrintAttribute for MirDialect {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Analysis => { __p.word("Analysis") }
Self::Built => { __p.word("Built") }
Self::Runtime => { __p.word("Runtime") }
}
}
}
};PrintAttribute)]
256pub enum MirDialect {
257 Analysis,
258 Built,
259 Runtime,
260}
261
262impl IntoDiagArg for MirDialect {
263 fn into_diag_arg(self, _path: &mut Option<PathBuf>) -> DiagArgValue {
264 let arg = match self {
265 MirDialect::Analysis => "analysis",
266 MirDialect::Built => "built",
267 MirDialect::Runtime => "runtime",
268 };
269 DiagArgValue::Str(Cow::Borrowed(arg))
270 }
271}
272
273#[derive(#[automatically_derived]
impl ::core::clone::Clone for MirPhase {
#[inline]
fn clone(&self) -> MirPhase { *self }
}Clone, #[automatically_derived]
impl ::core::marker::Copy for MirPhase { }Copy, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for MirPhase {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { MirPhase::Initial }
1usize => { MirPhase::PostCleanup }
2usize => { MirPhase::Optimized }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `MirPhase`, expected 0..3, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::fmt::Debug for MirPhase {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
MirPhase::Initial => "Initial",
MirPhase::PostCleanup => "PostCleanup",
MirPhase::Optimized => "Optimized",
})
}
}Debug, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for MirPhase {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
MirPhase::Initial => { 0usize }
MirPhase::PostCleanup => { 1usize }
MirPhase::Optimized => { 2usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
MirPhase::Initial => {}
MirPhase::PostCleanup => {}
MirPhase::Optimized => {}
}
}
}
};Encodable, #[automatically_derived]
impl ::core::cmp::PartialEq for MirPhase {
#[inline]
fn eq(&self, other: &MirPhase) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq)]
274#[derive(const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for MirPhase where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
MirPhase::Initial => {}
MirPhase::PostCleanup => {}
MirPhase::Optimized => {}
}
}
}
};HashStable_Generic, const _: () =
{
#[allow(unused)]
impl PrintAttribute for MirPhase {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Initial => { __p.word("Initial") }
Self::PostCleanup => { __p.word("PostCleanup") }
Self::Optimized => { __p.word("Optimized") }
}
}
}
};PrintAttribute)]
275pub enum MirPhase {
276 Initial,
277 PostCleanup,
278 Optimized,
279}
280
281impl IntoDiagArg for MirPhase {
282 fn into_diag_arg(self, _path: &mut Option<PathBuf>) -> DiagArgValue {
283 let arg = match self {
284 MirPhase::Initial => "initial",
285 MirPhase::PostCleanup => "post-cleanup",
286 MirPhase::Optimized => "optimized",
287 };
288 DiagArgValue::Str(Cow::Borrowed(arg))
289 }
290}
291
292#[derive(
295 #[automatically_derived]
impl ::core::marker::Copy for PeImportNameType { }Copy,
296 #[automatically_derived]
impl ::core::clone::Clone for PeImportNameType {
#[inline]
fn clone(&self) -> PeImportNameType {
let _: ::core::clone::AssertParamIsClone<u16>;
*self
}
}Clone,
297 #[automatically_derived]
impl ::core::fmt::Debug for PeImportNameType {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
PeImportNameType::Ordinal(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"Ordinal", &__self_0),
PeImportNameType::Decorated =>
::core::fmt::Formatter::write_str(f, "Decorated"),
PeImportNameType::NoPrefix =>
::core::fmt::Formatter::write_str(f, "NoPrefix"),
PeImportNameType::Undecorated =>
::core::fmt::Formatter::write_str(f, "Undecorated"),
}
}
}Debug,
298 const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for PeImportNameType {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
PeImportNameType::Ordinal(ref __binding_0) => { 0usize }
PeImportNameType::Decorated => { 1usize }
PeImportNameType::NoPrefix => { 2usize }
PeImportNameType::Undecorated => { 3usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
PeImportNameType::Ordinal(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
PeImportNameType::Decorated => {}
PeImportNameType::NoPrefix => {}
PeImportNameType::Undecorated => {}
}
}
}
};Encodable,
299 const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for PeImportNameType {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => {
PeImportNameType::Ordinal(::rustc_serialize::Decodable::decode(__decoder))
}
1usize => { PeImportNameType::Decorated }
2usize => { PeImportNameType::NoPrefix }
3usize => { PeImportNameType::Undecorated }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `PeImportNameType`, expected 0..4, actual {0}",
n));
}
}
}
}
};Decodable,
300 const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for PeImportNameType where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
PeImportNameType::Ordinal(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
PeImportNameType::Decorated => {}
PeImportNameType::NoPrefix => {}
PeImportNameType::Undecorated => {}
}
}
}
};HashStable_Generic,
301 #[automatically_derived]
impl ::core::cmp::PartialEq for PeImportNameType {
#[inline]
fn eq(&self, other: &PeImportNameType) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr &&
match (self, other) {
(PeImportNameType::Ordinal(__self_0),
PeImportNameType::Ordinal(__arg1_0)) =>
__self_0 == __arg1_0,
_ => true,
}
}
}PartialEq,
302 #[automatically_derived]
impl ::core::cmp::Eq for PeImportNameType {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_receiver_is_total_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<u16>;
}
}Eq,
303 const _: () =
{
#[allow(unused)]
impl PrintAttribute for PeImportNameType {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Ordinal(f0) => {
__p.word("Ordinal");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Decorated => { __p.word("Decorated") }
Self::NoPrefix => { __p.word("NoPrefix") }
Self::Undecorated => { __p.word("Undecorated") }
}
}
}
};PrintAttribute
304)]
305pub enum PeImportNameType {
306 Ordinal(u16),
309 Decorated,
312 NoPrefix,
315 Undecorated,
319}
320
321#[derive(
322 #[automatically_derived]
impl ::core::marker::Copy for NativeLibKind { }Copy,
323 #[automatically_derived]
impl ::core::clone::Clone for NativeLibKind {
#[inline]
fn clone(&self) -> NativeLibKind {
let _: ::core::clone::AssertParamIsClone<Option<bool>>;
let _: ::core::clone::AssertParamIsClone<Option<bool>>;
let _: ::core::clone::AssertParamIsClone<Option<bool>>;
let _: ::core::clone::AssertParamIsClone<Option<bool>>;
let _: ::core::clone::AssertParamIsClone<Option<bool>>;
let _: ::core::clone::AssertParamIsClone<Option<bool>>;
*self
}
}Clone,
324 #[automatically_derived]
impl ::core::fmt::Debug for NativeLibKind {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
NativeLibKind::Static {
bundle: __self_0,
whole_archive: __self_1,
export_symbols: __self_2 } =>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"Static", "bundle", __self_0, "whole_archive", __self_1,
"export_symbols", &__self_2),
NativeLibKind::Dylib { as_needed: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f, "Dylib",
"as_needed", &__self_0),
NativeLibKind::RawDylib { as_needed: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"RawDylib", "as_needed", &__self_0),
NativeLibKind::Framework { as_needed: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"Framework", "as_needed", &__self_0),
NativeLibKind::LinkArg =>
::core::fmt::Formatter::write_str(f, "LinkArg"),
NativeLibKind::WasmImportModule =>
::core::fmt::Formatter::write_str(f, "WasmImportModule"),
NativeLibKind::Unspecified =>
::core::fmt::Formatter::write_str(f, "Unspecified"),
}
}
}Debug,
325 #[automatically_derived]
impl ::core::cmp::PartialEq for NativeLibKind {
#[inline]
fn eq(&self, other: &NativeLibKind) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr &&
match (self, other) {
(NativeLibKind::Static {
bundle: __self_0,
whole_archive: __self_1,
export_symbols: __self_2 }, NativeLibKind::Static {
bundle: __arg1_0,
whole_archive: __arg1_1,
export_symbols: __arg1_2 }) =>
__self_0 == __arg1_0 && __self_1 == __arg1_1 &&
__self_2 == __arg1_2,
(NativeLibKind::Dylib { as_needed: __self_0 },
NativeLibKind::Dylib { as_needed: __arg1_0 }) =>
__self_0 == __arg1_0,
(NativeLibKind::RawDylib { as_needed: __self_0 },
NativeLibKind::RawDylib { as_needed: __arg1_0 }) =>
__self_0 == __arg1_0,
(NativeLibKind::Framework { as_needed: __self_0 },
NativeLibKind::Framework { as_needed: __arg1_0 }) =>
__self_0 == __arg1_0,
_ => true,
}
}
}PartialEq,
326 #[automatically_derived]
impl ::core::cmp::Eq for NativeLibKind {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_receiver_is_total_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<Option<bool>>;
let _: ::core::cmp::AssertParamIsEq<Option<bool>>;
let _: ::core::cmp::AssertParamIsEq<Option<bool>>;
let _: ::core::cmp::AssertParamIsEq<Option<bool>>;
let _: ::core::cmp::AssertParamIsEq<Option<bool>>;
let _: ::core::cmp::AssertParamIsEq<Option<bool>>;
}
}Eq,
327 #[automatically_derived]
impl ::core::cmp::PartialOrd for NativeLibKind {
#[inline]
fn partial_cmp(&self, other: &NativeLibKind)
-> ::core::option::Option<::core::cmp::Ordering> {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
match (self, other) {
(NativeLibKind::Static {
bundle: __self_0,
whole_archive: __self_1,
export_symbols: __self_2 }, NativeLibKind::Static {
bundle: __arg1_0,
whole_archive: __arg1_1,
export_symbols: __arg1_2 }) =>
match ::core::cmp::PartialOrd::partial_cmp(__self_0, __arg1_0)
{
::core::option::Option::Some(::core::cmp::Ordering::Equal)
=>
match ::core::cmp::PartialOrd::partial_cmp(__self_1,
__arg1_1) {
::core::option::Option::Some(::core::cmp::Ordering::Equal)
=> ::core::cmp::PartialOrd::partial_cmp(__self_2, __arg1_2),
cmp => cmp,
},
cmp => cmp,
},
(NativeLibKind::Dylib { as_needed: __self_0 },
NativeLibKind::Dylib { as_needed: __arg1_0 }) =>
::core::cmp::PartialOrd::partial_cmp(__self_0, __arg1_0),
(NativeLibKind::RawDylib { as_needed: __self_0 },
NativeLibKind::RawDylib { as_needed: __arg1_0 }) =>
::core::cmp::PartialOrd::partial_cmp(__self_0, __arg1_0),
(NativeLibKind::Framework { as_needed: __self_0 },
NativeLibKind::Framework { as_needed: __arg1_0 }) =>
::core::cmp::PartialOrd::partial_cmp(__self_0, __arg1_0),
_ =>
::core::cmp::PartialOrd::partial_cmp(&__self_discr,
&__arg1_discr),
}
}
}PartialOrd,
328 #[automatically_derived]
impl ::core::cmp::Ord for NativeLibKind {
#[inline]
fn cmp(&self, other: &NativeLibKind) -> ::core::cmp::Ordering {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
match ::core::cmp::Ord::cmp(&__self_discr, &__arg1_discr) {
::core::cmp::Ordering::Equal =>
match (self, other) {
(NativeLibKind::Static {
bundle: __self_0,
whole_archive: __self_1,
export_symbols: __self_2 }, NativeLibKind::Static {
bundle: __arg1_0,
whole_archive: __arg1_1,
export_symbols: __arg1_2 }) =>
match ::core::cmp::Ord::cmp(__self_0, __arg1_0) {
::core::cmp::Ordering::Equal =>
match ::core::cmp::Ord::cmp(__self_1, __arg1_1) {
::core::cmp::Ordering::Equal =>
::core::cmp::Ord::cmp(__self_2, __arg1_2),
cmp => cmp,
},
cmp => cmp,
},
(NativeLibKind::Dylib { as_needed: __self_0 },
NativeLibKind::Dylib { as_needed: __arg1_0 }) =>
::core::cmp::Ord::cmp(__self_0, __arg1_0),
(NativeLibKind::RawDylib { as_needed: __self_0 },
NativeLibKind::RawDylib { as_needed: __arg1_0 }) =>
::core::cmp::Ord::cmp(__self_0, __arg1_0),
(NativeLibKind::Framework { as_needed: __self_0 },
NativeLibKind::Framework { as_needed: __arg1_0 }) =>
::core::cmp::Ord::cmp(__self_0, __arg1_0),
_ => ::core::cmp::Ordering::Equal,
},
cmp => cmp,
}
}
}Ord,
329 #[automatically_derived]
impl ::core::hash::Hash for NativeLibKind {
#[inline]
fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) {
let __self_discr = ::core::intrinsics::discriminant_value(self);
::core::hash::Hash::hash(&__self_discr, state);
match self {
NativeLibKind::Static {
bundle: __self_0,
whole_archive: __self_1,
export_symbols: __self_2 } => {
::core::hash::Hash::hash(__self_0, state);
::core::hash::Hash::hash(__self_1, state);
::core::hash::Hash::hash(__self_2, state)
}
NativeLibKind::Dylib { as_needed: __self_0 } =>
::core::hash::Hash::hash(__self_0, state),
NativeLibKind::RawDylib { as_needed: __self_0 } =>
::core::hash::Hash::hash(__self_0, state),
NativeLibKind::Framework { as_needed: __self_0 } =>
::core::hash::Hash::hash(__self_0, state),
_ => {}
}
}
}Hash,
330 const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for NativeLibKind {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
NativeLibKind::Static {
bundle: ref __binding_0,
whole_archive: ref __binding_1,
export_symbols: ref __binding_2 } => {
0usize
}
NativeLibKind::Dylib { as_needed: ref __binding_0 } => {
1usize
}
NativeLibKind::RawDylib { as_needed: ref __binding_0 } => {
2usize
}
NativeLibKind::Framework { as_needed: ref __binding_0 } => {
3usize
}
NativeLibKind::LinkArg => { 4usize }
NativeLibKind::WasmImportModule => { 5usize }
NativeLibKind::Unspecified => { 6usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
NativeLibKind::Static {
bundle: ref __binding_0,
whole_archive: ref __binding_1,
export_symbols: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
NativeLibKind::Dylib { as_needed: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
NativeLibKind::RawDylib { as_needed: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
NativeLibKind::Framework { as_needed: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
NativeLibKind::LinkArg => {}
NativeLibKind::WasmImportModule => {}
NativeLibKind::Unspecified => {}
}
}
}
};Encodable,
331 const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for NativeLibKind {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => {
NativeLibKind::Static {
bundle: ::rustc_serialize::Decodable::decode(__decoder),
whole_archive: ::rustc_serialize::Decodable::decode(__decoder),
export_symbols: ::rustc_serialize::Decodable::decode(__decoder),
}
}
1usize => {
NativeLibKind::Dylib {
as_needed: ::rustc_serialize::Decodable::decode(__decoder),
}
}
2usize => {
NativeLibKind::RawDylib {
as_needed: ::rustc_serialize::Decodable::decode(__decoder),
}
}
3usize => {
NativeLibKind::Framework {
as_needed: ::rustc_serialize::Decodable::decode(__decoder),
}
}
4usize => { NativeLibKind::LinkArg }
5usize => { NativeLibKind::WasmImportModule }
6usize => { NativeLibKind::Unspecified }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `NativeLibKind`, expected 0..7, actual {0}",
n));
}
}
}
}
};Decodable,
332 const _: () =
{
#[allow(unused)]
impl PrintAttribute for NativeLibKind {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Static { bundle, whole_archive, export_symbols } => {
__p.word("Static");
if true && !bundle.should_render() &&
!whole_archive.should_render() &&
!export_symbols.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if bundle.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("bundle");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
bundle.print_attribute(__p);
if whole_archive.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("whole_archive");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
whole_archive.print_attribute(__p);
if export_symbols.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("export_symbols");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
export_symbols.print_attribute(__p);
__p.word("}");
}
Self::Dylib { as_needed } => {
__p.word("Dylib");
if true && !as_needed.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if as_needed.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("as_needed");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
as_needed.print_attribute(__p);
__p.word("}");
}
Self::RawDylib { as_needed } => {
__p.word("RawDylib");
if true && !as_needed.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if as_needed.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("as_needed");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
as_needed.print_attribute(__p);
__p.word("}");
}
Self::Framework { as_needed } => {
__p.word("Framework");
if true && !as_needed.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if as_needed.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("as_needed");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
as_needed.print_attribute(__p);
__p.word("}");
}
Self::LinkArg => { __p.word("LinkArg") }
Self::WasmImportModule => { __p.word("WasmImportModule") }
Self::Unspecified => { __p.word("Unspecified") }
}
}
}
};PrintAttribute
333)]
334#[derive(const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for NativeLibKind where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
NativeLibKind::Static {
bundle: ref __binding_0,
whole_archive: ref __binding_1,
export_symbols: ref __binding_2 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
{ __binding_2.hash_stable(__hcx, __hasher); }
}
NativeLibKind::Dylib { as_needed: ref __binding_0 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
NativeLibKind::RawDylib { as_needed: ref __binding_0 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
NativeLibKind::Framework { as_needed: ref __binding_0 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
NativeLibKind::LinkArg => {}
NativeLibKind::WasmImportModule => {}
NativeLibKind::Unspecified => {}
}
}
}
};HashStable_Generic)]
335pub enum NativeLibKind {
336 Static {
338 bundle: Option<bool>,
340 whole_archive: Option<bool>,
342 export_symbols: Option<bool>,
344 },
345 Dylib {
348 as_needed: Option<bool>,
350 },
351 RawDylib {
354 as_needed: Option<bool>,
356 },
357 Framework {
359 as_needed: Option<bool>,
361 },
362 LinkArg,
365
366 WasmImportModule,
368
369 Unspecified,
371}
372
373impl NativeLibKind {
374 pub fn has_modifiers(&self) -> bool {
375 match self {
376 NativeLibKind::Static { bundle, whole_archive, export_symbols } => {
377 bundle.is_some() || whole_archive.is_some() || export_symbols.is_some()
378 }
379 NativeLibKind::Dylib { as_needed }
380 | NativeLibKind::Framework { as_needed }
381 | NativeLibKind::RawDylib { as_needed } => as_needed.is_some(),
382 NativeLibKind::Unspecified
383 | NativeLibKind::LinkArg
384 | NativeLibKind::WasmImportModule => false,
385 }
386 }
387
388 pub fn is_statically_included(&self) -> bool {
389 #[allow(non_exhaustive_omitted_patterns)] match self {
NativeLibKind::Static { .. } => true,
_ => false,
}matches!(self, NativeLibKind::Static { .. })
390 }
391
392 pub fn is_dllimport(&self) -> bool {
393 #[allow(non_exhaustive_omitted_patterns)] match self {
NativeLibKind::Dylib { .. } | NativeLibKind::RawDylib { .. } |
NativeLibKind::Unspecified => true,
_ => false,
}matches!(
394 self,
395 NativeLibKind::Dylib { .. }
396 | NativeLibKind::RawDylib { .. }
397 | NativeLibKind::Unspecified
398 )
399 }
400}
401
402#[derive(#[automatically_derived]
impl ::core::fmt::Debug for LinkEntry {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
let names: &'static _ =
&["span", "kind", "name", "cfg", "verbatim", "import_name_type"];
let values: &[&dyn ::core::fmt::Debug] =
&[&self.span, &self.kind, &self.name, &self.cfg, &self.verbatim,
&&self.import_name_type];
::core::fmt::Formatter::debug_struct_fields_finish(f, "LinkEntry",
names, values)
}
}Debug, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for LinkEntry {
fn encode(&self, __encoder: &mut __E) {
match *self {
LinkEntry {
span: ref __binding_0,
kind: ref __binding_1,
name: ref __binding_2,
cfg: ref __binding_3,
verbatim: ref __binding_4,
import_name_type: ref __binding_5 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_3,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_4,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_5,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for LinkEntry {
fn decode(__decoder: &mut __D) -> Self {
LinkEntry {
span: ::rustc_serialize::Decodable::decode(__decoder),
kind: ::rustc_serialize::Decodable::decode(__decoder),
name: ::rustc_serialize::Decodable::decode(__decoder),
cfg: ::rustc_serialize::Decodable::decode(__decoder),
verbatim: ::rustc_serialize::Decodable::decode(__decoder),
import_name_type: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, #[automatically_derived]
impl ::core::clone::Clone for LinkEntry {
#[inline]
fn clone(&self) -> LinkEntry {
LinkEntry {
span: ::core::clone::Clone::clone(&self.span),
kind: ::core::clone::Clone::clone(&self.kind),
name: ::core::clone::Clone::clone(&self.name),
cfg: ::core::clone::Clone::clone(&self.cfg),
verbatim: ::core::clone::Clone::clone(&self.verbatim),
import_name_type: ::core::clone::Clone::clone(&self.import_name_type),
}
}
}Clone, const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for LinkEntry where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
match *self {
LinkEntry {
span: ref __binding_0,
kind: ref __binding_1,
name: ref __binding_2,
cfg: ref __binding_3,
verbatim: ref __binding_4,
import_name_type: ref __binding_5 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
{ __binding_2.hash_stable(__hcx, __hasher); }
{ __binding_3.hash_stable(__hcx, __hasher); }
{ __binding_4.hash_stable(__hcx, __hasher); }
{ __binding_5.hash_stable(__hcx, __hasher); }
}
}
}
}
};HashStable_Generic, const _: () =
{
#[allow(unused)]
impl PrintAttribute for LinkEntry {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
let Self { span, kind, name, cfg, verbatim, import_name_type
} = self;
__p.word("LinkEntry");
if true && !span.should_render() && !kind.should_render() &&
!name.should_render() && !cfg.should_render() &&
!verbatim.should_render() &&
!import_name_type.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
if kind.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("kind");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
kind.print_attribute(__p);
if name.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("name");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
name.print_attribute(__p);
if cfg.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("cfg");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
cfg.print_attribute(__p);
if verbatim.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("verbatim");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
verbatim.print_attribute(__p);
if import_name_type.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("import_name_type");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
import_name_type.print_attribute(__p);
__p.word("}");
}
}
};PrintAttribute)]
403pub struct LinkEntry {
404 pub span: Span,
405 pub kind: NativeLibKind,
406 pub name: Symbol,
407 pub cfg: Option<CfgEntry>,
408 pub verbatim: Option<bool>,
409 pub import_name_type: Option<(PeImportNameType, Span)>,
410}
411
412#[derive(const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for DebuggerVisualizerType where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
DebuggerVisualizerType::Natvis => {}
DebuggerVisualizerType::GdbPrettyPrinter => {}
}
}
}
};HashStable_Generic, const _: () =
{
#[allow(unused)]
impl PrintAttribute for DebuggerVisualizerType {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Natvis => { __p.word("Natvis") }
Self::GdbPrettyPrinter => { __p.word("GdbPrettyPrinter") }
}
}
}
};PrintAttribute)]
413#[derive(#[automatically_derived]
impl ::core::marker::Copy for DebuggerVisualizerType { }Copy, #[automatically_derived]
impl ::core::cmp::PartialEq for DebuggerVisualizerType {
#[inline]
fn eq(&self, other: &DebuggerVisualizerType) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, #[automatically_derived]
impl ::core::cmp::PartialOrd for DebuggerVisualizerType {
#[inline]
fn partial_cmp(&self, other: &DebuggerVisualizerType)
-> ::core::option::Option<::core::cmp::Ordering> {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
::core::cmp::PartialOrd::partial_cmp(&__self_discr, &__arg1_discr)
}
}PartialOrd, #[automatically_derived]
impl ::core::clone::Clone for DebuggerVisualizerType {
#[inline]
fn clone(&self) -> DebuggerVisualizerType { *self }
}Clone, #[automatically_derived]
impl ::core::cmp::Ord for DebuggerVisualizerType {
#[inline]
fn cmp(&self, other: &DebuggerVisualizerType) -> ::core::cmp::Ordering {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
::core::cmp::Ord::cmp(&__self_discr, &__arg1_discr)
}
}Ord, #[automatically_derived]
impl ::core::cmp::Eq for DebuggerVisualizerType {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_receiver_is_total_eq(&self) {}
}Eq, #[automatically_derived]
impl ::core::hash::Hash for DebuggerVisualizerType {
#[inline]
fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) {
let __self_discr = ::core::intrinsics::discriminant_value(self);
::core::hash::Hash::hash(&__self_discr, state)
}
}Hash, #[automatically_derived]
impl ::core::fmt::Debug for DebuggerVisualizerType {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
DebuggerVisualizerType::Natvis => "Natvis",
DebuggerVisualizerType::GdbPrettyPrinter =>
"GdbPrettyPrinter",
})
}
}Debug, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for DebuggerVisualizerType {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
DebuggerVisualizerType::Natvis => { 0usize }
DebuggerVisualizerType::GdbPrettyPrinter => { 1usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
DebuggerVisualizerType::Natvis => {}
DebuggerVisualizerType::GdbPrettyPrinter => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for DebuggerVisualizerType {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { DebuggerVisualizerType::Natvis }
1usize => { DebuggerVisualizerType::GdbPrettyPrinter }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `DebuggerVisualizerType`, expected 0..2, actual {0}",
n));
}
}
}
}
};Decodable)]
414pub enum DebuggerVisualizerType {
415 Natvis,
416 GdbPrettyPrinter,
417}
418
419#[derive(#[automatically_derived]
impl ::core::fmt::Debug for DebugVisualizer {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field3_finish(f,
"DebugVisualizer", "span", &self.span, "visualizer_type",
&self.visualizer_type, "path", &&self.path)
}
}Debug, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for DebugVisualizer {
fn encode(&self, __encoder: &mut __E) {
match *self {
DebugVisualizer {
span: ref __binding_0,
visualizer_type: ref __binding_1,
path: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for DebugVisualizer {
fn decode(__decoder: &mut __D) -> Self {
DebugVisualizer {
span: ::rustc_serialize::Decodable::decode(__decoder),
visualizer_type: ::rustc_serialize::Decodable::decode(__decoder),
path: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, #[automatically_derived]
impl ::core::clone::Clone for DebugVisualizer {
#[inline]
fn clone(&self) -> DebugVisualizer {
DebugVisualizer {
span: ::core::clone::Clone::clone(&self.span),
visualizer_type: ::core::clone::Clone::clone(&self.visualizer_type),
path: ::core::clone::Clone::clone(&self.path),
}
}
}Clone, const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for DebugVisualizer where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
match *self {
DebugVisualizer {
span: ref __binding_0,
visualizer_type: ref __binding_1,
path: ref __binding_2 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
{ __binding_2.hash_stable(__hcx, __hasher); }
}
}
}
}
};HashStable_Generic, const _: () =
{
#[allow(unused)]
impl PrintAttribute for DebugVisualizer {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
let Self { span, visualizer_type, path } = self;
__p.word("DebugVisualizer");
if true && !span.should_render() &&
!visualizer_type.should_render() && !path.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
if visualizer_type.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("visualizer_type");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
visualizer_type.print_attribute(__p);
if path.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("path");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
path.print_attribute(__p);
__p.word("}");
}
}
};PrintAttribute)]
420pub struct DebugVisualizer {
421 pub span: Span,
422 pub visualizer_type: DebuggerVisualizerType,
423 pub path: Symbol,
424}
425
426#[derive(#[automatically_derived]
impl ::core::clone::Clone for RtsanSetting {
#[inline]
fn clone(&self) -> RtsanSetting { *self }
}Clone, #[automatically_derived]
impl ::core::marker::Copy for RtsanSetting { }Copy, #[automatically_derived]
impl ::core::fmt::Debug for RtsanSetting {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
RtsanSetting::Nonblocking => "Nonblocking",
RtsanSetting::Blocking => "Blocking",
RtsanSetting::Caller => "Caller",
})
}
}Debug, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for RtsanSetting {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { RtsanSetting::Nonblocking }
1usize => { RtsanSetting::Blocking }
2usize => { RtsanSetting::Caller }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `RtsanSetting`, expected 0..3, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for RtsanSetting {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
RtsanSetting::Nonblocking => { 0usize }
RtsanSetting::Blocking => { 1usize }
RtsanSetting::Caller => { 2usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
RtsanSetting::Nonblocking => {}
RtsanSetting::Blocking => {}
RtsanSetting::Caller => {}
}
}
}
};Encodable, #[automatically_derived]
impl ::core::cmp::Eq for RtsanSetting {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_receiver_is_total_eq(&self) {}
}Eq, #[automatically_derived]
impl ::core::cmp::PartialEq for RtsanSetting {
#[inline]
fn eq(&self, other: &RtsanSetting) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq)]
427#[derive(const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for RtsanSetting where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
RtsanSetting::Nonblocking => {}
RtsanSetting::Blocking => {}
RtsanSetting::Caller => {}
}
}
}
};HashStable_Generic, const _: () =
{
#[allow(unused)]
impl PrintAttribute for RtsanSetting {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Nonblocking => { __p.word("Nonblocking") }
Self::Blocking => { __p.word("Blocking") }
Self::Caller => { __p.word("Caller") }
}
}
}
};PrintAttribute)]
428#[derive_const(#[automatically_derived]
impl const ::core::default::Default for RtsanSetting {
#[inline]
fn default() -> RtsanSetting { Self::Caller }
}Default)]
429pub enum RtsanSetting {
430 Nonblocking,
431 Blocking,
432 #[default]
433 Caller,
434}
435
436#[derive(#[automatically_derived]
impl ::core::cmp::Eq for WindowsSubsystemKind {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_receiver_is_total_eq(&self) {}
}Eq, #[automatically_derived]
impl ::core::cmp::PartialEq for WindowsSubsystemKind {
#[inline]
fn eq(&self, other: &WindowsSubsystemKind) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, #[automatically_derived]
impl ::core::fmt::Debug for WindowsSubsystemKind {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
WindowsSubsystemKind::Console => "Console",
WindowsSubsystemKind::Windows => "Windows",
})
}
}Debug, #[automatically_derived]
impl ::core::marker::Copy for WindowsSubsystemKind { }Copy, #[automatically_derived]
impl ::core::clone::Clone for WindowsSubsystemKind {
#[inline]
fn clone(&self) -> WindowsSubsystemKind { *self }
}Clone)]
437#[derive(const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for WindowsSubsystemKind {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
WindowsSubsystemKind::Console => { 0usize }
WindowsSubsystemKind::Windows => { 1usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
WindowsSubsystemKind::Console => {}
WindowsSubsystemKind::Windows => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for WindowsSubsystemKind {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { WindowsSubsystemKind::Console }
1usize => { WindowsSubsystemKind::Windows }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `WindowsSubsystemKind`, expected 0..2, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for WindowsSubsystemKind where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
WindowsSubsystemKind::Console => {}
WindowsSubsystemKind::Windows => {}
}
}
}
};HashStable_Generic, const _: () =
{
#[allow(unused)]
impl PrintAttribute for WindowsSubsystemKind {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Console => { __p.word("Console") }
Self::Windows => { __p.word("Windows") }
}
}
}
};PrintAttribute)]
438pub enum WindowsSubsystemKind {
439 Console,
440 Windows,
441}
442
443impl WindowsSubsystemKind {
444 pub fn as_str(&self) -> &'static str {
445 match self {
446 WindowsSubsystemKind::Console => "console",
447 WindowsSubsystemKind::Windows => "windows",
448 }
449 }
450}
451
452#[derive(#[automatically_derived]
impl ::core::marker::Copy for DocInline { }Copy, #[automatically_derived]
impl ::core::clone::Clone for DocInline {
#[inline]
fn clone(&self) -> DocInline { *self }
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for DocInline {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
DocInline::Inline => "Inline",
DocInline::NoInline => "NoInline",
})
}
}Debug, #[automatically_derived]
impl ::core::cmp::PartialEq for DocInline {
#[inline]
fn eq(&self, other: &DocInline) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq)]
453#[derive(const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for DocInline where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
DocInline::Inline => {}
DocInline::NoInline => {}
}
}
}
};HashStable_Generic, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for DocInline {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
DocInline::Inline => { 0usize }
DocInline::NoInline => { 1usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
DocInline::Inline => {}
DocInline::NoInline => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for DocInline {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { DocInline::Inline }
1usize => { DocInline::NoInline }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `DocInline`, expected 0..2, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for DocInline {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Inline => { __p.word("Inline") }
Self::NoInline => { __p.word("NoInline") }
}
}
}
};PrintAttribute)]
454pub enum DocInline {
455 Inline,
456 NoInline,
457}
458
459#[derive(#[automatically_derived]
impl ::core::marker::Copy for HideOrShow { }Copy, #[automatically_derived]
impl ::core::clone::Clone for HideOrShow {
#[inline]
fn clone(&self) -> HideOrShow { *self }
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for HideOrShow {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
HideOrShow::Hide => "Hide",
HideOrShow::Show => "Show",
})
}
}Debug, #[automatically_derived]
impl ::core::cmp::PartialEq for HideOrShow {
#[inline]
fn eq(&self, other: &HideOrShow) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq)]
460#[derive(const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for HideOrShow where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self { HideOrShow::Hide => {} HideOrShow::Show => {} }
}
}
};HashStable_Generic, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for HideOrShow {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
HideOrShow::Hide => { 0usize }
HideOrShow::Show => { 1usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self { HideOrShow::Hide => {} HideOrShow::Show => {} }
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for HideOrShow {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { HideOrShow::Hide }
1usize => { HideOrShow::Show }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `HideOrShow`, expected 0..2, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for HideOrShow {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Hide => { __p.word("Hide") }
Self::Show => { __p.word("Show") }
}
}
}
};PrintAttribute)]
461pub enum HideOrShow {
462 Hide,
463 Show,
464}
465
466#[derive(#[automatically_derived]
impl ::core::clone::Clone for CfgInfo {
#[inline]
fn clone(&self) -> CfgInfo {
CfgInfo {
name: ::core::clone::Clone::clone(&self.name),
name_span: ::core::clone::Clone::clone(&self.name_span),
value: ::core::clone::Clone::clone(&self.value),
}
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for CfgInfo {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field3_finish(f, "CfgInfo",
"name", &self.name, "name_span", &self.name_span, "value",
&&self.value)
}
}Debug, const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for CfgInfo where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
match *self {
CfgInfo {
name: ref __binding_0,
name_span: ref __binding_1,
value: ref __binding_2 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
{ __binding_2.hash_stable(__hcx, __hasher); }
}
}
}
}
};HashStable_Generic, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for CfgInfo {
fn encode(&self, __encoder: &mut __E) {
match *self {
CfgInfo {
name: ref __binding_0,
name_span: ref __binding_1,
value: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for CfgInfo {
fn decode(__decoder: &mut __D) -> Self {
CfgInfo {
name: ::rustc_serialize::Decodable::decode(__decoder),
name_span: ::rustc_serialize::Decodable::decode(__decoder),
value: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for CfgInfo {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
let Self { name, name_span, value } = self;
__p.word("CfgInfo");
if true && !name.should_render() && !name_span.should_render()
&& !value.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if name.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("name");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
name.print_attribute(__p);
if name_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("name_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
name_span.print_attribute(__p);
if value.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("value");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
value.print_attribute(__p);
__p.word("}");
}
}
};PrintAttribute)]
467pub struct CfgInfo {
468 pub name: Symbol,
469 pub name_span: Span,
470 pub value: Option<(Symbol, Span)>,
471}
472
473impl CfgInfo {
474 pub fn span_for_name_and_value(&self) -> Span {
475 if let Some((_, value_span)) = self.value {
476 self.name_span.with_hi(value_span.hi())
477 } else {
478 self.name_span
479 }
480 }
481}
482
483#[derive(#[automatically_derived]
impl ::core::clone::Clone for CfgHideShow {
#[inline]
fn clone(&self) -> CfgHideShow {
CfgHideShow {
kind: ::core::clone::Clone::clone(&self.kind),
values: ::core::clone::Clone::clone(&self.values),
}
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for CfgHideShow {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field2_finish(f, "CfgHideShow",
"kind", &self.kind, "values", &&self.values)
}
}Debug, const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for CfgHideShow where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
match *self {
CfgHideShow { kind: ref __binding_0, values: ref __binding_1
} => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
}
}
}
};HashStable_Generic, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for CfgHideShow {
fn encode(&self, __encoder: &mut __E) {
match *self {
CfgHideShow { kind: ref __binding_0, values: ref __binding_1
} => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for CfgHideShow {
fn decode(__decoder: &mut __D) -> Self {
CfgHideShow {
kind: ::rustc_serialize::Decodable::decode(__decoder),
values: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for CfgHideShow {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
let Self { kind, values } = self;
__p.word("CfgHideShow");
if true && !kind.should_render() && !values.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if kind.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("kind");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
kind.print_attribute(__p);
if values.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("values");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
values.print_attribute(__p);
__p.word("}");
}
}
};PrintAttribute)]
484pub struct CfgHideShow {
485 pub kind: HideOrShow,
486 pub values: ThinVec<CfgInfo>,
487}
488
489#[derive(#[automatically_derived]
impl ::core::clone::Clone for DocAttribute {
#[inline]
fn clone(&self) -> DocAttribute {
DocAttribute {
aliases: ::core::clone::Clone::clone(&self.aliases),
hidden: ::core::clone::Clone::clone(&self.hidden),
inline: ::core::clone::Clone::clone(&self.inline),
cfg: ::core::clone::Clone::clone(&self.cfg),
auto_cfg: ::core::clone::Clone::clone(&self.auto_cfg),
auto_cfg_change: ::core::clone::Clone::clone(&self.auto_cfg_change),
fake_variadic: ::core::clone::Clone::clone(&self.fake_variadic),
keyword: ::core::clone::Clone::clone(&self.keyword),
attribute: ::core::clone::Clone::clone(&self.attribute),
masked: ::core::clone::Clone::clone(&self.masked),
notable_trait: ::core::clone::Clone::clone(&self.notable_trait),
search_unbox: ::core::clone::Clone::clone(&self.search_unbox),
html_favicon_url: ::core::clone::Clone::clone(&self.html_favicon_url),
html_logo_url: ::core::clone::Clone::clone(&self.html_logo_url),
html_playground_url: ::core::clone::Clone::clone(&self.html_playground_url),
html_root_url: ::core::clone::Clone::clone(&self.html_root_url),
html_no_source: ::core::clone::Clone::clone(&self.html_no_source),
issue_tracker_base_url: ::core::clone::Clone::clone(&self.issue_tracker_base_url),
rust_logo: ::core::clone::Clone::clone(&self.rust_logo),
test_attrs: ::core::clone::Clone::clone(&self.test_attrs),
no_crate_inject: ::core::clone::Clone::clone(&self.no_crate_inject),
}
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for DocAttribute {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
let names: &'static _ =
&["aliases", "hidden", "inline", "cfg", "auto_cfg",
"auto_cfg_change", "fake_variadic", "keyword", "attribute",
"masked", "notable_trait", "search_unbox",
"html_favicon_url", "html_logo_url", "html_playground_url",
"html_root_url", "html_no_source", "issue_tracker_base_url",
"rust_logo", "test_attrs", "no_crate_inject"];
let values: &[&dyn ::core::fmt::Debug] =
&[&self.aliases, &self.hidden, &self.inline, &self.cfg,
&self.auto_cfg, &self.auto_cfg_change, &self.fake_variadic,
&self.keyword, &self.attribute, &self.masked,
&self.notable_trait, &self.search_unbox,
&self.html_favicon_url, &self.html_logo_url,
&self.html_playground_url, &self.html_root_url,
&self.html_no_source, &self.issue_tracker_base_url,
&self.rust_logo, &self.test_attrs, &&self.no_crate_inject];
::core::fmt::Formatter::debug_struct_fields_finish(f, "DocAttribute",
names, values)
}
}Debug, #[automatically_derived]
impl ::core::default::Default for DocAttribute {
#[inline]
fn default() -> DocAttribute {
DocAttribute {
aliases: ::core::default::Default::default(),
hidden: ::core::default::Default::default(),
inline: ::core::default::Default::default(),
cfg: ::core::default::Default::default(),
auto_cfg: ::core::default::Default::default(),
auto_cfg_change: ::core::default::Default::default(),
fake_variadic: ::core::default::Default::default(),
keyword: ::core::default::Default::default(),
attribute: ::core::default::Default::default(),
masked: ::core::default::Default::default(),
notable_trait: ::core::default::Default::default(),
search_unbox: ::core::default::Default::default(),
html_favicon_url: ::core::default::Default::default(),
html_logo_url: ::core::default::Default::default(),
html_playground_url: ::core::default::Default::default(),
html_root_url: ::core::default::Default::default(),
html_no_source: ::core::default::Default::default(),
issue_tracker_base_url: ::core::default::Default::default(),
rust_logo: ::core::default::Default::default(),
test_attrs: ::core::default::Default::default(),
no_crate_inject: ::core::default::Default::default(),
}
}
}Default, const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for DocAttribute where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
match *self {
DocAttribute {
aliases: ref __binding_0,
hidden: ref __binding_1,
inline: ref __binding_2,
cfg: ref __binding_3,
auto_cfg: ref __binding_4,
auto_cfg_change: ref __binding_5,
fake_variadic: ref __binding_6,
keyword: ref __binding_7,
attribute: ref __binding_8,
masked: ref __binding_9,
notable_trait: ref __binding_10,
search_unbox: ref __binding_11,
html_favicon_url: ref __binding_12,
html_logo_url: ref __binding_13,
html_playground_url: ref __binding_14,
html_root_url: ref __binding_15,
html_no_source: ref __binding_16,
issue_tracker_base_url: ref __binding_17,
rust_logo: ref __binding_18,
test_attrs: ref __binding_19,
no_crate_inject: ref __binding_20 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
{ __binding_2.hash_stable(__hcx, __hasher); }
{ __binding_3.hash_stable(__hcx, __hasher); }
{ __binding_4.hash_stable(__hcx, __hasher); }
{ __binding_5.hash_stable(__hcx, __hasher); }
{ __binding_6.hash_stable(__hcx, __hasher); }
{ __binding_7.hash_stable(__hcx, __hasher); }
{ __binding_8.hash_stable(__hcx, __hasher); }
{ __binding_9.hash_stable(__hcx, __hasher); }
{ __binding_10.hash_stable(__hcx, __hasher); }
{ __binding_11.hash_stable(__hcx, __hasher); }
{ __binding_12.hash_stable(__hcx, __hasher); }
{ __binding_13.hash_stable(__hcx, __hasher); }
{ __binding_14.hash_stable(__hcx, __hasher); }
{ __binding_15.hash_stable(__hcx, __hasher); }
{ __binding_16.hash_stable(__hcx, __hasher); }
{ __binding_17.hash_stable(__hcx, __hasher); }
{ __binding_18.hash_stable(__hcx, __hasher); }
{ __binding_19.hash_stable(__hcx, __hasher); }
{ __binding_20.hash_stable(__hcx, __hasher); }
}
}
}
}
};HashStable_Generic, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for DocAttribute {
fn decode(__decoder: &mut __D) -> Self {
DocAttribute {
aliases: ::rustc_serialize::Decodable::decode(__decoder),
hidden: ::rustc_serialize::Decodable::decode(__decoder),
inline: ::rustc_serialize::Decodable::decode(__decoder),
cfg: ::rustc_serialize::Decodable::decode(__decoder),
auto_cfg: ::rustc_serialize::Decodable::decode(__decoder),
auto_cfg_change: ::rustc_serialize::Decodable::decode(__decoder),
fake_variadic: ::rustc_serialize::Decodable::decode(__decoder),
keyword: ::rustc_serialize::Decodable::decode(__decoder),
attribute: ::rustc_serialize::Decodable::decode(__decoder),
masked: ::rustc_serialize::Decodable::decode(__decoder),
notable_trait: ::rustc_serialize::Decodable::decode(__decoder),
search_unbox: ::rustc_serialize::Decodable::decode(__decoder),
html_favicon_url: ::rustc_serialize::Decodable::decode(__decoder),
html_logo_url: ::rustc_serialize::Decodable::decode(__decoder),
html_playground_url: ::rustc_serialize::Decodable::decode(__decoder),
html_root_url: ::rustc_serialize::Decodable::decode(__decoder),
html_no_source: ::rustc_serialize::Decodable::decode(__decoder),
issue_tracker_base_url: ::rustc_serialize::Decodable::decode(__decoder),
rust_logo: ::rustc_serialize::Decodable::decode(__decoder),
test_attrs: ::rustc_serialize::Decodable::decode(__decoder),
no_crate_inject: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for DocAttribute {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
let Self {
aliases,
hidden,
inline,
cfg,
auto_cfg,
auto_cfg_change,
fake_variadic,
keyword,
attribute,
masked,
notable_trait,
search_unbox,
html_favicon_url,
html_logo_url,
html_playground_url,
html_root_url,
html_no_source,
issue_tracker_base_url,
rust_logo,
test_attrs,
no_crate_inject } = self;
__p.word("DocAttribute");
if true && !aliases.should_render() && !hidden.should_render()
&& !inline.should_render() && !cfg.should_render() &&
!auto_cfg.should_render() &&
!auto_cfg_change.should_render() &&
!fake_variadic.should_render() && !keyword.should_render()
&& !attribute.should_render() && !masked.should_render() &&
!notable_trait.should_render() &&
!search_unbox.should_render() &&
!html_favicon_url.should_render() &&
!html_logo_url.should_render() &&
!html_playground_url.should_render() &&
!html_root_url.should_render() &&
!html_no_source.should_render() &&
!issue_tracker_base_url.should_render() &&
!rust_logo.should_render() && !test_attrs.should_render() &&
!no_crate_inject.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if aliases.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("aliases");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
aliases.print_attribute(__p);
if hidden.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("hidden");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
hidden.print_attribute(__p);
if inline.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("inline");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
inline.print_attribute(__p);
if cfg.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("cfg");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
cfg.print_attribute(__p);
if auto_cfg.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("auto_cfg");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
auto_cfg.print_attribute(__p);
if auto_cfg_change.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("auto_cfg_change");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
auto_cfg_change.print_attribute(__p);
if fake_variadic.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("fake_variadic");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
fake_variadic.print_attribute(__p);
if keyword.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("keyword");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
keyword.print_attribute(__p);
if attribute.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attribute");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attribute.print_attribute(__p);
if masked.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("masked");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
masked.print_attribute(__p);
if notable_trait.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("notable_trait");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
notable_trait.print_attribute(__p);
if search_unbox.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("search_unbox");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
search_unbox.print_attribute(__p);
if html_favicon_url.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("html_favicon_url");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
html_favicon_url.print_attribute(__p);
if html_logo_url.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("html_logo_url");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
html_logo_url.print_attribute(__p);
if html_playground_url.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("html_playground_url");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
html_playground_url.print_attribute(__p);
if html_root_url.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("html_root_url");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
html_root_url.print_attribute(__p);
if html_no_source.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("html_no_source");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
html_no_source.print_attribute(__p);
if issue_tracker_base_url.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("issue_tracker_base_url");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
issue_tracker_base_url.print_attribute(__p);
if rust_logo.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("rust_logo");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
rust_logo.print_attribute(__p);
if test_attrs.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("test_attrs");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
test_attrs.print_attribute(__p);
if no_crate_inject.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("no_crate_inject");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
no_crate_inject.print_attribute(__p);
__p.word("}");
}
}
};PrintAttribute)]
490pub struct DocAttribute {
491 pub aliases: FxIndexMap<Symbol, Span>,
492 pub hidden: Option<Span>,
493 pub inline: ThinVec<(DocInline, Span)>,
496
497 pub cfg: ThinVec<CfgEntry>,
499 pub auto_cfg: ThinVec<(CfgHideShow, Span)>,
500 pub auto_cfg_change: ThinVec<(bool, Span)>,
502
503 pub fake_variadic: Option<Span>,
505 pub keyword: Option<(Symbol, Span)>,
506 pub attribute: Option<(Symbol, Span)>,
507 pub masked: Option<Span>,
508 pub notable_trait: Option<Span>,
509 pub search_unbox: Option<Span>,
510
511 pub html_favicon_url: Option<(Symbol, Span)>,
513 pub html_logo_url: Option<(Symbol, Span)>,
514 pub html_playground_url: Option<(Symbol, Span)>,
515 pub html_root_url: Option<(Symbol, Span)>,
516 pub html_no_source: Option<Span>,
517 pub issue_tracker_base_url: Option<(Symbol, Span)>,
518 pub rust_logo: Option<Span>,
519
520 pub test_attrs: ThinVec<Span>,
522 pub no_crate_inject: Option<Span>,
523}
524
525impl<E: rustc_span::SpanEncoder> rustc_serialize::Encodable<E> for DocAttribute {
526 fn encode(&self, encoder: &mut E) {
527 let DocAttribute {
528 aliases,
529 hidden,
530 inline,
531 cfg,
532 auto_cfg,
533 auto_cfg_change,
534 fake_variadic,
535 keyword,
536 attribute,
537 masked,
538 notable_trait,
539 search_unbox,
540 html_favicon_url,
541 html_logo_url,
542 html_playground_url,
543 html_root_url,
544 html_no_source,
545 issue_tracker_base_url,
546 rust_logo,
547 test_attrs,
548 no_crate_inject,
549 } = self;
550 rustc_serialize::Encodable::<E>::encode(aliases, encoder);
551 rustc_serialize::Encodable::<E>::encode(hidden, encoder);
552
553 let inline: ThinVec<_> =
557 inline.iter().filter(|(i, _)| *i != DocInline::Inline).cloned().collect();
558 rustc_serialize::Encodable::<E>::encode(&inline, encoder);
559
560 rustc_serialize::Encodable::<E>::encode(cfg, encoder);
561 rustc_serialize::Encodable::<E>::encode(auto_cfg, encoder);
562 rustc_serialize::Encodable::<E>::encode(auto_cfg_change, encoder);
563 rustc_serialize::Encodable::<E>::encode(fake_variadic, encoder);
564 rustc_serialize::Encodable::<E>::encode(keyword, encoder);
565 rustc_serialize::Encodable::<E>::encode(attribute, encoder);
566 rustc_serialize::Encodable::<E>::encode(masked, encoder);
567 rustc_serialize::Encodable::<E>::encode(notable_trait, encoder);
568 rustc_serialize::Encodable::<E>::encode(search_unbox, encoder);
569 rustc_serialize::Encodable::<E>::encode(html_favicon_url, encoder);
570 rustc_serialize::Encodable::<E>::encode(html_logo_url, encoder);
571 rustc_serialize::Encodable::<E>::encode(html_playground_url, encoder);
572 rustc_serialize::Encodable::<E>::encode(html_root_url, encoder);
573 rustc_serialize::Encodable::<E>::encode(html_no_source, encoder);
574 rustc_serialize::Encodable::<E>::encode(issue_tracker_base_url, encoder);
575 rustc_serialize::Encodable::<E>::encode(rust_logo, encoder);
576 rustc_serialize::Encodable::<E>::encode(test_attrs, encoder);
577 rustc_serialize::Encodable::<E>::encode(no_crate_inject, encoder);
578 }
579}
580
581#[derive(#[automatically_derived]
impl ::core::marker::Copy for CollapseMacroDebuginfo { }Copy, #[automatically_derived]
impl ::core::clone::Clone for CollapseMacroDebuginfo {
#[inline]
fn clone(&self) -> CollapseMacroDebuginfo { *self }
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for CollapseMacroDebuginfo {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
CollapseMacroDebuginfo::No => "No",
CollapseMacroDebuginfo::Unspecified => "Unspecified",
CollapseMacroDebuginfo::External => "External",
CollapseMacroDebuginfo::Yes => "Yes",
})
}
}Debug, #[automatically_derived]
impl ::core::hash::Hash for CollapseMacroDebuginfo {
#[inline]
fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) {
let __self_discr = ::core::intrinsics::discriminant_value(self);
::core::hash::Hash::hash(&__self_discr, state)
}
}Hash, #[automatically_derived]
impl ::core::cmp::PartialEq for CollapseMacroDebuginfo {
#[inline]
fn eq(&self, other: &CollapseMacroDebuginfo) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq)]
589#[derive(const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for CollapseMacroDebuginfo where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
CollapseMacroDebuginfo::No => {}
CollapseMacroDebuginfo::Unspecified => {}
CollapseMacroDebuginfo::External => {}
CollapseMacroDebuginfo::Yes => {}
}
}
}
};HashStable_Generic, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for CollapseMacroDebuginfo {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
CollapseMacroDebuginfo::No => { 0usize }
CollapseMacroDebuginfo::Unspecified => { 1usize }
CollapseMacroDebuginfo::External => { 2usize }
CollapseMacroDebuginfo::Yes => { 3usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
CollapseMacroDebuginfo::No => {}
CollapseMacroDebuginfo::Unspecified => {}
CollapseMacroDebuginfo::External => {}
CollapseMacroDebuginfo::Yes => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for CollapseMacroDebuginfo {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { CollapseMacroDebuginfo::No }
1usize => { CollapseMacroDebuginfo::Unspecified }
2usize => { CollapseMacroDebuginfo::External }
3usize => { CollapseMacroDebuginfo::Yes }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `CollapseMacroDebuginfo`, expected 0..4, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for CollapseMacroDebuginfo {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::No => { __p.word("No") }
Self::Unspecified => { __p.word("Unspecified") }
Self::External => { __p.word("External") }
Self::Yes => { __p.word("Yes") }
}
}
}
};PrintAttribute)]
590pub enum CollapseMacroDebuginfo {
591 No = 0,
593 Unspecified = 1,
595 External = 2,
597 Yes = 3,
599}
600
601#[derive(#[automatically_derived]
impl ::core::marker::Copy for CrateType { }Copy, #[automatically_derived]
impl ::core::clone::Clone for CrateType {
#[inline]
fn clone(&self) -> CrateType { *self }
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for CrateType {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
CrateType::Executable => "Executable",
CrateType::Dylib => "Dylib",
CrateType::Rlib => "Rlib",
CrateType::StaticLib => "StaticLib",
CrateType::Cdylib => "Cdylib",
CrateType::ProcMacro => "ProcMacro",
CrateType::Sdylib => "Sdylib",
})
}
}Debug, #[automatically_derived]
impl ::core::hash::Hash for CrateType {
#[inline]
fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) {
let __self_discr = ::core::intrinsics::discriminant_value(self);
::core::hash::Hash::hash(&__self_discr, state)
}
}Hash, #[automatically_derived]
impl ::core::cmp::PartialEq for CrateType {
#[inline]
fn eq(&self, other: &CrateType) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, #[automatically_derived]
impl ::core::default::Default for CrateType {
#[inline]
fn default() -> CrateType { Self::Rlib }
}Default, #[automatically_derived]
impl ::core::cmp::PartialOrd for CrateType {
#[inline]
fn partial_cmp(&self, other: &CrateType)
-> ::core::option::Option<::core::cmp::Ordering> {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
::core::cmp::PartialOrd::partial_cmp(&__self_discr, &__arg1_discr)
}
}PartialOrd, #[automatically_derived]
impl ::core::cmp::Eq for CrateType {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_receiver_is_total_eq(&self) {}
}Eq, #[automatically_derived]
impl ::core::cmp::Ord for CrateType {
#[inline]
fn cmp(&self, other: &CrateType) -> ::core::cmp::Ordering {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
::core::cmp::Ord::cmp(&__self_discr, &__arg1_discr)
}
}Ord)]
603#[derive(const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for CrateType where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
CrateType::Executable => {}
CrateType::Dylib => {}
CrateType::Rlib => {}
CrateType::StaticLib => {}
CrateType::Cdylib => {}
CrateType::ProcMacro => {}
CrateType::Sdylib => {}
}
}
}
};HashStable_Generic, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for CrateType {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
CrateType::Executable => { 0usize }
CrateType::Dylib => { 1usize }
CrateType::Rlib => { 2usize }
CrateType::StaticLib => { 3usize }
CrateType::Cdylib => { 4usize }
CrateType::ProcMacro => { 5usize }
CrateType::Sdylib => { 6usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
CrateType::Executable => {}
CrateType::Dylib => {}
CrateType::Rlib => {}
CrateType::StaticLib => {}
CrateType::Cdylib => {}
CrateType::ProcMacro => {}
CrateType::Sdylib => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for CrateType {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { CrateType::Executable }
1usize => { CrateType::Dylib }
2usize => { CrateType::Rlib }
3usize => { CrateType::StaticLib }
4usize => { CrateType::Cdylib }
5usize => { CrateType::ProcMacro }
6usize => { CrateType::Sdylib }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `CrateType`, expected 0..7, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for CrateType {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Executable => { __p.word("Executable") }
Self::Dylib => { __p.word("Dylib") }
Self::Rlib => { __p.word("Rlib") }
Self::StaticLib => { __p.word("StaticLib") }
Self::Cdylib => { __p.word("Cdylib") }
Self::ProcMacro => { __p.word("ProcMacro") }
Self::Sdylib => { __p.word("Sdylib") }
}
}
}
};PrintAttribute)]
604pub enum CrateType {
605 Executable,
607 Dylib,
609 #[default]
611 Rlib,
612 StaticLib,
614 Cdylib,
616 ProcMacro,
618 Sdylib,
621}
622
623impl CrateType {
624 pub fn all() -> &'static [(Symbol, Self)] {
626 if true {
match (&CrateType::default(), &CrateType::Rlib) {
(left_val, right_val) => {
if !(*left_val == *right_val) {
let kind = ::core::panicking::AssertKind::Eq;
::core::panicking::assert_failed(kind, &*left_val,
&*right_val, ::core::option::Option::None);
}
}
};
};debug_assert_eq!(CrateType::default(), CrateType::Rlib);
627 &[
628 (rustc_span::sym::lib, CrateType::Rlib),
629 (rustc_span::sym::rlib, CrateType::Rlib),
630 (rustc_span::sym::dylib, CrateType::Dylib),
631 (rustc_span::sym::cdylib, CrateType::Cdylib),
632 (rustc_span::sym::staticlib, CrateType::StaticLib),
633 (rustc_span::sym::proc_dash_macro, CrateType::ProcMacro),
634 (rustc_span::sym::bin, CrateType::Executable),
635 (rustc_span::sym::sdylib, CrateType::Sdylib),
636 ]
637 }
638
639 pub fn all_stable() -> &'static [(Symbol, Self)] {
642 if true {
match (&CrateType::default(), &CrateType::Rlib) {
(left_val, right_val) => {
if !(*left_val == *right_val) {
let kind = ::core::panicking::AssertKind::Eq;
::core::panicking::assert_failed(kind, &*left_val,
&*right_val, ::core::option::Option::None);
}
}
};
};debug_assert_eq!(CrateType::default(), CrateType::Rlib);
643 &[
644 (rustc_span::sym::lib, CrateType::Rlib),
645 (rustc_span::sym::rlib, CrateType::Rlib),
646 (rustc_span::sym::dylib, CrateType::Dylib),
647 (rustc_span::sym::cdylib, CrateType::Cdylib),
648 (rustc_span::sym::staticlib, CrateType::StaticLib),
649 (rustc_span::sym::proc_dash_macro, CrateType::ProcMacro),
650 (rustc_span::sym::bin, CrateType::Executable),
651 ]
652 }
653
654 pub fn has_metadata(self) -> bool {
655 match self {
656 CrateType::Rlib | CrateType::Dylib | CrateType::ProcMacro => true,
657 CrateType::Executable
658 | CrateType::Cdylib
659 | CrateType::StaticLib
660 | CrateType::Sdylib => false,
661 }
662 }
663}
664
665impl TryFrom<Symbol> for CrateType {
666 type Error = ();
667
668 fn try_from(value: Symbol) -> Result<Self, Self::Error> {
669 Ok(match value {
670 rustc_span::sym::bin => CrateType::Executable,
671 rustc_span::sym::dylib => CrateType::Dylib,
672 rustc_span::sym::staticlib => CrateType::StaticLib,
673 rustc_span::sym::cdylib => CrateType::Cdylib,
674 rustc_span::sym::rlib => CrateType::Rlib,
675 rustc_span::sym::lib => CrateType::default(),
676 rustc_span::sym::proc_dash_macro => CrateType::ProcMacro,
677 rustc_span::sym::sdylib => CrateType::Sdylib,
678 _ => return Err(()),
679 })
680 }
681}
682
683impl std::fmt::Display for CrateType {
684 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
685 match *self {
686 CrateType::Executable => "bin".fmt(f),
687 CrateType::Dylib => "dylib".fmt(f),
688 CrateType::Rlib => "rlib".fmt(f),
689 CrateType::StaticLib => "staticlib".fmt(f),
690 CrateType::Cdylib => "cdylib".fmt(f),
691 CrateType::ProcMacro => "proc-macro".fmt(f),
692 CrateType::Sdylib => "sdylib".fmt(f),
693 }
694 }
695}
696
697impl IntoDiagArg for CrateType {
698 fn into_diag_arg(self, _: &mut Option<std::path::PathBuf>) -> DiagArgValue {
699 self.to_string().into_diag_arg(&mut None)
700 }
701}
702
703#[derive(#[automatically_derived]
impl ::core::clone::Clone for RustcLayoutType {
#[inline]
fn clone(&self) -> RustcLayoutType {
match self {
RustcLayoutType::Abi => RustcLayoutType::Abi,
RustcLayoutType::Align => RustcLayoutType::Align,
RustcLayoutType::Size => RustcLayoutType::Size,
RustcLayoutType::HomogenousAggregate =>
RustcLayoutType::HomogenousAggregate,
RustcLayoutType::Debug => RustcLayoutType::Debug,
}
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for RustcLayoutType {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
RustcLayoutType::Abi => "Abi",
RustcLayoutType::Align => "Align",
RustcLayoutType::Size => "Size",
RustcLayoutType::HomogenousAggregate => "HomogenousAggregate",
RustcLayoutType::Debug => "Debug",
})
}
}Debug, const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for RustcLayoutType where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
RustcLayoutType::Abi => {}
RustcLayoutType::Align => {}
RustcLayoutType::Size => {}
RustcLayoutType::HomogenousAggregate => {}
RustcLayoutType::Debug => {}
}
}
}
};HashStable_Generic, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for RustcLayoutType {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
RustcLayoutType::Abi => { 0usize }
RustcLayoutType::Align => { 1usize }
RustcLayoutType::Size => { 2usize }
RustcLayoutType::HomogenousAggregate => { 3usize }
RustcLayoutType::Debug => { 4usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
RustcLayoutType::Abi => {}
RustcLayoutType::Align => {}
RustcLayoutType::Size => {}
RustcLayoutType::HomogenousAggregate => {}
RustcLayoutType::Debug => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for RustcLayoutType {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { RustcLayoutType::Abi }
1usize => { RustcLayoutType::Align }
2usize => { RustcLayoutType::Size }
3usize => { RustcLayoutType::HomogenousAggregate }
4usize => { RustcLayoutType::Debug }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `RustcLayoutType`, expected 0..5, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for RustcLayoutType {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Abi => { __p.word("Abi") }
Self::Align => { __p.word("Align") }
Self::Size => { __p.word("Size") }
Self::HomogenousAggregate => {
__p.word("HomogenousAggregate")
}
Self::Debug => { __p.word("Debug") }
}
}
}
};PrintAttribute)]
704pub enum RustcLayoutType {
705 Abi,
706 Align,
707 Size,
708 HomogenousAggregate,
709 Debug,
710}
711
712#[derive(#[automatically_derived]
impl ::core::clone::Clone for RustcMirKind {
#[inline]
fn clone(&self) -> RustcMirKind {
match self {
RustcMirKind::PeekMaybeInit => RustcMirKind::PeekMaybeInit,
RustcMirKind::PeekMaybeUninit => RustcMirKind::PeekMaybeUninit,
RustcMirKind::PeekLiveness => RustcMirKind::PeekLiveness,
RustcMirKind::StopAfterDataflow =>
RustcMirKind::StopAfterDataflow,
RustcMirKind::BorrowckGraphvizPostflow { path: __self_0 } =>
RustcMirKind::BorrowckGraphvizPostflow {
path: ::core::clone::Clone::clone(__self_0),
},
RustcMirKind::BorrowckGraphvizFormat { format: __self_0 } =>
RustcMirKind::BorrowckGraphvizFormat {
format: ::core::clone::Clone::clone(__self_0),
},
}
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for RustcMirKind {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
RustcMirKind::PeekMaybeInit =>
::core::fmt::Formatter::write_str(f, "PeekMaybeInit"),
RustcMirKind::PeekMaybeUninit =>
::core::fmt::Formatter::write_str(f, "PeekMaybeUninit"),
RustcMirKind::PeekLiveness =>
::core::fmt::Formatter::write_str(f, "PeekLiveness"),
RustcMirKind::StopAfterDataflow =>
::core::fmt::Formatter::write_str(f, "StopAfterDataflow"),
RustcMirKind::BorrowckGraphvizPostflow { path: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"BorrowckGraphvizPostflow", "path", &__self_0),
RustcMirKind::BorrowckGraphvizFormat { format: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"BorrowckGraphvizFormat", "format", &__self_0),
}
}
}Debug, const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for RustcMirKind where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
RustcMirKind::PeekMaybeInit => {}
RustcMirKind::PeekMaybeUninit => {}
RustcMirKind::PeekLiveness => {}
RustcMirKind::StopAfterDataflow => {}
RustcMirKind::BorrowckGraphvizPostflow {
path: ref __binding_0 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
RustcMirKind::BorrowckGraphvizFormat {
format: ref __binding_0 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
}
}
}
};HashStable_Generic, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for RustcMirKind {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
RustcMirKind::PeekMaybeInit => { 0usize }
RustcMirKind::PeekMaybeUninit => { 1usize }
RustcMirKind::PeekLiveness => { 2usize }
RustcMirKind::StopAfterDataflow => { 3usize }
RustcMirKind::BorrowckGraphvizPostflow {
path: ref __binding_0 } => {
4usize
}
RustcMirKind::BorrowckGraphvizFormat {
format: ref __binding_0 } => {
5usize
}
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
RustcMirKind::PeekMaybeInit => {}
RustcMirKind::PeekMaybeUninit => {}
RustcMirKind::PeekLiveness => {}
RustcMirKind::StopAfterDataflow => {}
RustcMirKind::BorrowckGraphvizPostflow {
path: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
RustcMirKind::BorrowckGraphvizFormat {
format: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for RustcMirKind {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { RustcMirKind::PeekMaybeInit }
1usize => { RustcMirKind::PeekMaybeUninit }
2usize => { RustcMirKind::PeekLiveness }
3usize => { RustcMirKind::StopAfterDataflow }
4usize => {
RustcMirKind::BorrowckGraphvizPostflow {
path: ::rustc_serialize::Decodable::decode(__decoder),
}
}
5usize => {
RustcMirKind::BorrowckGraphvizFormat {
format: ::rustc_serialize::Decodable::decode(__decoder),
}
}
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `RustcMirKind`, expected 0..6, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for RustcMirKind {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::PeekMaybeInit => { __p.word("PeekMaybeInit") }
Self::PeekMaybeUninit => { __p.word("PeekMaybeUninit") }
Self::PeekLiveness => { __p.word("PeekLiveness") }
Self::StopAfterDataflow => { __p.word("StopAfterDataflow") }
Self::BorrowckGraphvizPostflow { path } => {
__p.word("BorrowckGraphvizPostflow");
if true && !path.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if path.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("path");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
path.print_attribute(__p);
__p.word("}");
}
Self::BorrowckGraphvizFormat { format } => {
__p.word("BorrowckGraphvizFormat");
if true && !format.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if format.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("format");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
format.print_attribute(__p);
__p.word("}");
}
}
}
}
};PrintAttribute, #[automatically_derived]
impl ::core::cmp::PartialEq for RustcMirKind {
#[inline]
fn eq(&self, other: &RustcMirKind) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr &&
match (self, other) {
(RustcMirKind::BorrowckGraphvizPostflow { path: __self_0 },
RustcMirKind::BorrowckGraphvizPostflow { path: __arg1_0 })
=> __self_0 == __arg1_0,
(RustcMirKind::BorrowckGraphvizFormat { format: __self_0 },
RustcMirKind::BorrowckGraphvizFormat { format: __arg1_0 })
=> __self_0 == __arg1_0,
_ => true,
}
}
}PartialEq, #[automatically_derived]
impl ::core::cmp::Eq for RustcMirKind {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_receiver_is_total_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<PathBuf>;
let _: ::core::cmp::AssertParamIsEq<BorrowckGraphvizFormatKind>;
}
}Eq)]
713pub enum RustcMirKind {
714 PeekMaybeInit,
715 PeekMaybeUninit,
716 PeekLiveness,
717 StopAfterDataflow,
718 BorrowckGraphvizPostflow { path: PathBuf },
719 BorrowckGraphvizFormat { format: BorrowckGraphvizFormatKind },
720}
721
722#[derive(#[automatically_derived]
impl ::core::clone::Clone for BorrowckGraphvizFormatKind {
#[inline]
fn clone(&self) -> BorrowckGraphvizFormatKind {
BorrowckGraphvizFormatKind::TwoPhase
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for BorrowckGraphvizFormatKind {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f, "TwoPhase")
}
}Debug, const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for BorrowckGraphvizFormatKind where
__CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self { BorrowckGraphvizFormatKind::TwoPhase => {} }
}
}
};HashStable_Generic, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for BorrowckGraphvizFormatKind {
fn encode(&self, __encoder: &mut __E) {
match *self { BorrowckGraphvizFormatKind::TwoPhase => {} }
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for BorrowckGraphvizFormatKind {
fn decode(__decoder: &mut __D) -> Self {
BorrowckGraphvizFormatKind::TwoPhase
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for BorrowckGraphvizFormatKind {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self { Self::TwoPhase => { __p.word("TwoPhase") } }
}
}
};PrintAttribute, #[automatically_derived]
impl ::core::cmp::PartialEq for BorrowckGraphvizFormatKind {
#[inline]
fn eq(&self, other: &BorrowckGraphvizFormatKind) -> bool { true }
}PartialEq, #[automatically_derived]
impl ::core::cmp::Eq for BorrowckGraphvizFormatKind {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_receiver_is_total_eq(&self) {}
}Eq)]
723pub enum BorrowckGraphvizFormatKind {
724 TwoPhase,
725}
726
727#[derive(#[automatically_derived]
impl ::core::clone::Clone for RustcCleanAttribute {
#[inline]
fn clone(&self) -> RustcCleanAttribute {
RustcCleanAttribute {
span: ::core::clone::Clone::clone(&self.span),
cfg: ::core::clone::Clone::clone(&self.cfg),
except: ::core::clone::Clone::clone(&self.except),
loaded_from_disk: ::core::clone::Clone::clone(&self.loaded_from_disk),
}
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for RustcCleanAttribute {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field4_finish(f,
"RustcCleanAttribute", "span", &self.span, "cfg", &self.cfg,
"except", &self.except, "loaded_from_disk",
&&self.loaded_from_disk)
}
}Debug, #[automatically_derived]
impl ::core::cmp::PartialEq for RustcCleanAttribute {
#[inline]
fn eq(&self, other: &RustcCleanAttribute) -> bool {
self.span == other.span && self.cfg == other.cfg &&
self.except == other.except &&
self.loaded_from_disk == other.loaded_from_disk
}
}PartialEq, #[automatically_derived]
impl ::core::cmp::Eq for RustcCleanAttribute {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_receiver_is_total_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<Span>;
let _: ::core::cmp::AssertParamIsEq<Symbol>;
let _: ::core::cmp::AssertParamIsEq<Option<RustcCleanQueries>>;
let _: ::core::cmp::AssertParamIsEq<Option<RustcCleanQueries>>;
}
}Eq)]
728#[derive(const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for RustcCleanAttribute where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
match *self {
RustcCleanAttribute {
span: ref __binding_0,
cfg: ref __binding_1,
except: ref __binding_2,
loaded_from_disk: ref __binding_3 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
{ __binding_2.hash_stable(__hcx, __hasher); }
{ __binding_3.hash_stable(__hcx, __hasher); }
}
}
}
}
};HashStable_Generic, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for RustcCleanAttribute {
fn encode(&self, __encoder: &mut __E) {
match *self {
RustcCleanAttribute {
span: ref __binding_0,
cfg: ref __binding_1,
except: ref __binding_2,
loaded_from_disk: ref __binding_3 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_3,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for RustcCleanAttribute {
fn decode(__decoder: &mut __D) -> Self {
RustcCleanAttribute {
span: ::rustc_serialize::Decodable::decode(__decoder),
cfg: ::rustc_serialize::Decodable::decode(__decoder),
except: ::rustc_serialize::Decodable::decode(__decoder),
loaded_from_disk: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for RustcCleanAttribute {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
let Self { span, cfg, except, loaded_from_disk } = self;
__p.word("RustcCleanAttribute");
if true && !span.should_render() && !cfg.should_render() &&
!except.should_render() && !loaded_from_disk.should_render()
{
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
if cfg.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("cfg");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
cfg.print_attribute(__p);
if except.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("except");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
except.print_attribute(__p);
if loaded_from_disk.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("loaded_from_disk");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
loaded_from_disk.print_attribute(__p);
__p.word("}");
}
}
};PrintAttribute)]
729pub struct RustcCleanAttribute {
730 pub span: Span,
731 pub cfg: Symbol,
732 pub except: Option<RustcCleanQueries>,
733 pub loaded_from_disk: Option<RustcCleanQueries>,
734}
735
736#[derive(#[automatically_derived]
impl ::core::clone::Clone for RustcCleanQueries {
#[inline]
fn clone(&self) -> RustcCleanQueries {
RustcCleanQueries {
entries: ::core::clone::Clone::clone(&self.entries),
span: ::core::clone::Clone::clone(&self.span),
}
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for RustcCleanQueries {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcCleanQueries", "entries", &self.entries, "span",
&&self.span)
}
}Debug, #[automatically_derived]
impl ::core::cmp::PartialEq for RustcCleanQueries {
#[inline]
fn eq(&self, other: &RustcCleanQueries) -> bool {
self.entries == other.entries && self.span == other.span
}
}PartialEq, #[automatically_derived]
impl ::core::cmp::Eq for RustcCleanQueries {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_receiver_is_total_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<ThinVec<Symbol>>;
let _: ::core::cmp::AssertParamIsEq<Span>;
}
}Eq)]
738#[derive(const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for RustcCleanQueries where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
match *self {
RustcCleanQueries {
entries: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
}
}
}
};HashStable_Generic, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for RustcCleanQueries {
fn encode(&self, __encoder: &mut __E) {
match *self {
RustcCleanQueries {
entries: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for RustcCleanQueries {
fn decode(__decoder: &mut __D) -> Self {
RustcCleanQueries {
entries: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for RustcCleanQueries {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
let Self { entries, span } = self;
__p.word("RustcCleanQueries");
if true && !entries.should_render() && !span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if entries.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("entries");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
entries.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
}
};PrintAttribute)]
739pub struct RustcCleanQueries {
740 pub entries: ThinVec<Symbol>,
741 pub span: Span,
742}
743
744#[derive(#[automatically_derived]
impl ::core::clone::Clone for AttributeKind {
#[inline]
fn clone(&self) -> AttributeKind {
match self {
AttributeKind::Align { align: __self_0, span: __self_1 } =>
AttributeKind::Align {
align: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::AllowInternalUnsafe(__self_0) =>
AttributeKind::AllowInternalUnsafe(::core::clone::Clone::clone(__self_0)),
AttributeKind::AllowInternalUnstable(__self_0, __self_1) =>
AttributeKind::AllowInternalUnstable(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::AutomaticallyDerived(__self_0) =>
AttributeKind::AutomaticallyDerived(::core::clone::Clone::clone(__self_0)),
AttributeKind::CfgAttrTrace => AttributeKind::CfgAttrTrace,
AttributeKind::CfgTrace(__self_0) =>
AttributeKind::CfgTrace(::core::clone::Clone::clone(__self_0)),
AttributeKind::CfiEncoding { encoding: __self_0 } =>
AttributeKind::CfiEncoding {
encoding: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::Cold(__self_0) =>
AttributeKind::Cold(::core::clone::Clone::clone(__self_0)),
AttributeKind::CollapseDebugInfo(__self_0) =>
AttributeKind::CollapseDebugInfo(::core::clone::Clone::clone(__self_0)),
AttributeKind::CompilerBuiltins =>
AttributeKind::CompilerBuiltins,
AttributeKind::ConstContinue(__self_0) =>
AttributeKind::ConstContinue(::core::clone::Clone::clone(__self_0)),
AttributeKind::Coroutine(__self_0) =>
AttributeKind::Coroutine(::core::clone::Clone::clone(__self_0)),
AttributeKind::Coverage(__self_0, __self_1) =>
AttributeKind::Coverage(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::CrateName {
name: __self_0, name_span: __self_1, attr_span: __self_2 } =>
AttributeKind::CrateName {
name: ::core::clone::Clone::clone(__self_0),
name_span: ::core::clone::Clone::clone(__self_1),
attr_span: ::core::clone::Clone::clone(__self_2),
},
AttributeKind::CrateType(__self_0) =>
AttributeKind::CrateType(::core::clone::Clone::clone(__self_0)),
AttributeKind::CustomMir(__self_0, __self_1, __self_2) =>
AttributeKind::CustomMir(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1),
::core::clone::Clone::clone(__self_2)),
AttributeKind::DebuggerVisualizer(__self_0) =>
AttributeKind::DebuggerVisualizer(::core::clone::Clone::clone(__self_0)),
AttributeKind::Deprecation { deprecation: __self_0, span: __self_1
} =>
AttributeKind::Deprecation {
deprecation: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::DoNotRecommend { attr_span: __self_0 } =>
AttributeKind::DoNotRecommend {
attr_span: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::Doc(__self_0) =>
AttributeKind::Doc(::core::clone::Clone::clone(__self_0)),
AttributeKind::DocComment {
style: __self_0,
kind: __self_1,
span: __self_2,
comment: __self_3 } =>
AttributeKind::DocComment {
style: ::core::clone::Clone::clone(__self_0),
kind: ::core::clone::Clone::clone(__self_1),
span: ::core::clone::Clone::clone(__self_2),
comment: ::core::clone::Clone::clone(__self_3),
},
AttributeKind::EiiDeclaration(__self_0) =>
AttributeKind::EiiDeclaration(::core::clone::Clone::clone(__self_0)),
AttributeKind::EiiForeignItem => AttributeKind::EiiForeignItem,
AttributeKind::EiiImpls(__self_0) =>
AttributeKind::EiiImpls(::core::clone::Clone::clone(__self_0)),
AttributeKind::ExportName { name: __self_0, span: __self_1 } =>
AttributeKind::ExportName {
name: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::ExportStable => AttributeKind::ExportStable,
AttributeKind::FfiConst(__self_0) =>
AttributeKind::FfiConst(::core::clone::Clone::clone(__self_0)),
AttributeKind::FfiPure(__self_0) =>
AttributeKind::FfiPure(::core::clone::Clone::clone(__self_0)),
AttributeKind::Fundamental => AttributeKind::Fundamental,
AttributeKind::Ignore { span: __self_0, reason: __self_1 } =>
AttributeKind::Ignore {
span: ::core::clone::Clone::clone(__self_0),
reason: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::Inline(__self_0, __self_1) =>
AttributeKind::Inline(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::InstructionSet(__self_0) =>
AttributeKind::InstructionSet(::core::clone::Clone::clone(__self_0)),
AttributeKind::Link(__self_0, __self_1) =>
AttributeKind::Link(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::LinkName { name: __self_0, span: __self_1 } =>
AttributeKind::LinkName {
name: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::LinkOrdinal { ordinal: __self_0, span: __self_1 }
=>
AttributeKind::LinkOrdinal {
ordinal: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::LinkSection { name: __self_0, span: __self_1 } =>
AttributeKind::LinkSection {
name: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::Linkage(__self_0, __self_1) =>
AttributeKind::Linkage(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::LoopMatch(__self_0) =>
AttributeKind::LoopMatch(::core::clone::Clone::clone(__self_0)),
AttributeKind::MacroEscape(__self_0) =>
AttributeKind::MacroEscape(::core::clone::Clone::clone(__self_0)),
AttributeKind::MacroExport {
span: __self_0, local_inner_macros: __self_1 } =>
AttributeKind::MacroExport {
span: ::core::clone::Clone::clone(__self_0),
local_inner_macros: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::MacroUse { span: __self_0, arguments: __self_1 } =>
AttributeKind::MacroUse {
span: ::core::clone::Clone::clone(__self_0),
arguments: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::Marker(__self_0) =>
AttributeKind::Marker(::core::clone::Clone::clone(__self_0)),
AttributeKind::MayDangle(__self_0) =>
AttributeKind::MayDangle(::core::clone::Clone::clone(__self_0)),
AttributeKind::MoveSizeLimit {
attr_span: __self_0, limit_span: __self_1, limit: __self_2 }
=>
AttributeKind::MoveSizeLimit {
attr_span: ::core::clone::Clone::clone(__self_0),
limit_span: ::core::clone::Clone::clone(__self_1),
limit: ::core::clone::Clone::clone(__self_2),
},
AttributeKind::MustNotSupend { reason: __self_0 } =>
AttributeKind::MustNotSupend {
reason: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::MustUse { span: __self_0, reason: __self_1 } =>
AttributeKind::MustUse {
span: ::core::clone::Clone::clone(__self_0),
reason: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::Naked(__self_0) =>
AttributeKind::Naked(::core::clone::Clone::clone(__self_0)),
AttributeKind::NeedsAllocator => AttributeKind::NeedsAllocator,
AttributeKind::NeedsPanicRuntime =>
AttributeKind::NeedsPanicRuntime,
AttributeKind::NoBuiltins => AttributeKind::NoBuiltins,
AttributeKind::NoCore(__self_0) =>
AttributeKind::NoCore(::core::clone::Clone::clone(__self_0)),
AttributeKind::NoImplicitPrelude(__self_0) =>
AttributeKind::NoImplicitPrelude(::core::clone::Clone::clone(__self_0)),
AttributeKind::NoLink => AttributeKind::NoLink,
AttributeKind::NoMain => AttributeKind::NoMain,
AttributeKind::NoMangle(__self_0) =>
AttributeKind::NoMangle(::core::clone::Clone::clone(__self_0)),
AttributeKind::NoStd(__self_0) =>
AttributeKind::NoStd(::core::clone::Clone::clone(__self_0)),
AttributeKind::NonExhaustive(__self_0) =>
AttributeKind::NonExhaustive(::core::clone::Clone::clone(__self_0)),
AttributeKind::Optimize(__self_0, __self_1) =>
AttributeKind::Optimize(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::PanicRuntime => AttributeKind::PanicRuntime,
AttributeKind::PatchableFunctionEntry {
prefix: __self_0, entry: __self_1 } =>
AttributeKind::PatchableFunctionEntry {
prefix: ::core::clone::Clone::clone(__self_0),
entry: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::Path(__self_0, __self_1) =>
AttributeKind::Path(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::PatternComplexityLimit {
attr_span: __self_0, limit_span: __self_1, limit: __self_2 }
=>
AttributeKind::PatternComplexityLimit {
attr_span: ::core::clone::Clone::clone(__self_0),
limit_span: ::core::clone::Clone::clone(__self_1),
limit: ::core::clone::Clone::clone(__self_2),
},
AttributeKind::PinV2(__self_0) =>
AttributeKind::PinV2(::core::clone::Clone::clone(__self_0)),
AttributeKind::Pointee(__self_0) =>
AttributeKind::Pointee(::core::clone::Clone::clone(__self_0)),
AttributeKind::ProcMacro(__self_0) =>
AttributeKind::ProcMacro(::core::clone::Clone::clone(__self_0)),
AttributeKind::ProcMacroAttribute(__self_0) =>
AttributeKind::ProcMacroAttribute(::core::clone::Clone::clone(__self_0)),
AttributeKind::ProcMacroDerive {
trait_name: __self_0, helper_attrs: __self_1, span: __self_2 }
=>
AttributeKind::ProcMacroDerive {
trait_name: ::core::clone::Clone::clone(__self_0),
helper_attrs: ::core::clone::Clone::clone(__self_1),
span: ::core::clone::Clone::clone(__self_2),
},
AttributeKind::ProfilerRuntime => AttributeKind::ProfilerRuntime,
AttributeKind::RecursionLimit {
attr_span: __self_0, limit_span: __self_1, limit: __self_2 }
=>
AttributeKind::RecursionLimit {
attr_span: ::core::clone::Clone::clone(__self_0),
limit_span: ::core::clone::Clone::clone(__self_1),
limit: ::core::clone::Clone::clone(__self_2),
},
AttributeKind::ReexportTestHarnessMain(__self_0) =>
AttributeKind::ReexportTestHarnessMain(::core::clone::Clone::clone(__self_0)),
AttributeKind::Repr { reprs: __self_0, first_span: __self_1 } =>
AttributeKind::Repr {
reprs: ::core::clone::Clone::clone(__self_0),
first_span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcAbi { attr_span: __self_0, kind: __self_1 } =>
AttributeKind::RustcAbi {
attr_span: ::core::clone::Clone::clone(__self_0),
kind: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcAllocator => AttributeKind::RustcAllocator,
AttributeKind::RustcAllocatorZeroed =>
AttributeKind::RustcAllocatorZeroed,
AttributeKind::RustcAllocatorZeroedVariant { name: __self_0 } =>
AttributeKind::RustcAllocatorZeroedVariant {
name: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::RustcAllowConstFnUnstable(__self_0, __self_1) =>
AttributeKind::RustcAllowConstFnUnstable(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::RustcAllowIncoherentImpl(__self_0) =>
AttributeKind::RustcAllowIncoherentImpl(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcAsPtr(__self_0) =>
AttributeKind::RustcAsPtr(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcBodyStability {
stability: __self_0, span: __self_1 } =>
AttributeKind::RustcBodyStability {
stability: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcBuiltinMacro {
builtin_name: __self_0, helper_attrs: __self_1, span: __self_2
} =>
AttributeKind::RustcBuiltinMacro {
builtin_name: ::core::clone::Clone::clone(__self_0),
helper_attrs: ::core::clone::Clone::clone(__self_1),
span: ::core::clone::Clone::clone(__self_2),
},
AttributeKind::RustcClean(__self_0) =>
AttributeKind::RustcClean(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcCoherenceIsCore(__self_0) =>
AttributeKind::RustcCoherenceIsCore(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcCoinductive(__self_0) =>
AttributeKind::RustcCoinductive(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcConfusables {
symbols: __self_0, first_span: __self_1 } =>
AttributeKind::RustcConfusables {
symbols: ::core::clone::Clone::clone(__self_0),
first_span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcConstStability {
stability: __self_0, span: __self_1 } =>
AttributeKind::RustcConstStability {
stability: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcConstStabilityIndirect =>
AttributeKind::RustcConstStabilityIndirect,
AttributeKind::RustcDeallocator =>
AttributeKind::RustcDeallocator,
AttributeKind::RustcDenyExplicitImpl(__self_0) =>
AttributeKind::RustcDenyExplicitImpl(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcDummy => AttributeKind::RustcDummy,
AttributeKind::RustcDumpDefParents =>
AttributeKind::RustcDumpDefParents,
AttributeKind::RustcDumpItemBounds =>
AttributeKind::RustcDumpItemBounds,
AttributeKind::RustcDumpPredicates =>
AttributeKind::RustcDumpPredicates,
AttributeKind::RustcDumpUserArgs =>
AttributeKind::RustcDumpUserArgs,
AttributeKind::RustcDumpVtable(__self_0) =>
AttributeKind::RustcDumpVtable(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcDynIncompatibleTrait(__self_0) =>
AttributeKind::RustcDynIncompatibleTrait(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcEffectiveVisibility =>
AttributeKind::RustcEffectiveVisibility,
AttributeKind::RustcHasIncoherentInherentImpls =>
AttributeKind::RustcHasIncoherentInherentImpls,
AttributeKind::RustcHiddenTypeOfOpaques =>
AttributeKind::RustcHiddenTypeOfOpaques,
AttributeKind::RustcIfThisChanged(__self_0, __self_1) =>
AttributeKind::RustcIfThisChanged(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::RustcLayout(__self_0) =>
AttributeKind::RustcLayout(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcLayoutScalarValidRangeEnd(__self_0, __self_1)
=>
AttributeKind::RustcLayoutScalarValidRangeEnd(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::RustcLayoutScalarValidRangeStart(__self_0,
__self_1) =>
AttributeKind::RustcLayoutScalarValidRangeStart(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::RustcLegacyConstGenerics {
fn_indexes: __self_0, attr_span: __self_1 } =>
AttributeKind::RustcLegacyConstGenerics {
fn_indexes: ::core::clone::Clone::clone(__self_0),
attr_span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcLintOptDenyFieldAccess {
lint_message: __self_0 } =>
AttributeKind::RustcLintOptDenyFieldAccess {
lint_message: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::RustcLintOptTy => AttributeKind::RustcLintOptTy,
AttributeKind::RustcLintQueryInstability =>
AttributeKind::RustcLintQueryInstability,
AttributeKind::RustcLintUntrackedQueryInformation =>
AttributeKind::RustcLintUntrackedQueryInformation,
AttributeKind::RustcMacroTransparency(__self_0) =>
AttributeKind::RustcMacroTransparency(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcMain => AttributeKind::RustcMain,
AttributeKind::RustcMir(__self_0) =>
AttributeKind::RustcMir(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcMustImplementOneOf {
attr_span: __self_0, fn_names: __self_1 } =>
AttributeKind::RustcMustImplementOneOf {
attr_span: ::core::clone::Clone::clone(__self_0),
fn_names: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcNeverReturnsNullPointer =>
AttributeKind::RustcNeverReturnsNullPointer,
AttributeKind::RustcNoImplicitAutorefs =>
AttributeKind::RustcNoImplicitAutorefs,
AttributeKind::RustcNonConstTraitMethod =>
AttributeKind::RustcNonConstTraitMethod,
AttributeKind::RustcNounwind => AttributeKind::RustcNounwind,
AttributeKind::RustcObjcClass {
classname: __self_0, span: __self_1 } =>
AttributeKind::RustcObjcClass {
classname: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcObjcSelector {
methname: __self_0, span: __self_1 } =>
AttributeKind::RustcObjcSelector {
methname: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcObjectLifetimeDefault =>
AttributeKind::RustcObjectLifetimeDefault,
AttributeKind::RustcOffloadKernel =>
AttributeKind::RustcOffloadKernel,
AttributeKind::RustcParenSugar(__self_0) =>
AttributeKind::RustcParenSugar(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcPassByValue(__self_0) =>
AttributeKind::RustcPassByValue(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcPassIndirectlyInNonRusticAbis(__self_0) =>
AttributeKind::RustcPassIndirectlyInNonRusticAbis(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcPreserveUbChecks =>
AttributeKind::RustcPreserveUbChecks,
AttributeKind::RustcPubTransparent(__self_0) =>
AttributeKind::RustcPubTransparent(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcReallocator =>
AttributeKind::RustcReallocator,
AttributeKind::RustcScalableVector {
element_count: __self_0, span: __self_1 } =>
AttributeKind::RustcScalableVector {
element_count: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcShouldNotBeCalledOnConstItems(__self_0) =>
AttributeKind::RustcShouldNotBeCalledOnConstItems(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcSimdMonomorphizeLaneLimit(__self_0) =>
AttributeKind::RustcSimdMonomorphizeLaneLimit(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcSkipDuringMethodDispatch {
array: __self_0, boxed_slice: __self_1, span: __self_2 } =>
AttributeKind::RustcSkipDuringMethodDispatch {
array: ::core::clone::Clone::clone(__self_0),
boxed_slice: ::core::clone::Clone::clone(__self_1),
span: ::core::clone::Clone::clone(__self_2),
},
AttributeKind::RustcSpecializationTrait(__self_0) =>
AttributeKind::RustcSpecializationTrait(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcStdInternalSymbol(__self_0) =>
AttributeKind::RustcStdInternalSymbol(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcThenThisWouldNeed(__self_0, __self_1) =>
AttributeKind::RustcThenThisWouldNeed(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::RustcUnsafeSpecializationMarker(__self_0) =>
AttributeKind::RustcUnsafeSpecializationMarker(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcVariance => AttributeKind::RustcVariance,
AttributeKind::RustcVarianceOfOpaques =>
AttributeKind::RustcVarianceOfOpaques,
AttributeKind::Sanitize {
on_set: __self_0,
off_set: __self_1,
rtsan: __self_2,
span: __self_3 } =>
AttributeKind::Sanitize {
on_set: ::core::clone::Clone::clone(__self_0),
off_set: ::core::clone::Clone::clone(__self_1),
rtsan: ::core::clone::Clone::clone(__self_2),
span: ::core::clone::Clone::clone(__self_3),
},
AttributeKind::ShouldPanic { reason: __self_0, span: __self_1 } =>
AttributeKind::ShouldPanic {
reason: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::Stability { stability: __self_0, span: __self_1 }
=>
AttributeKind::Stability {
stability: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::TargetFeature {
features: __self_0, attr_span: __self_1, was_forced: __self_2
} =>
AttributeKind::TargetFeature {
features: ::core::clone::Clone::clone(__self_0),
attr_span: ::core::clone::Clone::clone(__self_1),
was_forced: ::core::clone::Clone::clone(__self_2),
},
AttributeKind::ThreadLocal => AttributeKind::ThreadLocal,
AttributeKind::TrackCaller(__self_0) =>
AttributeKind::TrackCaller(::core::clone::Clone::clone(__self_0)),
AttributeKind::TypeConst(__self_0) =>
AttributeKind::TypeConst(::core::clone::Clone::clone(__self_0)),
AttributeKind::TypeLengthLimit {
attr_span: __self_0, limit_span: __self_1, limit: __self_2 }
=>
AttributeKind::TypeLengthLimit {
attr_span: ::core::clone::Clone::clone(__self_0),
limit_span: ::core::clone::Clone::clone(__self_1),
limit: ::core::clone::Clone::clone(__self_2),
},
AttributeKind::UnstableFeatureBound(__self_0) =>
AttributeKind::UnstableFeatureBound(::core::clone::Clone::clone(__self_0)),
AttributeKind::Used { used_by: __self_0, span: __self_1 } =>
AttributeKind::Used {
used_by: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::WindowsSubsystem(__self_0, __self_1) =>
AttributeKind::WindowsSubsystem(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
}
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for AttributeKind {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
AttributeKind::Align { align: __self_0, span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f, "Align",
"align", __self_0, "span", &__self_1),
AttributeKind::AllowInternalUnsafe(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"AllowInternalUnsafe", &__self_0),
AttributeKind::AllowInternalUnstable(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"AllowInternalUnstable", __self_0, &__self_1),
AttributeKind::AutomaticallyDerived(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"AutomaticallyDerived", &__self_0),
AttributeKind::CfgAttrTrace =>
::core::fmt::Formatter::write_str(f, "CfgAttrTrace"),
AttributeKind::CfgTrace(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"CfgTrace", &__self_0),
AttributeKind::CfiEncoding { encoding: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"CfiEncoding", "encoding", &__self_0),
AttributeKind::Cold(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Cold",
&__self_0),
AttributeKind::CollapseDebugInfo(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"CollapseDebugInfo", &__self_0),
AttributeKind::CompilerBuiltins =>
::core::fmt::Formatter::write_str(f, "CompilerBuiltins"),
AttributeKind::ConstContinue(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"ConstContinue", &__self_0),
AttributeKind::Coroutine(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"Coroutine", &__self_0),
AttributeKind::Coverage(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"Coverage", __self_0, &__self_1),
AttributeKind::CrateName {
name: __self_0, name_span: __self_1, attr_span: __self_2 } =>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"CrateName", "name", __self_0, "name_span", __self_1,
"attr_span", &__self_2),
AttributeKind::CrateType(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"CrateType", &__self_0),
AttributeKind::CustomMir(__self_0, __self_1, __self_2) =>
::core::fmt::Formatter::debug_tuple_field3_finish(f,
"CustomMir", __self_0, __self_1, &__self_2),
AttributeKind::DebuggerVisualizer(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"DebuggerVisualizer", &__self_0),
AttributeKind::Deprecation { deprecation: __self_0, span: __self_1
} =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"Deprecation", "deprecation", __self_0, "span", &__self_1),
AttributeKind::DoNotRecommend { attr_span: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"DoNotRecommend", "attr_span", &__self_0),
AttributeKind::Doc(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Doc",
&__self_0),
AttributeKind::DocComment {
style: __self_0,
kind: __self_1,
span: __self_2,
comment: __self_3 } =>
::core::fmt::Formatter::debug_struct_field4_finish(f,
"DocComment", "style", __self_0, "kind", __self_1, "span",
__self_2, "comment", &__self_3),
AttributeKind::EiiDeclaration(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"EiiDeclaration", &__self_0),
AttributeKind::EiiForeignItem =>
::core::fmt::Formatter::write_str(f, "EiiForeignItem"),
AttributeKind::EiiImpls(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"EiiImpls", &__self_0),
AttributeKind::ExportName { name: __self_0, span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"ExportName", "name", __self_0, "span", &__self_1),
AttributeKind::ExportStable =>
::core::fmt::Formatter::write_str(f, "ExportStable"),
AttributeKind::FfiConst(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"FfiConst", &__self_0),
AttributeKind::FfiPure(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"FfiPure", &__self_0),
AttributeKind::Fundamental =>
::core::fmt::Formatter::write_str(f, "Fundamental"),
AttributeKind::Ignore { span: __self_0, reason: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"Ignore", "span", __self_0, "reason", &__self_1),
AttributeKind::Inline(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f, "Inline",
__self_0, &__self_1),
AttributeKind::InstructionSet(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"InstructionSet", &__self_0),
AttributeKind::Link(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f, "Link",
__self_0, &__self_1),
AttributeKind::LinkName { name: __self_0, span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"LinkName", "name", __self_0, "span", &__self_1),
AttributeKind::LinkOrdinal { ordinal: __self_0, span: __self_1 }
=>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"LinkOrdinal", "ordinal", __self_0, "span", &__self_1),
AttributeKind::LinkSection { name: __self_0, span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"LinkSection", "name", __self_0, "span", &__self_1),
AttributeKind::Linkage(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"Linkage", __self_0, &__self_1),
AttributeKind::LoopMatch(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"LoopMatch", &__self_0),
AttributeKind::MacroEscape(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"MacroEscape", &__self_0),
AttributeKind::MacroExport {
span: __self_0, local_inner_macros: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"MacroExport", "span", __self_0, "local_inner_macros",
&__self_1),
AttributeKind::MacroUse { span: __self_0, arguments: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"MacroUse", "span", __self_0, "arguments", &__self_1),
AttributeKind::Marker(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Marker",
&__self_0),
AttributeKind::MayDangle(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"MayDangle", &__self_0),
AttributeKind::MoveSizeLimit {
attr_span: __self_0, limit_span: __self_1, limit: __self_2 }
=>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"MoveSizeLimit", "attr_span", __self_0, "limit_span",
__self_1, "limit", &__self_2),
AttributeKind::MustNotSupend { reason: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"MustNotSupend", "reason", &__self_0),
AttributeKind::MustUse { span: __self_0, reason: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"MustUse", "span", __self_0, "reason", &__self_1),
AttributeKind::Naked(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Naked",
&__self_0),
AttributeKind::NeedsAllocator =>
::core::fmt::Formatter::write_str(f, "NeedsAllocator"),
AttributeKind::NeedsPanicRuntime =>
::core::fmt::Formatter::write_str(f, "NeedsPanicRuntime"),
AttributeKind::NoBuiltins =>
::core::fmt::Formatter::write_str(f, "NoBuiltins"),
AttributeKind::NoCore(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "NoCore",
&__self_0),
AttributeKind::NoImplicitPrelude(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"NoImplicitPrelude", &__self_0),
AttributeKind::NoLink =>
::core::fmt::Formatter::write_str(f, "NoLink"),
AttributeKind::NoMain =>
::core::fmt::Formatter::write_str(f, "NoMain"),
AttributeKind::NoMangle(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"NoMangle", &__self_0),
AttributeKind::NoStd(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "NoStd",
&__self_0),
AttributeKind::NonExhaustive(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"NonExhaustive", &__self_0),
AttributeKind::Optimize(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"Optimize", __self_0, &__self_1),
AttributeKind::PanicRuntime =>
::core::fmt::Formatter::write_str(f, "PanicRuntime"),
AttributeKind::PatchableFunctionEntry {
prefix: __self_0, entry: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"PatchableFunctionEntry", "prefix", __self_0, "entry",
&__self_1),
AttributeKind::Path(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f, "Path",
__self_0, &__self_1),
AttributeKind::PatternComplexityLimit {
attr_span: __self_0, limit_span: __self_1, limit: __self_2 }
=>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"PatternComplexityLimit", "attr_span", __self_0,
"limit_span", __self_1, "limit", &__self_2),
AttributeKind::PinV2(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "PinV2",
&__self_0),
AttributeKind::Pointee(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"Pointee", &__self_0),
AttributeKind::ProcMacro(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"ProcMacro", &__self_0),
AttributeKind::ProcMacroAttribute(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"ProcMacroAttribute", &__self_0),
AttributeKind::ProcMacroDerive {
trait_name: __self_0, helper_attrs: __self_1, span: __self_2 }
=>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"ProcMacroDerive", "trait_name", __self_0, "helper_attrs",
__self_1, "span", &__self_2),
AttributeKind::ProfilerRuntime =>
::core::fmt::Formatter::write_str(f, "ProfilerRuntime"),
AttributeKind::RecursionLimit {
attr_span: __self_0, limit_span: __self_1, limit: __self_2 }
=>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"RecursionLimit", "attr_span", __self_0, "limit_span",
__self_1, "limit", &__self_2),
AttributeKind::ReexportTestHarnessMain(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"ReexportTestHarnessMain", &__self_0),
AttributeKind::Repr { reprs: __self_0, first_span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f, "Repr",
"reprs", __self_0, "first_span", &__self_1),
AttributeKind::RustcAbi { attr_span: __self_0, kind: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcAbi", "attr_span", __self_0, "kind", &__self_1),
AttributeKind::RustcAllocator =>
::core::fmt::Formatter::write_str(f, "RustcAllocator"),
AttributeKind::RustcAllocatorZeroed =>
::core::fmt::Formatter::write_str(f, "RustcAllocatorZeroed"),
AttributeKind::RustcAllocatorZeroedVariant { name: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"RustcAllocatorZeroedVariant", "name", &__self_0),
AttributeKind::RustcAllowConstFnUnstable(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"RustcAllowConstFnUnstable", __self_0, &__self_1),
AttributeKind::RustcAllowIncoherentImpl(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcAllowIncoherentImpl", &__self_0),
AttributeKind::RustcAsPtr(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcAsPtr", &__self_0),
AttributeKind::RustcBodyStability {
stability: __self_0, span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcBodyStability", "stability", __self_0, "span",
&__self_1),
AttributeKind::RustcBuiltinMacro {
builtin_name: __self_0, helper_attrs: __self_1, span: __self_2
} =>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"RustcBuiltinMacro", "builtin_name", __self_0,
"helper_attrs", __self_1, "span", &__self_2),
AttributeKind::RustcClean(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcClean", &__self_0),
AttributeKind::RustcCoherenceIsCore(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcCoherenceIsCore", &__self_0),
AttributeKind::RustcCoinductive(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcCoinductive", &__self_0),
AttributeKind::RustcConfusables {
symbols: __self_0, first_span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcConfusables", "symbols", __self_0, "first_span",
&__self_1),
AttributeKind::RustcConstStability {
stability: __self_0, span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcConstStability", "stability", __self_0, "span",
&__self_1),
AttributeKind::RustcConstStabilityIndirect =>
::core::fmt::Formatter::write_str(f,
"RustcConstStabilityIndirect"),
AttributeKind::RustcDeallocator =>
::core::fmt::Formatter::write_str(f, "RustcDeallocator"),
AttributeKind::RustcDenyExplicitImpl(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcDenyExplicitImpl", &__self_0),
AttributeKind::RustcDummy =>
::core::fmt::Formatter::write_str(f, "RustcDummy"),
AttributeKind::RustcDumpDefParents =>
::core::fmt::Formatter::write_str(f, "RustcDumpDefParents"),
AttributeKind::RustcDumpItemBounds =>
::core::fmt::Formatter::write_str(f, "RustcDumpItemBounds"),
AttributeKind::RustcDumpPredicates =>
::core::fmt::Formatter::write_str(f, "RustcDumpPredicates"),
AttributeKind::RustcDumpUserArgs =>
::core::fmt::Formatter::write_str(f, "RustcDumpUserArgs"),
AttributeKind::RustcDumpVtable(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcDumpVtable", &__self_0),
AttributeKind::RustcDynIncompatibleTrait(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcDynIncompatibleTrait", &__self_0),
AttributeKind::RustcEffectiveVisibility =>
::core::fmt::Formatter::write_str(f,
"RustcEffectiveVisibility"),
AttributeKind::RustcHasIncoherentInherentImpls =>
::core::fmt::Formatter::write_str(f,
"RustcHasIncoherentInherentImpls"),
AttributeKind::RustcHiddenTypeOfOpaques =>
::core::fmt::Formatter::write_str(f,
"RustcHiddenTypeOfOpaques"),
AttributeKind::RustcIfThisChanged(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"RustcIfThisChanged", __self_0, &__self_1),
AttributeKind::RustcLayout(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcLayout", &__self_0),
AttributeKind::RustcLayoutScalarValidRangeEnd(__self_0, __self_1)
=>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"RustcLayoutScalarValidRangeEnd", __self_0, &__self_1),
AttributeKind::RustcLayoutScalarValidRangeStart(__self_0,
__self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"RustcLayoutScalarValidRangeStart", __self_0, &__self_1),
AttributeKind::RustcLegacyConstGenerics {
fn_indexes: __self_0, attr_span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcLegacyConstGenerics", "fn_indexes", __self_0,
"attr_span", &__self_1),
AttributeKind::RustcLintOptDenyFieldAccess {
lint_message: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"RustcLintOptDenyFieldAccess", "lint_message", &__self_0),
AttributeKind::RustcLintOptTy =>
::core::fmt::Formatter::write_str(f, "RustcLintOptTy"),
AttributeKind::RustcLintQueryInstability =>
::core::fmt::Formatter::write_str(f,
"RustcLintQueryInstability"),
AttributeKind::RustcLintUntrackedQueryInformation =>
::core::fmt::Formatter::write_str(f,
"RustcLintUntrackedQueryInformation"),
AttributeKind::RustcMacroTransparency(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcMacroTransparency", &__self_0),
AttributeKind::RustcMain =>
::core::fmt::Formatter::write_str(f, "RustcMain"),
AttributeKind::RustcMir(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcMir", &__self_0),
AttributeKind::RustcMustImplementOneOf {
attr_span: __self_0, fn_names: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcMustImplementOneOf", "attr_span", __self_0,
"fn_names", &__self_1),
AttributeKind::RustcNeverReturnsNullPointer =>
::core::fmt::Formatter::write_str(f,
"RustcNeverReturnsNullPointer"),
AttributeKind::RustcNoImplicitAutorefs =>
::core::fmt::Formatter::write_str(f,
"RustcNoImplicitAutorefs"),
AttributeKind::RustcNonConstTraitMethod =>
::core::fmt::Formatter::write_str(f,
"RustcNonConstTraitMethod"),
AttributeKind::RustcNounwind =>
::core::fmt::Formatter::write_str(f, "RustcNounwind"),
AttributeKind::RustcObjcClass {
classname: __self_0, span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcObjcClass", "classname", __self_0, "span", &__self_1),
AttributeKind::RustcObjcSelector {
methname: __self_0, span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcObjcSelector", "methname", __self_0, "span",
&__self_1),
AttributeKind::RustcObjectLifetimeDefault =>
::core::fmt::Formatter::write_str(f,
"RustcObjectLifetimeDefault"),
AttributeKind::RustcOffloadKernel =>
::core::fmt::Formatter::write_str(f, "RustcOffloadKernel"),
AttributeKind::RustcParenSugar(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcParenSugar", &__self_0),
AttributeKind::RustcPassByValue(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcPassByValue", &__self_0),
AttributeKind::RustcPassIndirectlyInNonRusticAbis(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcPassIndirectlyInNonRusticAbis", &__self_0),
AttributeKind::RustcPreserveUbChecks =>
::core::fmt::Formatter::write_str(f, "RustcPreserveUbChecks"),
AttributeKind::RustcPubTransparent(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcPubTransparent", &__self_0),
AttributeKind::RustcReallocator =>
::core::fmt::Formatter::write_str(f, "RustcReallocator"),
AttributeKind::RustcScalableVector {
element_count: __self_0, span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcScalableVector", "element_count", __self_0, "span",
&__self_1),
AttributeKind::RustcShouldNotBeCalledOnConstItems(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcShouldNotBeCalledOnConstItems", &__self_0),
AttributeKind::RustcSimdMonomorphizeLaneLimit(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcSimdMonomorphizeLaneLimit", &__self_0),
AttributeKind::RustcSkipDuringMethodDispatch {
array: __self_0, boxed_slice: __self_1, span: __self_2 } =>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"RustcSkipDuringMethodDispatch", "array", __self_0,
"boxed_slice", __self_1, "span", &__self_2),
AttributeKind::RustcSpecializationTrait(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcSpecializationTrait", &__self_0),
AttributeKind::RustcStdInternalSymbol(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcStdInternalSymbol", &__self_0),
AttributeKind::RustcThenThisWouldNeed(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"RustcThenThisWouldNeed", __self_0, &__self_1),
AttributeKind::RustcUnsafeSpecializationMarker(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcUnsafeSpecializationMarker", &__self_0),
AttributeKind::RustcVariance =>
::core::fmt::Formatter::write_str(f, "RustcVariance"),
AttributeKind::RustcVarianceOfOpaques =>
::core::fmt::Formatter::write_str(f,
"RustcVarianceOfOpaques"),
AttributeKind::Sanitize {
on_set: __self_0,
off_set: __self_1,
rtsan: __self_2,
span: __self_3 } =>
::core::fmt::Formatter::debug_struct_field4_finish(f,
"Sanitize", "on_set", __self_0, "off_set", __self_1,
"rtsan", __self_2, "span", &__self_3),
AttributeKind::ShouldPanic { reason: __self_0, span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"ShouldPanic", "reason", __self_0, "span", &__self_1),
AttributeKind::Stability { stability: __self_0, span: __self_1 }
=>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"Stability", "stability", __self_0, "span", &__self_1),
AttributeKind::TargetFeature {
features: __self_0, attr_span: __self_1, was_forced: __self_2
} =>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"TargetFeature", "features", __self_0, "attr_span",
__self_1, "was_forced", &__self_2),
AttributeKind::ThreadLocal =>
::core::fmt::Formatter::write_str(f, "ThreadLocal"),
AttributeKind::TrackCaller(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"TrackCaller", &__self_0),
AttributeKind::TypeConst(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"TypeConst", &__self_0),
AttributeKind::TypeLengthLimit {
attr_span: __self_0, limit_span: __self_1, limit: __self_2 }
=>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"TypeLengthLimit", "attr_span", __self_0, "limit_span",
__self_1, "limit", &__self_2),
AttributeKind::UnstableFeatureBound(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"UnstableFeatureBound", &__self_0),
AttributeKind::Used { used_by: __self_0, span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f, "Used",
"used_by", __self_0, "span", &__self_1),
AttributeKind::WindowsSubsystem(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"WindowsSubsystem", __self_0, &__self_1),
}
}
}Debug, const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for AttributeKind where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
AttributeKind::Align {
align: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::AllowInternalUnsafe(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::AllowInternalUnstable(ref __binding_0,
ref __binding_1) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::AutomaticallyDerived(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::CfgAttrTrace => {}
AttributeKind::CfgTrace(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::CfiEncoding { encoding: ref __binding_0 } =>
{
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::Cold(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::CollapseDebugInfo(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::CompilerBuiltins => {}
AttributeKind::ConstContinue(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::Coroutine(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::Coverage(ref __binding_0, ref __binding_1) =>
{
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::CrateName {
name: ref __binding_0,
name_span: ref __binding_1,
attr_span: ref __binding_2 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
{ __binding_2.hash_stable(__hcx, __hasher); }
}
AttributeKind::CrateType(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::CustomMir(ref __binding_0, ref __binding_1,
ref __binding_2) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
{ __binding_2.hash_stable(__hcx, __hasher); }
}
AttributeKind::DebuggerVisualizer(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::Deprecation {
deprecation: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::DoNotRecommend { attr_span: ref __binding_0 }
=> {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::Doc(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::DocComment {
style: ref __binding_0,
kind: ref __binding_1,
span: ref __binding_2,
comment: ref __binding_3 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
{ __binding_2.hash_stable(__hcx, __hasher); }
{ __binding_3.hash_stable(__hcx, __hasher); }
}
AttributeKind::EiiDeclaration(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::EiiForeignItem => {}
AttributeKind::EiiImpls(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::ExportName {
name: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::ExportStable => {}
AttributeKind::FfiConst(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::FfiPure(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::Fundamental => {}
AttributeKind::Ignore {
span: ref __binding_0, reason: ref __binding_1 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::Inline(ref __binding_0, ref __binding_1) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::InstructionSet(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::Link(ref __binding_0, ref __binding_1) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::LinkName {
name: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::LinkOrdinal {
ordinal: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::LinkSection {
name: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::Linkage(ref __binding_0, ref __binding_1) =>
{
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::LoopMatch(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::MacroEscape(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::MacroExport {
span: ref __binding_0, local_inner_macros: ref __binding_1 }
=> {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::MacroUse {
span: ref __binding_0, arguments: ref __binding_1 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::Marker(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::MayDangle(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::MoveSizeLimit {
attr_span: ref __binding_0,
limit_span: ref __binding_1,
limit: ref __binding_2 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
{ __binding_2.hash_stable(__hcx, __hasher); }
}
AttributeKind::MustNotSupend { reason: ref __binding_0 } =>
{
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::MustUse {
span: ref __binding_0, reason: ref __binding_1 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::Naked(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::NeedsAllocator => {}
AttributeKind::NeedsPanicRuntime => {}
AttributeKind::NoBuiltins => {}
AttributeKind::NoCore(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::NoImplicitPrelude(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::NoLink => {}
AttributeKind::NoMain => {}
AttributeKind::NoMangle(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::NoStd(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::NonExhaustive(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::Optimize(ref __binding_0, ref __binding_1) =>
{
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::PanicRuntime => {}
AttributeKind::PatchableFunctionEntry {
prefix: ref __binding_0, entry: ref __binding_1 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::Path(ref __binding_0, ref __binding_1) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::PatternComplexityLimit {
attr_span: ref __binding_0,
limit_span: ref __binding_1,
limit: ref __binding_2 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
{ __binding_2.hash_stable(__hcx, __hasher); }
}
AttributeKind::PinV2(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::Pointee(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::ProcMacro(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::ProcMacroAttribute(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::ProcMacroDerive {
trait_name: ref __binding_0,
helper_attrs: ref __binding_1,
span: ref __binding_2 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
{ __binding_2.hash_stable(__hcx, __hasher); }
}
AttributeKind::ProfilerRuntime => {}
AttributeKind::RecursionLimit {
attr_span: ref __binding_0,
limit_span: ref __binding_1,
limit: ref __binding_2 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
{ __binding_2.hash_stable(__hcx, __hasher); }
}
AttributeKind::ReexportTestHarnessMain(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::Repr {
reprs: ref __binding_0, first_span: ref __binding_1 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcAbi {
attr_span: ref __binding_0, kind: ref __binding_1 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcAllocator => {}
AttributeKind::RustcAllocatorZeroed => {}
AttributeKind::RustcAllocatorZeroedVariant {
name: ref __binding_0 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcAllowConstFnUnstable(ref __binding_0,
ref __binding_1) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcAllowIncoherentImpl(ref __binding_0) =>
{
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcAsPtr(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcBodyStability {
stability: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcBuiltinMacro {
builtin_name: ref __binding_0,
helper_attrs: ref __binding_1,
span: ref __binding_2 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
{ __binding_2.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcClean(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcCoherenceIsCore(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcCoinductive(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcConfusables {
symbols: ref __binding_0, first_span: ref __binding_1 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcConstStability {
stability: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcConstStabilityIndirect => {}
AttributeKind::RustcDeallocator => {}
AttributeKind::RustcDenyExplicitImpl(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcDummy => {}
AttributeKind::RustcDumpDefParents => {}
AttributeKind::RustcDumpItemBounds => {}
AttributeKind::RustcDumpPredicates => {}
AttributeKind::RustcDumpUserArgs => {}
AttributeKind::RustcDumpVtable(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcDynIncompatibleTrait(ref __binding_0) =>
{
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcEffectiveVisibility => {}
AttributeKind::RustcHasIncoherentInherentImpls => {}
AttributeKind::RustcHiddenTypeOfOpaques => {}
AttributeKind::RustcIfThisChanged(ref __binding_0,
ref __binding_1) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcLayout(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcLayoutScalarValidRangeEnd(ref __binding_0,
ref __binding_1) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcLayoutScalarValidRangeStart(ref __binding_0,
ref __binding_1) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcLegacyConstGenerics {
fn_indexes: ref __binding_0, attr_span: ref __binding_1 } =>
{
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcLintOptDenyFieldAccess {
lint_message: ref __binding_0 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcLintOptTy => {}
AttributeKind::RustcLintQueryInstability => {}
AttributeKind::RustcLintUntrackedQueryInformation => {}
AttributeKind::RustcMacroTransparency(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcMain => {}
AttributeKind::RustcMir(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcMustImplementOneOf {
attr_span: ref __binding_0, fn_names: ref __binding_1 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcNeverReturnsNullPointer => {}
AttributeKind::RustcNoImplicitAutorefs => {}
AttributeKind::RustcNonConstTraitMethod => {}
AttributeKind::RustcNounwind => {}
AttributeKind::RustcObjcClass {
classname: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcObjcSelector {
methname: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcObjectLifetimeDefault => {}
AttributeKind::RustcOffloadKernel => {}
AttributeKind::RustcParenSugar(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcPassByValue(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcPassIndirectlyInNonRusticAbis(ref __binding_0)
=> {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcPreserveUbChecks => {}
AttributeKind::RustcPubTransparent(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcReallocator => {}
AttributeKind::RustcScalableVector {
element_count: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcShouldNotBeCalledOnConstItems(ref __binding_0)
=> {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcSimdMonomorphizeLaneLimit(ref __binding_0)
=> {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcSkipDuringMethodDispatch {
array: ref __binding_0,
boxed_slice: ref __binding_1,
span: ref __binding_2 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
{ __binding_2.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcSpecializationTrait(ref __binding_0) =>
{
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcStdInternalSymbol(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcThenThisWouldNeed(ref __binding_0,
ref __binding_1) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcUnsafeSpecializationMarker(ref __binding_0)
=> {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::RustcVariance => {}
AttributeKind::RustcVarianceOfOpaques => {}
AttributeKind::Sanitize {
on_set: ref __binding_0,
off_set: ref __binding_1,
rtsan: ref __binding_2,
span: ref __binding_3 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
{ __binding_2.hash_stable(__hcx, __hasher); }
{ __binding_3.hash_stable(__hcx, __hasher); }
}
AttributeKind::ShouldPanic {
reason: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::Stability {
stability: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::TargetFeature {
features: ref __binding_0,
attr_span: ref __binding_1,
was_forced: ref __binding_2 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
{ __binding_2.hash_stable(__hcx, __hasher); }
}
AttributeKind::ThreadLocal => {}
AttributeKind::TrackCaller(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::TypeConst(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::TypeLengthLimit {
attr_span: ref __binding_0,
limit_span: ref __binding_1,
limit: ref __binding_2 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
{ __binding_2.hash_stable(__hcx, __hasher); }
}
AttributeKind::UnstableFeatureBound(ref __binding_0) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
}
AttributeKind::Used {
used_by: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
AttributeKind::WindowsSubsystem(ref __binding_0,
ref __binding_1) => {
{ __binding_0.hash_stable(__hcx, __hasher); }
{ __binding_1.hash_stable(__hcx, __hasher); }
}
}
}
}
};HashStable_Generic, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for AttributeKind {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
AttributeKind::Align {
align: ref __binding_0, span: ref __binding_1 } => {
0usize
}
AttributeKind::AllowInternalUnsafe(ref __binding_0) => {
1usize
}
AttributeKind::AllowInternalUnstable(ref __binding_0,
ref __binding_1) => {
2usize
}
AttributeKind::AutomaticallyDerived(ref __binding_0) => {
3usize
}
AttributeKind::CfgAttrTrace => { 4usize }
AttributeKind::CfgTrace(ref __binding_0) => { 5usize }
AttributeKind::CfiEncoding { encoding: ref __binding_0 } =>
{
6usize
}
AttributeKind::Cold(ref __binding_0) => { 7usize }
AttributeKind::CollapseDebugInfo(ref __binding_0) => {
8usize
}
AttributeKind::CompilerBuiltins => { 9usize }
AttributeKind::ConstContinue(ref __binding_0) => { 10usize }
AttributeKind::Coroutine(ref __binding_0) => { 11usize }
AttributeKind::Coverage(ref __binding_0, ref __binding_1) =>
{
12usize
}
AttributeKind::CrateName {
name: ref __binding_0,
name_span: ref __binding_1,
attr_span: ref __binding_2 } => {
13usize
}
AttributeKind::CrateType(ref __binding_0) => { 14usize }
AttributeKind::CustomMir(ref __binding_0, ref __binding_1,
ref __binding_2) => {
15usize
}
AttributeKind::DebuggerVisualizer(ref __binding_0) => {
16usize
}
AttributeKind::Deprecation {
deprecation: ref __binding_0, span: ref __binding_1 } => {
17usize
}
AttributeKind::DoNotRecommend { attr_span: ref __binding_0 }
=> {
18usize
}
AttributeKind::Doc(ref __binding_0) => { 19usize }
AttributeKind::DocComment {
style: ref __binding_0,
kind: ref __binding_1,
span: ref __binding_2,
comment: ref __binding_3 } => {
20usize
}
AttributeKind::EiiDeclaration(ref __binding_0) => {
21usize
}
AttributeKind::EiiForeignItem => { 22usize }
AttributeKind::EiiImpls(ref __binding_0) => { 23usize }
AttributeKind::ExportName {
name: ref __binding_0, span: ref __binding_1 } => {
24usize
}
AttributeKind::ExportStable => { 25usize }
AttributeKind::FfiConst(ref __binding_0) => { 26usize }
AttributeKind::FfiPure(ref __binding_0) => { 27usize }
AttributeKind::Fundamental => { 28usize }
AttributeKind::Ignore {
span: ref __binding_0, reason: ref __binding_1 } => {
29usize
}
AttributeKind::Inline(ref __binding_0, ref __binding_1) => {
30usize
}
AttributeKind::InstructionSet(ref __binding_0) => {
31usize
}
AttributeKind::Link(ref __binding_0, ref __binding_1) => {
32usize
}
AttributeKind::LinkName {
name: ref __binding_0, span: ref __binding_1 } => {
33usize
}
AttributeKind::LinkOrdinal {
ordinal: ref __binding_0, span: ref __binding_1 } => {
34usize
}
AttributeKind::LinkSection {
name: ref __binding_0, span: ref __binding_1 } => {
35usize
}
AttributeKind::Linkage(ref __binding_0, ref __binding_1) =>
{
36usize
}
AttributeKind::LoopMatch(ref __binding_0) => { 37usize }
AttributeKind::MacroEscape(ref __binding_0) => { 38usize }
AttributeKind::MacroExport {
span: ref __binding_0, local_inner_macros: ref __binding_1 }
=> {
39usize
}
AttributeKind::MacroUse {
span: ref __binding_0, arguments: ref __binding_1 } => {
40usize
}
AttributeKind::Marker(ref __binding_0) => { 41usize }
AttributeKind::MayDangle(ref __binding_0) => { 42usize }
AttributeKind::MoveSizeLimit {
attr_span: ref __binding_0,
limit_span: ref __binding_1,
limit: ref __binding_2 } => {
43usize
}
AttributeKind::MustNotSupend { reason: ref __binding_0 } =>
{
44usize
}
AttributeKind::MustUse {
span: ref __binding_0, reason: ref __binding_1 } => {
45usize
}
AttributeKind::Naked(ref __binding_0) => { 46usize }
AttributeKind::NeedsAllocator => { 47usize }
AttributeKind::NeedsPanicRuntime => { 48usize }
AttributeKind::NoBuiltins => { 49usize }
AttributeKind::NoCore(ref __binding_0) => { 50usize }
AttributeKind::NoImplicitPrelude(ref __binding_0) => {
51usize
}
AttributeKind::NoLink => { 52usize }
AttributeKind::NoMain => { 53usize }
AttributeKind::NoMangle(ref __binding_0) => { 54usize }
AttributeKind::NoStd(ref __binding_0) => { 55usize }
AttributeKind::NonExhaustive(ref __binding_0) => { 56usize }
AttributeKind::Optimize(ref __binding_0, ref __binding_1) =>
{
57usize
}
AttributeKind::PanicRuntime => { 58usize }
AttributeKind::PatchableFunctionEntry {
prefix: ref __binding_0, entry: ref __binding_1 } => {
59usize
}
AttributeKind::Path(ref __binding_0, ref __binding_1) => {
60usize
}
AttributeKind::PatternComplexityLimit {
attr_span: ref __binding_0,
limit_span: ref __binding_1,
limit: ref __binding_2 } => {
61usize
}
AttributeKind::PinV2(ref __binding_0) => { 62usize }
AttributeKind::Pointee(ref __binding_0) => { 63usize }
AttributeKind::ProcMacro(ref __binding_0) => { 64usize }
AttributeKind::ProcMacroAttribute(ref __binding_0) => {
65usize
}
AttributeKind::ProcMacroDerive {
trait_name: ref __binding_0,
helper_attrs: ref __binding_1,
span: ref __binding_2 } => {
66usize
}
AttributeKind::ProfilerRuntime => { 67usize }
AttributeKind::RecursionLimit {
attr_span: ref __binding_0,
limit_span: ref __binding_1,
limit: ref __binding_2 } => {
68usize
}
AttributeKind::ReexportTestHarnessMain(ref __binding_0) => {
69usize
}
AttributeKind::Repr {
reprs: ref __binding_0, first_span: ref __binding_1 } => {
70usize
}
AttributeKind::RustcAbi {
attr_span: ref __binding_0, kind: ref __binding_1 } => {
71usize
}
AttributeKind::RustcAllocator => { 72usize }
AttributeKind::RustcAllocatorZeroed => { 73usize }
AttributeKind::RustcAllocatorZeroedVariant {
name: ref __binding_0 } => {
74usize
}
AttributeKind::RustcAllowConstFnUnstable(ref __binding_0,
ref __binding_1) => {
75usize
}
AttributeKind::RustcAllowIncoherentImpl(ref __binding_0) =>
{
76usize
}
AttributeKind::RustcAsPtr(ref __binding_0) => { 77usize }
AttributeKind::RustcBodyStability {
stability: ref __binding_0, span: ref __binding_1 } => {
78usize
}
AttributeKind::RustcBuiltinMacro {
builtin_name: ref __binding_0,
helper_attrs: ref __binding_1,
span: ref __binding_2 } => {
79usize
}
AttributeKind::RustcClean(ref __binding_0) => { 80usize }
AttributeKind::RustcCoherenceIsCore(ref __binding_0) => {
81usize
}
AttributeKind::RustcCoinductive(ref __binding_0) => {
82usize
}
AttributeKind::RustcConfusables {
symbols: ref __binding_0, first_span: ref __binding_1 } => {
83usize
}
AttributeKind::RustcConstStability {
stability: ref __binding_0, span: ref __binding_1 } => {
84usize
}
AttributeKind::RustcConstStabilityIndirect => { 85usize }
AttributeKind::RustcDeallocator => { 86usize }
AttributeKind::RustcDenyExplicitImpl(ref __binding_0) => {
87usize
}
AttributeKind::RustcDummy => { 88usize }
AttributeKind::RustcDumpDefParents => { 89usize }
AttributeKind::RustcDumpItemBounds => { 90usize }
AttributeKind::RustcDumpPredicates => { 91usize }
AttributeKind::RustcDumpUserArgs => { 92usize }
AttributeKind::RustcDumpVtable(ref __binding_0) => {
93usize
}
AttributeKind::RustcDynIncompatibleTrait(ref __binding_0) =>
{
94usize
}
AttributeKind::RustcEffectiveVisibility => { 95usize }
AttributeKind::RustcHasIncoherentInherentImpls => {
96usize
}
AttributeKind::RustcHiddenTypeOfOpaques => { 97usize }
AttributeKind::RustcIfThisChanged(ref __binding_0,
ref __binding_1) => {
98usize
}
AttributeKind::RustcLayout(ref __binding_0) => { 99usize }
AttributeKind::RustcLayoutScalarValidRangeEnd(ref __binding_0,
ref __binding_1) => {
100usize
}
AttributeKind::RustcLayoutScalarValidRangeStart(ref __binding_0,
ref __binding_1) => {
101usize
}
AttributeKind::RustcLegacyConstGenerics {
fn_indexes: ref __binding_0, attr_span: ref __binding_1 } =>
{
102usize
}
AttributeKind::RustcLintOptDenyFieldAccess {
lint_message: ref __binding_0 } => {
103usize
}
AttributeKind::RustcLintOptTy => { 104usize }
AttributeKind::RustcLintQueryInstability => { 105usize }
AttributeKind::RustcLintUntrackedQueryInformation => {
106usize
}
AttributeKind::RustcMacroTransparency(ref __binding_0) => {
107usize
}
AttributeKind::RustcMain => { 108usize }
AttributeKind::RustcMir(ref __binding_0) => { 109usize }
AttributeKind::RustcMustImplementOneOf {
attr_span: ref __binding_0, fn_names: ref __binding_1 } => {
110usize
}
AttributeKind::RustcNeverReturnsNullPointer => { 111usize }
AttributeKind::RustcNoImplicitAutorefs => { 112usize }
AttributeKind::RustcNonConstTraitMethod => { 113usize }
AttributeKind::RustcNounwind => { 114usize }
AttributeKind::RustcObjcClass {
classname: ref __binding_0, span: ref __binding_1 } => {
115usize
}
AttributeKind::RustcObjcSelector {
methname: ref __binding_0, span: ref __binding_1 } => {
116usize
}
AttributeKind::RustcObjectLifetimeDefault => { 117usize }
AttributeKind::RustcOffloadKernel => { 118usize }
AttributeKind::RustcParenSugar(ref __binding_0) => {
119usize
}
AttributeKind::RustcPassByValue(ref __binding_0) => {
120usize
}
AttributeKind::RustcPassIndirectlyInNonRusticAbis(ref __binding_0)
=> {
121usize
}
AttributeKind::RustcPreserveUbChecks => { 122usize }
AttributeKind::RustcPubTransparent(ref __binding_0) => {
123usize
}
AttributeKind::RustcReallocator => { 124usize }
AttributeKind::RustcScalableVector {
element_count: ref __binding_0, span: ref __binding_1 } => {
125usize
}
AttributeKind::RustcShouldNotBeCalledOnConstItems(ref __binding_0)
=> {
126usize
}
AttributeKind::RustcSimdMonomorphizeLaneLimit(ref __binding_0)
=> {
127usize
}
AttributeKind::RustcSkipDuringMethodDispatch {
array: ref __binding_0,
boxed_slice: ref __binding_1,
span: ref __binding_2 } => {
128usize
}
AttributeKind::RustcSpecializationTrait(ref __binding_0) =>
{
129usize
}
AttributeKind::RustcStdInternalSymbol(ref __binding_0) => {
130usize
}
AttributeKind::RustcThenThisWouldNeed(ref __binding_0,
ref __binding_1) => {
131usize
}
AttributeKind::RustcUnsafeSpecializationMarker(ref __binding_0)
=> {
132usize
}
AttributeKind::RustcVariance => { 133usize }
AttributeKind::RustcVarianceOfOpaques => { 134usize }
AttributeKind::Sanitize {
on_set: ref __binding_0,
off_set: ref __binding_1,
rtsan: ref __binding_2,
span: ref __binding_3 } => {
135usize
}
AttributeKind::ShouldPanic {
reason: ref __binding_0, span: ref __binding_1 } => {
136usize
}
AttributeKind::Stability {
stability: ref __binding_0, span: ref __binding_1 } => {
137usize
}
AttributeKind::TargetFeature {
features: ref __binding_0,
attr_span: ref __binding_1,
was_forced: ref __binding_2 } => {
138usize
}
AttributeKind::ThreadLocal => { 139usize }
AttributeKind::TrackCaller(ref __binding_0) => { 140usize }
AttributeKind::TypeConst(ref __binding_0) => { 141usize }
AttributeKind::TypeLengthLimit {
attr_span: ref __binding_0,
limit_span: ref __binding_1,
limit: ref __binding_2 } => {
142usize
}
AttributeKind::UnstableFeatureBound(ref __binding_0) => {
143usize
}
AttributeKind::Used {
used_by: ref __binding_0, span: ref __binding_1 } => {
144usize
}
AttributeKind::WindowsSubsystem(ref __binding_0,
ref __binding_1) => {
145usize
}
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
AttributeKind::Align {
align: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::AllowInternalUnsafe(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::AllowInternalUnstable(ref __binding_0,
ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::AutomaticallyDerived(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::CfgAttrTrace => {}
AttributeKind::CfgTrace(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::CfiEncoding { encoding: ref __binding_0 } =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Cold(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::CollapseDebugInfo(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::CompilerBuiltins => {}
AttributeKind::ConstContinue(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Coroutine(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Coverage(ref __binding_0, ref __binding_1) =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::CrateName {
name: ref __binding_0,
name_span: ref __binding_1,
attr_span: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
AttributeKind::CrateType(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::CustomMir(ref __binding_0, ref __binding_1,
ref __binding_2) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
AttributeKind::DebuggerVisualizer(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Deprecation {
deprecation: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::DoNotRecommend { attr_span: ref __binding_0 }
=> {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Doc(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::DocComment {
style: ref __binding_0,
kind: ref __binding_1,
span: ref __binding_2,
comment: ref __binding_3 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_3,
__encoder);
}
AttributeKind::EiiDeclaration(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::EiiForeignItem => {}
AttributeKind::EiiImpls(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::ExportName {
name: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::ExportStable => {}
AttributeKind::FfiConst(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::FfiPure(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Fundamental => {}
AttributeKind::Ignore {
span: ref __binding_0, reason: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::Inline(ref __binding_0, ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::InstructionSet(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Link(ref __binding_0, ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::LinkName {
name: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::LinkOrdinal {
ordinal: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::LinkSection {
name: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::Linkage(ref __binding_0, ref __binding_1) =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::LoopMatch(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::MacroEscape(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::MacroExport {
span: ref __binding_0, local_inner_macros: ref __binding_1 }
=> {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::MacroUse {
span: ref __binding_0, arguments: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::Marker(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::MayDangle(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::MoveSizeLimit {
attr_span: ref __binding_0,
limit_span: ref __binding_1,
limit: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
AttributeKind::MustNotSupend { reason: ref __binding_0 } =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::MustUse {
span: ref __binding_0, reason: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::Naked(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::NeedsAllocator => {}
AttributeKind::NeedsPanicRuntime => {}
AttributeKind::NoBuiltins => {}
AttributeKind::NoCore(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::NoImplicitPrelude(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::NoLink => {}
AttributeKind::NoMain => {}
AttributeKind::NoMangle(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::NoStd(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::NonExhaustive(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Optimize(ref __binding_0, ref __binding_1) =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::PanicRuntime => {}
AttributeKind::PatchableFunctionEntry {
prefix: ref __binding_0, entry: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::Path(ref __binding_0, ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::PatternComplexityLimit {
attr_span: ref __binding_0,
limit_span: ref __binding_1,
limit: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
AttributeKind::PinV2(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Pointee(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::ProcMacro(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::ProcMacroAttribute(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::ProcMacroDerive {
trait_name: ref __binding_0,
helper_attrs: ref __binding_1,
span: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
AttributeKind::ProfilerRuntime => {}
AttributeKind::RecursionLimit {
attr_span: ref __binding_0,
limit_span: ref __binding_1,
limit: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
AttributeKind::ReexportTestHarnessMain(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Repr {
reprs: ref __binding_0, first_span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcAbi {
attr_span: ref __binding_0, kind: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcAllocator => {}
AttributeKind::RustcAllocatorZeroed => {}
AttributeKind::RustcAllocatorZeroedVariant {
name: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcAllowConstFnUnstable(ref __binding_0,
ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcAllowIncoherentImpl(ref __binding_0) =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcAsPtr(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcBodyStability {
stability: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcBuiltinMacro {
builtin_name: ref __binding_0,
helper_attrs: ref __binding_1,
span: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
AttributeKind::RustcClean(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcCoherenceIsCore(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcCoinductive(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcConfusables {
symbols: ref __binding_0, first_span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcConstStability {
stability: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcConstStabilityIndirect => {}
AttributeKind::RustcDeallocator => {}
AttributeKind::RustcDenyExplicitImpl(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcDummy => {}
AttributeKind::RustcDumpDefParents => {}
AttributeKind::RustcDumpItemBounds => {}
AttributeKind::RustcDumpPredicates => {}
AttributeKind::RustcDumpUserArgs => {}
AttributeKind::RustcDumpVtable(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcDynIncompatibleTrait(ref __binding_0) =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcEffectiveVisibility => {}
AttributeKind::RustcHasIncoherentInherentImpls => {}
AttributeKind::RustcHiddenTypeOfOpaques => {}
AttributeKind::RustcIfThisChanged(ref __binding_0,
ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcLayout(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcLayoutScalarValidRangeEnd(ref __binding_0,
ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcLayoutScalarValidRangeStart(ref __binding_0,
ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcLegacyConstGenerics {
fn_indexes: ref __binding_0, attr_span: ref __binding_1 } =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcLintOptDenyFieldAccess {
lint_message: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcLintOptTy => {}
AttributeKind::RustcLintQueryInstability => {}
AttributeKind::RustcLintUntrackedQueryInformation => {}
AttributeKind::RustcMacroTransparency(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcMain => {}
AttributeKind::RustcMir(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcMustImplementOneOf {
attr_span: ref __binding_0, fn_names: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcNeverReturnsNullPointer => {}
AttributeKind::RustcNoImplicitAutorefs => {}
AttributeKind::RustcNonConstTraitMethod => {}
AttributeKind::RustcNounwind => {}
AttributeKind::RustcObjcClass {
classname: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcObjcSelector {
methname: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcObjectLifetimeDefault => {}
AttributeKind::RustcOffloadKernel => {}
AttributeKind::RustcParenSugar(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcPassByValue(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcPassIndirectlyInNonRusticAbis(ref __binding_0)
=> {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcPreserveUbChecks => {}
AttributeKind::RustcPubTransparent(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcReallocator => {}
AttributeKind::RustcScalableVector {
element_count: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcShouldNotBeCalledOnConstItems(ref __binding_0)
=> {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcSimdMonomorphizeLaneLimit(ref __binding_0)
=> {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcSkipDuringMethodDispatch {
array: ref __binding_0,
boxed_slice: ref __binding_1,
span: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
AttributeKind::RustcSpecializationTrait(ref __binding_0) =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcStdInternalSymbol(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcThenThisWouldNeed(ref __binding_0,
ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcUnsafeSpecializationMarker(ref __binding_0)
=> {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcVariance => {}
AttributeKind::RustcVarianceOfOpaques => {}
AttributeKind::Sanitize {
on_set: ref __binding_0,
off_set: ref __binding_1,
rtsan: ref __binding_2,
span: ref __binding_3 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_3,
__encoder);
}
AttributeKind::ShouldPanic {
reason: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::Stability {
stability: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::TargetFeature {
features: ref __binding_0,
attr_span: ref __binding_1,
was_forced: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
AttributeKind::ThreadLocal => {}
AttributeKind::TrackCaller(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::TypeConst(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::TypeLengthLimit {
attr_span: ref __binding_0,
limit_span: ref __binding_1,
limit: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
AttributeKind::UnstableFeatureBound(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Used {
used_by: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::WindowsSubsystem(ref __binding_0,
ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for AttributeKind {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => {
AttributeKind::Align {
align: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
1usize => {
AttributeKind::AllowInternalUnsafe(::rustc_serialize::Decodable::decode(__decoder))
}
2usize => {
AttributeKind::AllowInternalUnstable(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
3usize => {
AttributeKind::AutomaticallyDerived(::rustc_serialize::Decodable::decode(__decoder))
}
4usize => { AttributeKind::CfgAttrTrace }
5usize => {
AttributeKind::CfgTrace(::rustc_serialize::Decodable::decode(__decoder))
}
6usize => {
AttributeKind::CfiEncoding {
encoding: ::rustc_serialize::Decodable::decode(__decoder),
}
}
7usize => {
AttributeKind::Cold(::rustc_serialize::Decodable::decode(__decoder))
}
8usize => {
AttributeKind::CollapseDebugInfo(::rustc_serialize::Decodable::decode(__decoder))
}
9usize => { AttributeKind::CompilerBuiltins }
10usize => {
AttributeKind::ConstContinue(::rustc_serialize::Decodable::decode(__decoder))
}
11usize => {
AttributeKind::Coroutine(::rustc_serialize::Decodable::decode(__decoder))
}
12usize => {
AttributeKind::Coverage(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
13usize => {
AttributeKind::CrateName {
name: ::rustc_serialize::Decodable::decode(__decoder),
name_span: ::rustc_serialize::Decodable::decode(__decoder),
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
14usize => {
AttributeKind::CrateType(::rustc_serialize::Decodable::decode(__decoder))
}
15usize => {
AttributeKind::CustomMir(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
16usize => {
AttributeKind::DebuggerVisualizer(::rustc_serialize::Decodable::decode(__decoder))
}
17usize => {
AttributeKind::Deprecation {
deprecation: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
18usize => {
AttributeKind::DoNotRecommend {
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
19usize => {
AttributeKind::Doc(::rustc_serialize::Decodable::decode(__decoder))
}
20usize => {
AttributeKind::DocComment {
style: ::rustc_serialize::Decodable::decode(__decoder),
kind: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
comment: ::rustc_serialize::Decodable::decode(__decoder),
}
}
21usize => {
AttributeKind::EiiDeclaration(::rustc_serialize::Decodable::decode(__decoder))
}
22usize => { AttributeKind::EiiForeignItem }
23usize => {
AttributeKind::EiiImpls(::rustc_serialize::Decodable::decode(__decoder))
}
24usize => {
AttributeKind::ExportName {
name: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
25usize => { AttributeKind::ExportStable }
26usize => {
AttributeKind::FfiConst(::rustc_serialize::Decodable::decode(__decoder))
}
27usize => {
AttributeKind::FfiPure(::rustc_serialize::Decodable::decode(__decoder))
}
28usize => { AttributeKind::Fundamental }
29usize => {
AttributeKind::Ignore {
span: ::rustc_serialize::Decodable::decode(__decoder),
reason: ::rustc_serialize::Decodable::decode(__decoder),
}
}
30usize => {
AttributeKind::Inline(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
31usize => {
AttributeKind::InstructionSet(::rustc_serialize::Decodable::decode(__decoder))
}
32usize => {
AttributeKind::Link(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
33usize => {
AttributeKind::LinkName {
name: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
34usize => {
AttributeKind::LinkOrdinal {
ordinal: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
35usize => {
AttributeKind::LinkSection {
name: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
36usize => {
AttributeKind::Linkage(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
37usize => {
AttributeKind::LoopMatch(::rustc_serialize::Decodable::decode(__decoder))
}
38usize => {
AttributeKind::MacroEscape(::rustc_serialize::Decodable::decode(__decoder))
}
39usize => {
AttributeKind::MacroExport {
span: ::rustc_serialize::Decodable::decode(__decoder),
local_inner_macros: ::rustc_serialize::Decodable::decode(__decoder),
}
}
40usize => {
AttributeKind::MacroUse {
span: ::rustc_serialize::Decodable::decode(__decoder),
arguments: ::rustc_serialize::Decodable::decode(__decoder),
}
}
41usize => {
AttributeKind::Marker(::rustc_serialize::Decodable::decode(__decoder))
}
42usize => {
AttributeKind::MayDangle(::rustc_serialize::Decodable::decode(__decoder))
}
43usize => {
AttributeKind::MoveSizeLimit {
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
limit_span: ::rustc_serialize::Decodable::decode(__decoder),
limit: ::rustc_serialize::Decodable::decode(__decoder),
}
}
44usize => {
AttributeKind::MustNotSupend {
reason: ::rustc_serialize::Decodable::decode(__decoder),
}
}
45usize => {
AttributeKind::MustUse {
span: ::rustc_serialize::Decodable::decode(__decoder),
reason: ::rustc_serialize::Decodable::decode(__decoder),
}
}
46usize => {
AttributeKind::Naked(::rustc_serialize::Decodable::decode(__decoder))
}
47usize => { AttributeKind::NeedsAllocator }
48usize => { AttributeKind::NeedsPanicRuntime }
49usize => { AttributeKind::NoBuiltins }
50usize => {
AttributeKind::NoCore(::rustc_serialize::Decodable::decode(__decoder))
}
51usize => {
AttributeKind::NoImplicitPrelude(::rustc_serialize::Decodable::decode(__decoder))
}
52usize => { AttributeKind::NoLink }
53usize => { AttributeKind::NoMain }
54usize => {
AttributeKind::NoMangle(::rustc_serialize::Decodable::decode(__decoder))
}
55usize => {
AttributeKind::NoStd(::rustc_serialize::Decodable::decode(__decoder))
}
56usize => {
AttributeKind::NonExhaustive(::rustc_serialize::Decodable::decode(__decoder))
}
57usize => {
AttributeKind::Optimize(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
58usize => { AttributeKind::PanicRuntime }
59usize => {
AttributeKind::PatchableFunctionEntry {
prefix: ::rustc_serialize::Decodable::decode(__decoder),
entry: ::rustc_serialize::Decodable::decode(__decoder),
}
}
60usize => {
AttributeKind::Path(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
61usize => {
AttributeKind::PatternComplexityLimit {
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
limit_span: ::rustc_serialize::Decodable::decode(__decoder),
limit: ::rustc_serialize::Decodable::decode(__decoder),
}
}
62usize => {
AttributeKind::PinV2(::rustc_serialize::Decodable::decode(__decoder))
}
63usize => {
AttributeKind::Pointee(::rustc_serialize::Decodable::decode(__decoder))
}
64usize => {
AttributeKind::ProcMacro(::rustc_serialize::Decodable::decode(__decoder))
}
65usize => {
AttributeKind::ProcMacroAttribute(::rustc_serialize::Decodable::decode(__decoder))
}
66usize => {
AttributeKind::ProcMacroDerive {
trait_name: ::rustc_serialize::Decodable::decode(__decoder),
helper_attrs: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
67usize => { AttributeKind::ProfilerRuntime }
68usize => {
AttributeKind::RecursionLimit {
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
limit_span: ::rustc_serialize::Decodable::decode(__decoder),
limit: ::rustc_serialize::Decodable::decode(__decoder),
}
}
69usize => {
AttributeKind::ReexportTestHarnessMain(::rustc_serialize::Decodable::decode(__decoder))
}
70usize => {
AttributeKind::Repr {
reprs: ::rustc_serialize::Decodable::decode(__decoder),
first_span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
71usize => {
AttributeKind::RustcAbi {
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
kind: ::rustc_serialize::Decodable::decode(__decoder),
}
}
72usize => { AttributeKind::RustcAllocator }
73usize => { AttributeKind::RustcAllocatorZeroed }
74usize => {
AttributeKind::RustcAllocatorZeroedVariant {
name: ::rustc_serialize::Decodable::decode(__decoder),
}
}
75usize => {
AttributeKind::RustcAllowConstFnUnstable(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
76usize => {
AttributeKind::RustcAllowIncoherentImpl(::rustc_serialize::Decodable::decode(__decoder))
}
77usize => {
AttributeKind::RustcAsPtr(::rustc_serialize::Decodable::decode(__decoder))
}
78usize => {
AttributeKind::RustcBodyStability {
stability: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
79usize => {
AttributeKind::RustcBuiltinMacro {
builtin_name: ::rustc_serialize::Decodable::decode(__decoder),
helper_attrs: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
80usize => {
AttributeKind::RustcClean(::rustc_serialize::Decodable::decode(__decoder))
}
81usize => {
AttributeKind::RustcCoherenceIsCore(::rustc_serialize::Decodable::decode(__decoder))
}
82usize => {
AttributeKind::RustcCoinductive(::rustc_serialize::Decodable::decode(__decoder))
}
83usize => {
AttributeKind::RustcConfusables {
symbols: ::rustc_serialize::Decodable::decode(__decoder),
first_span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
84usize => {
AttributeKind::RustcConstStability {
stability: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
85usize => { AttributeKind::RustcConstStabilityIndirect }
86usize => { AttributeKind::RustcDeallocator }
87usize => {
AttributeKind::RustcDenyExplicitImpl(::rustc_serialize::Decodable::decode(__decoder))
}
88usize => { AttributeKind::RustcDummy }
89usize => { AttributeKind::RustcDumpDefParents }
90usize => { AttributeKind::RustcDumpItemBounds }
91usize => { AttributeKind::RustcDumpPredicates }
92usize => { AttributeKind::RustcDumpUserArgs }
93usize => {
AttributeKind::RustcDumpVtable(::rustc_serialize::Decodable::decode(__decoder))
}
94usize => {
AttributeKind::RustcDynIncompatibleTrait(::rustc_serialize::Decodable::decode(__decoder))
}
95usize => { AttributeKind::RustcEffectiveVisibility }
96usize => {
AttributeKind::RustcHasIncoherentInherentImpls
}
97usize => { AttributeKind::RustcHiddenTypeOfOpaques }
98usize => {
AttributeKind::RustcIfThisChanged(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
99usize => {
AttributeKind::RustcLayout(::rustc_serialize::Decodable::decode(__decoder))
}
100usize => {
AttributeKind::RustcLayoutScalarValidRangeEnd(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
101usize => {
AttributeKind::RustcLayoutScalarValidRangeStart(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
102usize => {
AttributeKind::RustcLegacyConstGenerics {
fn_indexes: ::rustc_serialize::Decodable::decode(__decoder),
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
103usize => {
AttributeKind::RustcLintOptDenyFieldAccess {
lint_message: ::rustc_serialize::Decodable::decode(__decoder),
}
}
104usize => { AttributeKind::RustcLintOptTy }
105usize => { AttributeKind::RustcLintQueryInstability }
106usize => {
AttributeKind::RustcLintUntrackedQueryInformation
}
107usize => {
AttributeKind::RustcMacroTransparency(::rustc_serialize::Decodable::decode(__decoder))
}
108usize => { AttributeKind::RustcMain }
109usize => {
AttributeKind::RustcMir(::rustc_serialize::Decodable::decode(__decoder))
}
110usize => {
AttributeKind::RustcMustImplementOneOf {
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
fn_names: ::rustc_serialize::Decodable::decode(__decoder),
}
}
111usize => { AttributeKind::RustcNeverReturnsNullPointer }
112usize => { AttributeKind::RustcNoImplicitAutorefs }
113usize => { AttributeKind::RustcNonConstTraitMethod }
114usize => { AttributeKind::RustcNounwind }
115usize => {
AttributeKind::RustcObjcClass {
classname: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
116usize => {
AttributeKind::RustcObjcSelector {
methname: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
117usize => { AttributeKind::RustcObjectLifetimeDefault }
118usize => { AttributeKind::RustcOffloadKernel }
119usize => {
AttributeKind::RustcParenSugar(::rustc_serialize::Decodable::decode(__decoder))
}
120usize => {
AttributeKind::RustcPassByValue(::rustc_serialize::Decodable::decode(__decoder))
}
121usize => {
AttributeKind::RustcPassIndirectlyInNonRusticAbis(::rustc_serialize::Decodable::decode(__decoder))
}
122usize => { AttributeKind::RustcPreserveUbChecks }
123usize => {
AttributeKind::RustcPubTransparent(::rustc_serialize::Decodable::decode(__decoder))
}
124usize => { AttributeKind::RustcReallocator }
125usize => {
AttributeKind::RustcScalableVector {
element_count: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
126usize => {
AttributeKind::RustcShouldNotBeCalledOnConstItems(::rustc_serialize::Decodable::decode(__decoder))
}
127usize => {
AttributeKind::RustcSimdMonomorphizeLaneLimit(::rustc_serialize::Decodable::decode(__decoder))
}
128usize => {
AttributeKind::RustcSkipDuringMethodDispatch {
array: ::rustc_serialize::Decodable::decode(__decoder),
boxed_slice: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
129usize => {
AttributeKind::RustcSpecializationTrait(::rustc_serialize::Decodable::decode(__decoder))
}
130usize => {
AttributeKind::RustcStdInternalSymbol(::rustc_serialize::Decodable::decode(__decoder))
}
131usize => {
AttributeKind::RustcThenThisWouldNeed(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
132usize => {
AttributeKind::RustcUnsafeSpecializationMarker(::rustc_serialize::Decodable::decode(__decoder))
}
133usize => { AttributeKind::RustcVariance }
134usize => { AttributeKind::RustcVarianceOfOpaques }
135usize => {
AttributeKind::Sanitize {
on_set: ::rustc_serialize::Decodable::decode(__decoder),
off_set: ::rustc_serialize::Decodable::decode(__decoder),
rtsan: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
136usize => {
AttributeKind::ShouldPanic {
reason: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
137usize => {
AttributeKind::Stability {
stability: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
138usize => {
AttributeKind::TargetFeature {
features: ::rustc_serialize::Decodable::decode(__decoder),
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
was_forced: ::rustc_serialize::Decodable::decode(__decoder),
}
}
139usize => { AttributeKind::ThreadLocal }
140usize => {
AttributeKind::TrackCaller(::rustc_serialize::Decodable::decode(__decoder))
}
141usize => {
AttributeKind::TypeConst(::rustc_serialize::Decodable::decode(__decoder))
}
142usize => {
AttributeKind::TypeLengthLimit {
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
limit_span: ::rustc_serialize::Decodable::decode(__decoder),
limit: ::rustc_serialize::Decodable::decode(__decoder),
}
}
143usize => {
AttributeKind::UnstableFeatureBound(::rustc_serialize::Decodable::decode(__decoder))
}
144usize => {
AttributeKind::Used {
used_by: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
145usize => {
AttributeKind::WindowsSubsystem(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `AttributeKind`, expected 0..146, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for AttributeKind {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Align { align, span } => {
__p.word("Align");
if true && !align.should_render() && !span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if align.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("align");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
align.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::AllowInternalUnsafe(f0) => {
__p.word("AllowInternalUnsafe");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::AllowInternalUnstable(f0, f1) => {
__p.word("AllowInternalUnstable");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::AutomaticallyDerived(f0) => {
__p.word("AutomaticallyDerived");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::CfgAttrTrace => { __p.word("CfgAttrTrace") }
Self::CfgTrace(f0) => {
__p.word("CfgTrace");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::CfiEncoding { encoding } => {
__p.word("CfiEncoding");
if true && !encoding.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if encoding.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("encoding");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
encoding.print_attribute(__p);
__p.word("}");
}
Self::Cold(f0) => {
__p.word("Cold");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::CollapseDebugInfo(f0) => {
__p.word("CollapseDebugInfo");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::CompilerBuiltins => { __p.word("CompilerBuiltins") }
Self::ConstContinue(f0) => {
__p.word("ConstContinue");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Coroutine(f0) => {
__p.word("Coroutine");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Coverage(f0, f1) => {
__p.word("Coverage");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::CrateName { name, name_span, attr_span } => {
__p.word("CrateName");
if true && !name.should_render() &&
!name_span.should_render() && !attr_span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if name.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("name");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
name.print_attribute(__p);
if name_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("name_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
name_span.print_attribute(__p);
if attr_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_span.print_attribute(__p);
__p.word("}");
}
Self::CrateType(f0) => {
__p.word("CrateType");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::CustomMir(f0, f1, f2) => {
__p.word("CustomMir");
if true && !f0.should_render() && !f1.should_render() &&
!f2.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
if f2.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f2.print_attribute(__p);
__p.pclose();
}
Self::DebuggerVisualizer(f0) => {
__p.word("DebuggerVisualizer");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Deprecation { deprecation, span } => {
__p.word("Deprecation");
if true && !deprecation.should_render() &&
!span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if deprecation.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("deprecation");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
deprecation.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::DoNotRecommend { attr_span } => {
__p.word("DoNotRecommend");
if true && !attr_span.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if attr_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_span.print_attribute(__p);
__p.word("}");
}
Self::Doc(f0) => {
__p.word("Doc");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::DocComment { style, kind, span, comment } => {
__p.word("DocComment");
if true && !style.should_render() && !kind.should_render()
&& !span.should_render() && !comment.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if style.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("style");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
style.print_attribute(__p);
if kind.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("kind");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
kind.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
if comment.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("comment");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
comment.print_attribute(__p);
__p.word("}");
}
Self::EiiDeclaration(f0) => {
__p.word("EiiDeclaration");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::EiiForeignItem => { __p.word("EiiForeignItem") }
Self::EiiImpls(f0) => {
__p.word("EiiImpls");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::ExportName { name, span } => {
__p.word("ExportName");
if true && !name.should_render() && !span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if name.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("name");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
name.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::ExportStable => { __p.word("ExportStable") }
Self::FfiConst(f0) => {
__p.word("FfiConst");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::FfiPure(f0) => {
__p.word("FfiPure");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Fundamental => { __p.word("Fundamental") }
Self::Ignore { span, reason } => {
__p.word("Ignore");
if true && !span.should_render() && !reason.should_render()
{
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
if reason.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("reason");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
reason.print_attribute(__p);
__p.word("}");
}
Self::Inline(f0, f1) => {
__p.word("Inline");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::InstructionSet(f0) => {
__p.word("InstructionSet");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Link(f0, f1) => {
__p.word("Link");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::LinkName { name, span } => {
__p.word("LinkName");
if true && !name.should_render() && !span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if name.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("name");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
name.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::LinkOrdinal { ordinal, span } => {
__p.word("LinkOrdinal");
if true && !ordinal.should_render() && !span.should_render()
{
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if ordinal.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("ordinal");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
ordinal.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::LinkSection { name, span } => {
__p.word("LinkSection");
if true && !name.should_render() && !span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if name.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("name");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
name.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::Linkage(f0, f1) => {
__p.word("Linkage");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::LoopMatch(f0) => {
__p.word("LoopMatch");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::MacroEscape(f0) => {
__p.word("MacroEscape");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::MacroExport { span, local_inner_macros } => {
__p.word("MacroExport");
if true && !span.should_render() &&
!local_inner_macros.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
if local_inner_macros.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("local_inner_macros");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
local_inner_macros.print_attribute(__p);
__p.word("}");
}
Self::MacroUse { span, arguments } => {
__p.word("MacroUse");
if true && !span.should_render() &&
!arguments.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
if arguments.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("arguments");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
arguments.print_attribute(__p);
__p.word("}");
}
Self::Marker(f0) => {
__p.word("Marker");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::MayDangle(f0) => {
__p.word("MayDangle");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::MoveSizeLimit { attr_span, limit_span, limit } => {
__p.word("MoveSizeLimit");
if true && !attr_span.should_render() &&
!limit_span.should_render() && !limit.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if attr_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_span.print_attribute(__p);
if limit_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("limit_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
limit_span.print_attribute(__p);
if limit.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("limit");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
limit.print_attribute(__p);
__p.word("}");
}
Self::MustNotSupend { reason } => {
__p.word("MustNotSupend");
if true && !reason.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if reason.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("reason");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
reason.print_attribute(__p);
__p.word("}");
}
Self::MustUse { span, reason } => {
__p.word("MustUse");
if true && !span.should_render() && !reason.should_render()
{
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
if reason.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("reason");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
reason.print_attribute(__p);
__p.word("}");
}
Self::Naked(f0) => {
__p.word("Naked");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::NeedsAllocator => { __p.word("NeedsAllocator") }
Self::NeedsPanicRuntime => { __p.word("NeedsPanicRuntime") }
Self::NoBuiltins => { __p.word("NoBuiltins") }
Self::NoCore(f0) => {
__p.word("NoCore");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::NoImplicitPrelude(f0) => {
__p.word("NoImplicitPrelude");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::NoLink => { __p.word("NoLink") }
Self::NoMain => { __p.word("NoMain") }
Self::NoMangle(f0) => {
__p.word("NoMangle");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::NoStd(f0) => {
__p.word("NoStd");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::NonExhaustive(f0) => {
__p.word("NonExhaustive");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Optimize(f0, f1) => {
__p.word("Optimize");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::PanicRuntime => { __p.word("PanicRuntime") }
Self::PatchableFunctionEntry { prefix, entry } => {
__p.word("PatchableFunctionEntry");
if true && !prefix.should_render() && !entry.should_render()
{
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if prefix.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("prefix");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
prefix.print_attribute(__p);
if entry.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("entry");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
entry.print_attribute(__p);
__p.word("}");
}
Self::Path(f0, f1) => {
__p.word("Path");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::PatternComplexityLimit { attr_span, limit_span, limit
} => {
__p.word("PatternComplexityLimit");
if true && !attr_span.should_render() &&
!limit_span.should_render() && !limit.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if attr_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_span.print_attribute(__p);
if limit_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("limit_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
limit_span.print_attribute(__p);
if limit.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("limit");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
limit.print_attribute(__p);
__p.word("}");
}
Self::PinV2(f0) => {
__p.word("PinV2");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Pointee(f0) => {
__p.word("Pointee");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::ProcMacro(f0) => {
__p.word("ProcMacro");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::ProcMacroAttribute(f0) => {
__p.word("ProcMacroAttribute");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::ProcMacroDerive { trait_name, helper_attrs, span } =>
{
__p.word("ProcMacroDerive");
if true && !trait_name.should_render() &&
!helper_attrs.should_render() && !span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if trait_name.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("trait_name");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
trait_name.print_attribute(__p);
if helper_attrs.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("helper_attrs");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
helper_attrs.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::ProfilerRuntime => { __p.word("ProfilerRuntime") }
Self::RecursionLimit { attr_span, limit_span, limit } => {
__p.word("RecursionLimit");
if true && !attr_span.should_render() &&
!limit_span.should_render() && !limit.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if attr_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_span.print_attribute(__p);
if limit_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("limit_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
limit_span.print_attribute(__p);
if limit.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("limit");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
limit.print_attribute(__p);
__p.word("}");
}
Self::ReexportTestHarnessMain(f0) => {
__p.word("ReexportTestHarnessMain");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Repr { reprs, first_span } => {
__p.word("Repr");
if true && !reprs.should_render() &&
!first_span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if reprs.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("reprs");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
reprs.print_attribute(__p);
if first_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("first_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
first_span.print_attribute(__p);
__p.word("}");
}
Self::RustcAbi { attr_span, kind } => {
__p.word("RustcAbi");
if true && !attr_span.should_render() &&
!kind.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if attr_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_span.print_attribute(__p);
if kind.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("kind");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
kind.print_attribute(__p);
__p.word("}");
}
Self::RustcAllocator => { __p.word("RustcAllocator") }
Self::RustcAllocatorZeroed => {
__p.word("RustcAllocatorZeroed")
}
Self::RustcAllocatorZeroedVariant { name } => {
__p.word("RustcAllocatorZeroedVariant");
if true && !name.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if name.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("name");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
name.print_attribute(__p);
__p.word("}");
}
Self::RustcAllowConstFnUnstable(f0, f1) => {
__p.word("RustcAllowConstFnUnstable");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::RustcAllowIncoherentImpl(f0) => {
__p.word("RustcAllowIncoherentImpl");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcAsPtr(f0) => {
__p.word("RustcAsPtr");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcBodyStability { stability, span } => {
__p.word("RustcBodyStability");
if true && !stability.should_render() &&
!span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if stability.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("stability");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
stability.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::RustcBuiltinMacro { builtin_name, helper_attrs, span }
=> {
__p.word("RustcBuiltinMacro");
if true && !builtin_name.should_render() &&
!helper_attrs.should_render() && !span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if builtin_name.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("builtin_name");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
builtin_name.print_attribute(__p);
if helper_attrs.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("helper_attrs");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
helper_attrs.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::RustcClean(f0) => {
__p.word("RustcClean");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcCoherenceIsCore(f0) => {
__p.word("RustcCoherenceIsCore");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcCoinductive(f0) => {
__p.word("RustcCoinductive");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcConfusables { symbols, first_span } => {
__p.word("RustcConfusables");
if true && !symbols.should_render() &&
!first_span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if symbols.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("symbols");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
symbols.print_attribute(__p);
if first_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("first_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
first_span.print_attribute(__p);
__p.word("}");
}
Self::RustcConstStability { stability, span } => {
__p.word("RustcConstStability");
if true && !stability.should_render() &&
!span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if stability.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("stability");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
stability.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::RustcConstStabilityIndirect => {
__p.word("RustcConstStabilityIndirect")
}
Self::RustcDeallocator => { __p.word("RustcDeallocator") }
Self::RustcDenyExplicitImpl(f0) => {
__p.word("RustcDenyExplicitImpl");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcDummy => { __p.word("RustcDummy") }
Self::RustcDumpDefParents => {
__p.word("RustcDumpDefParents")
}
Self::RustcDumpItemBounds => {
__p.word("RustcDumpItemBounds")
}
Self::RustcDumpPredicates => {
__p.word("RustcDumpPredicates")
}
Self::RustcDumpUserArgs => { __p.word("RustcDumpUserArgs") }
Self::RustcDumpVtable(f0) => {
__p.word("RustcDumpVtable");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcDynIncompatibleTrait(f0) => {
__p.word("RustcDynIncompatibleTrait");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcEffectiveVisibility => {
__p.word("RustcEffectiveVisibility")
}
Self::RustcHasIncoherentInherentImpls => {
__p.word("RustcHasIncoherentInherentImpls")
}
Self::RustcHiddenTypeOfOpaques => {
__p.word("RustcHiddenTypeOfOpaques")
}
Self::RustcIfThisChanged(f0, f1) => {
__p.word("RustcIfThisChanged");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::RustcLayout(f0) => {
__p.word("RustcLayout");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcLayoutScalarValidRangeEnd(f0, f1) => {
__p.word("RustcLayoutScalarValidRangeEnd");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::RustcLayoutScalarValidRangeStart(f0, f1) => {
__p.word("RustcLayoutScalarValidRangeStart");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::RustcLegacyConstGenerics { fn_indexes, attr_span } =>
{
__p.word("RustcLegacyConstGenerics");
if true && !fn_indexes.should_render() &&
!attr_span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if fn_indexes.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("fn_indexes");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
fn_indexes.print_attribute(__p);
if attr_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_span.print_attribute(__p);
__p.word("}");
}
Self::RustcLintOptDenyFieldAccess { lint_message } => {
__p.word("RustcLintOptDenyFieldAccess");
if true && !lint_message.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if lint_message.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("lint_message");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
lint_message.print_attribute(__p);
__p.word("}");
}
Self::RustcLintOptTy => { __p.word("RustcLintOptTy") }
Self::RustcLintQueryInstability => {
__p.word("RustcLintQueryInstability")
}
Self::RustcLintUntrackedQueryInformation => {
__p.word("RustcLintUntrackedQueryInformation")
}
Self::RustcMacroTransparency(f0) => {
__p.word("RustcMacroTransparency");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcMain => { __p.word("RustcMain") }
Self::RustcMir(f0) => {
__p.word("RustcMir");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcMustImplementOneOf { attr_span, fn_names } => {
__p.word("RustcMustImplementOneOf");
if true && !attr_span.should_render() &&
!fn_names.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if attr_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_span.print_attribute(__p);
if fn_names.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("fn_names");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
fn_names.print_attribute(__p);
__p.word("}");
}
Self::RustcNeverReturnsNullPointer => {
__p.word("RustcNeverReturnsNullPointer")
}
Self::RustcNoImplicitAutorefs => {
__p.word("RustcNoImplicitAutorefs")
}
Self::RustcNonConstTraitMethod => {
__p.word("RustcNonConstTraitMethod")
}
Self::RustcNounwind => { __p.word("RustcNounwind") }
Self::RustcObjcClass { classname, span } => {
__p.word("RustcObjcClass");
if true && !classname.should_render() &&
!span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if classname.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("classname");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
classname.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::RustcObjcSelector { methname, span } => {
__p.word("RustcObjcSelector");
if true && !methname.should_render() &&
!span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if methname.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("methname");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
methname.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::RustcObjectLifetimeDefault => {
__p.word("RustcObjectLifetimeDefault")
}
Self::RustcOffloadKernel => {
__p.word("RustcOffloadKernel")
}
Self::RustcParenSugar(f0) => {
__p.word("RustcParenSugar");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcPassByValue(f0) => {
__p.word("RustcPassByValue");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcPassIndirectlyInNonRusticAbis(f0) => {
__p.word("RustcPassIndirectlyInNonRusticAbis");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcPreserveUbChecks => {
__p.word("RustcPreserveUbChecks")
}
Self::RustcPubTransparent(f0) => {
__p.word("RustcPubTransparent");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcReallocator => { __p.word("RustcReallocator") }
Self::RustcScalableVector { element_count, span } => {
__p.word("RustcScalableVector");
if true && !element_count.should_render() &&
!span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if element_count.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("element_count");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
element_count.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::RustcShouldNotBeCalledOnConstItems(f0) => {
__p.word("RustcShouldNotBeCalledOnConstItems");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcSimdMonomorphizeLaneLimit(f0) => {
__p.word("RustcSimdMonomorphizeLaneLimit");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcSkipDuringMethodDispatch {
array, boxed_slice, span } => {
__p.word("RustcSkipDuringMethodDispatch");
if true && !array.should_render() &&
!boxed_slice.should_render() && !span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if array.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("array");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
array.print_attribute(__p);
if boxed_slice.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("boxed_slice");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
boxed_slice.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::RustcSpecializationTrait(f0) => {
__p.word("RustcSpecializationTrait");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcStdInternalSymbol(f0) => {
__p.word("RustcStdInternalSymbol");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcThenThisWouldNeed(f0, f1) => {
__p.word("RustcThenThisWouldNeed");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::RustcUnsafeSpecializationMarker(f0) => {
__p.word("RustcUnsafeSpecializationMarker");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcVariance => { __p.word("RustcVariance") }
Self::RustcVarianceOfOpaques => {
__p.word("RustcVarianceOfOpaques")
}
Self::Sanitize { on_set, off_set, rtsan, span } => {
__p.word("Sanitize");
if true && !on_set.should_render() &&
!off_set.should_render() && !rtsan.should_render() &&
!span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if on_set.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("on_set");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
on_set.print_attribute(__p);
if off_set.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("off_set");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
off_set.print_attribute(__p);
if rtsan.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("rtsan");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
rtsan.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::ShouldPanic { reason, span } => {
__p.word("ShouldPanic");
if true && !reason.should_render() && !span.should_render()
{
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if reason.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("reason");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
reason.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::Stability { stability, span } => {
__p.word("Stability");
if true && !stability.should_render() &&
!span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if stability.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("stability");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
stability.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::TargetFeature { features, attr_span, was_forced } => {
__p.word("TargetFeature");
if true && !features.should_render() &&
!attr_span.should_render() && !was_forced.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if features.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("features");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
features.print_attribute(__p);
if attr_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_span.print_attribute(__p);
if was_forced.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("was_forced");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
was_forced.print_attribute(__p);
__p.word("}");
}
Self::ThreadLocal => { __p.word("ThreadLocal") }
Self::TrackCaller(f0) => {
__p.word("TrackCaller");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::TypeConst(f0) => {
__p.word("TypeConst");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::TypeLengthLimit { attr_span, limit_span, limit } => {
__p.word("TypeLengthLimit");
if true && !attr_span.should_render() &&
!limit_span.should_render() && !limit.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if attr_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_span.print_attribute(__p);
if limit_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("limit_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
limit_span.print_attribute(__p);
if limit.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("limit");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
limit.print_attribute(__p);
__p.word("}");
}
Self::UnstableFeatureBound(f0) => {
__p.word("UnstableFeatureBound");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Used { used_by, span } => {
__p.word("Used");
if true && !used_by.should_render() && !span.should_render()
{
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if used_by.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("used_by");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
used_by.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::WindowsSubsystem(f0, f1) => {
__p.word("WindowsSubsystem");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
}
}
}
};PrintAttribute)]
794pub enum AttributeKind {
795 Align { align: Align, span: Span },
799
800 AllowInternalUnsafe(Span),
802
803 AllowInternalUnstable(ThinVec<(Symbol, Span)>, Span),
805
806 AutomaticallyDerived(Span),
808
809 CfgAttrTrace,
811
812 CfgTrace(ThinVec<(CfgEntry, Span)>),
814
815 CfiEncoding { encoding: Symbol },
817
818 Cold(Span),
820
821 CollapseDebugInfo(CollapseMacroDebuginfo),
823
824 CompilerBuiltins,
826
827 ConstContinue(Span),
829
830 Coroutine(Span),
832
833 Coverage(Span, CoverageAttrKind),
835
836 CrateName { name: Symbol, name_span: Span, attr_span: Span },
838
839 CrateType(ThinVec<CrateType>),
841
842 CustomMir(Option<(MirDialect, Span)>, Option<(MirPhase, Span)>, Span),
844
845 DebuggerVisualizer(ThinVec<DebugVisualizer>),
847
848 Deprecation { deprecation: Deprecation, span: Span },
850
851 DoNotRecommend { attr_span: Span },
853
854 Doc(Box<DocAttribute>),
858
859 DocComment { style: AttrStyle, kind: DocFragmentKind, span: Span, comment: Symbol },
862
863 EiiDeclaration(EiiDecl),
865
866 EiiForeignItem,
868
869 EiiImpls(ThinVec<EiiImpl>),
871
872 ExportName {
874 name: Symbol,
877 span: Span,
878 },
879
880 ExportStable,
882
883 FfiConst(Span),
885
886 FfiPure(Span),
888
889 Fundamental,
891
892 Ignore {
894 span: Span,
895 reason: Option<Symbol>,
897 },
898
899 Inline(InlineAttr, Span),
901
902 InstructionSet(InstructionSetAttr),
904
905 Link(ThinVec<LinkEntry>, Span),
907
908 LinkName { name: Symbol, span: Span },
910
911 LinkOrdinal { ordinal: u16, span: Span },
913
914 LinkSection { name: Symbol, span: Span },
916
917 Linkage(Linkage, Span),
919
920 LoopMatch(Span),
922
923 MacroEscape(Span),
925
926 MacroExport { span: Span, local_inner_macros: bool },
928
929 MacroUse { span: Span, arguments: MacroUseArgs },
931
932 Marker(Span),
934
935 MayDangle(Span),
937
938 MoveSizeLimit { attr_span: Span, limit_span: Span, limit: Limit },
940
941 MustNotSupend { reason: Option<Symbol> },
943
944 MustUse {
946 span: Span,
947 reason: Option<Symbol>,
949 },
950
951 Naked(Span),
953
954 NeedsAllocator,
956
957 NeedsPanicRuntime,
959
960 NoBuiltins,
962
963 NoCore(Span),
965
966 NoImplicitPrelude(Span),
968
969 NoLink,
971
972 NoMain,
974
975 NoMangle(Span),
977
978 NoStd(Span),
980
981 NonExhaustive(Span),
983
984 Optimize(OptimizeAttr, Span),
986
987 PanicRuntime,
989
990 PatchableFunctionEntry { prefix: u8, entry: u8 },
992
993 Path(Symbol, Span),
995
996 PatternComplexityLimit { attr_span: Span, limit_span: Span, limit: Limit },
998
999 PinV2(Span),
1001
1002 Pointee(Span),
1004
1005 ProcMacro(Span),
1007
1008 ProcMacroAttribute(Span),
1010
1011 ProcMacroDerive { trait_name: Symbol, helper_attrs: ThinVec<Symbol>, span: Span },
1013
1014 ProfilerRuntime,
1016
1017 RecursionLimit { attr_span: Span, limit_span: Span, limit: Limit },
1019
1020 ReexportTestHarnessMain(Symbol),
1022
1023 Repr { reprs: ThinVec<(ReprAttr, Span)>, first_span: Span },
1025
1026 RustcAbi { attr_span: Span, kind: RustcAbiAttrKind },
1028
1029 RustcAllocator,
1031
1032 RustcAllocatorZeroed,
1034
1035 RustcAllocatorZeroedVariant { name: Symbol },
1037
1038 RustcAllowConstFnUnstable(ThinVec<Symbol>, Span),
1040
1041 RustcAllowIncoherentImpl(Span),
1043
1044 RustcAsPtr(Span),
1046
1047 RustcBodyStability {
1049 stability: DefaultBodyStability,
1050 span: Span,
1052 },
1053 RustcBuiltinMacro { builtin_name: Option<Symbol>, helper_attrs: ThinVec<Symbol>, span: Span },
1055
1056 RustcClean(ThinVec<RustcCleanAttribute>),
1058
1059 RustcCoherenceIsCore(Span),
1061
1062 RustcCoinductive(Span),
1064
1065 RustcConfusables {
1067 symbols: ThinVec<Symbol>,
1068 first_span: Span,
1070 },
1071 RustcConstStability {
1073 stability: PartialConstStability,
1074 span: Span,
1076 },
1077
1078 RustcConstStabilityIndirect,
1080
1081 RustcDeallocator,
1083
1084 RustcDenyExplicitImpl(Span),
1086
1087 RustcDummy,
1089
1090 RustcDumpDefParents,
1092
1093 RustcDumpItemBounds,
1095
1096 RustcDumpPredicates,
1098
1099 RustcDumpUserArgs,
1101
1102 RustcDumpVtable(Span),
1104
1105 RustcDynIncompatibleTrait(Span),
1107
1108 RustcEffectiveVisibility,
1110
1111 RustcHasIncoherentInherentImpls,
1113
1114 RustcHiddenTypeOfOpaques,
1116
1117 RustcIfThisChanged(Span, Option<Symbol>),
1119
1120 RustcLayout(ThinVec<RustcLayoutType>),
1122
1123 RustcLayoutScalarValidRangeEnd(Box<u128>, Span),
1125
1126 RustcLayoutScalarValidRangeStart(Box<u128>, Span),
1128
1129 RustcLegacyConstGenerics { fn_indexes: ThinVec<(usize, Span)>, attr_span: Span },
1131
1132 RustcLintOptDenyFieldAccess { lint_message: Symbol },
1134
1135 RustcLintOptTy,
1137
1138 RustcLintQueryInstability,
1140
1141 RustcLintUntrackedQueryInformation,
1143
1144 RustcMacroTransparency(Transparency),
1146
1147 RustcMain,
1149
1150 RustcMir(ThinVec<RustcMirKind>),
1152
1153 RustcMustImplementOneOf { attr_span: Span, fn_names: ThinVec<Ident> },
1155
1156 RustcNeverReturnsNullPointer,
1158
1159 RustcNoImplicitAutorefs,
1161
1162 RustcNonConstTraitMethod,
1164
1165 RustcNounwind,
1167
1168 RustcObjcClass { classname: Symbol, span: Span },
1170
1171 RustcObjcSelector { methname: Symbol, span: Span },
1173
1174 RustcObjectLifetimeDefault,
1176
1177 RustcOffloadKernel,
1179
1180 RustcParenSugar(Span),
1182
1183 RustcPassByValue(Span),
1185
1186 RustcPassIndirectlyInNonRusticAbis(Span),
1188
1189 RustcPreserveUbChecks,
1191
1192 RustcPubTransparent(Span),
1194
1195 RustcReallocator,
1197
1198 RustcScalableVector {
1200 element_count: Option<u16>,
1203 span: Span,
1204 },
1205
1206 RustcShouldNotBeCalledOnConstItems(Span),
1208
1209 RustcSimdMonomorphizeLaneLimit(Limit),
1211
1212 RustcSkipDuringMethodDispatch { array: bool, boxed_slice: bool, span: Span },
1214
1215 RustcSpecializationTrait(Span),
1217
1218 RustcStdInternalSymbol(Span),
1220
1221 RustcThenThisWouldNeed(Span, ThinVec<Ident>),
1223
1224 RustcUnsafeSpecializationMarker(Span),
1226
1227 RustcVariance,
1229
1230 RustcVarianceOfOpaques,
1232
1233 Sanitize {
1239 on_set: SanitizerSet,
1240 off_set: SanitizerSet,
1241 rtsan: Option<RtsanSetting>,
1242 span: Span,
1243 },
1244
1245 ShouldPanic { reason: Option<Symbol>, span: Span },
1247
1248 Stability {
1250 stability: Stability,
1251 span: Span,
1253 },
1254 TargetFeature { features: ThinVec<(Symbol, Span)>, attr_span: Span, was_forced: bool },
1257
1258 ThreadLocal,
1260
1261 TrackCaller(Span),
1263
1264 TypeConst(Span),
1266
1267 TypeLengthLimit { attr_span: Span, limit_span: Span, limit: Limit },
1269
1270 UnstableFeatureBound(ThinVec<(Symbol, Span)>),
1272
1273 Used { used_by: UsedBy, span: Span },
1275
1276 WindowsSubsystem(WindowsSubsystemKind, Span),
1278 }