1use std::borrow::Cow;
2use std::fmt;
3use std::path::PathBuf;
4
5pub use ReprAttr::*;
6use rustc_abi::Align;
7pub use rustc_ast::attr::data_structures::*;
8use rustc_ast::expand::autodiff_attrs::{DiffActivity, DiffMode};
9use rustc_ast::expand::typetree::TypeTree;
10use rustc_ast::token::DocFragmentKind;
11use rustc_ast::{AttrStyle, Path, ast};
12use rustc_data_structures::fx::FxIndexMap;
13use rustc_error_messages::{DiagArgValue, IntoDiagArg};
14use rustc_hir::LangItem;
15use rustc_macros::{Decodable, Encodable, PrintAttribute, StableHash};
16use rustc_span::def_id::DefId;
17use rustc_span::hygiene::Transparency;
18use rustc_span::{ErrorGuaranteed, Ident, Span, Symbol};
19pub use rustc_target::spec::SanitizerSet;
20use thin_vec::ThinVec;
21
22use crate::attrs::diagnostic::*;
23use crate::attrs::pretty_printing::PrintAttribute;
24use crate::limit::Limit;
25use crate::{DefaultBodyStability, PartialConstStability, RustcVersion, Stability};
26
27#[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 ::rustc_data_structures::stable_hash::StableHash for
EiiImplResolution {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
EiiImplResolution::Macro(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
EiiImplResolution::Known(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
EiiImplResolution::Error(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, 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)]
28pub enum EiiImplResolution {
29 Macro(DefId),
33 Known(EiiDecl),
36 Error(ErrorGuaranteed),
38}
39
40#[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 ::rustc_data_structures::stable_hash::StableHash for EiiImpl {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::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.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
{ __binding_3.stable_hash(__hcx, __hasher); }
{ __binding_4.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, 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)]
41pub struct EiiImpl {
42 pub resolution: EiiImplResolution,
43 pub impl_marked_unsafe: bool,
44 pub span: Span,
45 pub inner_span: Span,
46 pub is_default: bool,
47}
48
49#[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 ::rustc_data_structures::stable_hash::StableHash for EiiDecl {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
match *self {
EiiDecl {
foreign_item: ref __binding_0,
impl_unsafe: ref __binding_1,
name: ref __binding_2 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, 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)]
50pub struct EiiDecl {
51 pub foreign_item: DefId,
52 pub impl_unsafe: bool,
54 pub name: Ident,
55}
56
57#[derive(#[automatically_derived]
impl ::core::marker::Copy for CguKind { }Copy, #[automatically_derived]
impl ::core::clone::Clone for CguKind {
#[inline]
fn clone(&self) -> CguKind { *self }
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for CguKind {
#[inline]
fn eq(&self, other: &CguKind) -> 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 CguKind {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
CguKind::No => { 0usize }
CguKind::PreDashLto => { 1usize }
CguKind::PostDashLto => { 2usize }
CguKind::Any => { 3usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
CguKind::No => {}
CguKind::PreDashLto => {}
CguKind::PostDashLto => {}
CguKind::Any => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for CguKind {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { CguKind::No }
1usize => { CguKind::PreDashLto }
2usize => { CguKind::PostDashLto }
3usize => { CguKind::Any }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `CguKind`, expected 0..4, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::fmt::Debug for CguKind {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
CguKind::No => "No",
CguKind::PreDashLto => "PreDashLto",
CguKind::PostDashLto => "PostDashLto",
CguKind::Any => "Any",
})
}
}Debug, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for CguKind {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
CguKind::No => {}
CguKind::PreDashLto => {}
CguKind::PostDashLto => {}
CguKind::Any => {}
}
}
}
};StableHash, const _: () =
{
#[allow(unused)]
impl PrintAttribute for CguKind {
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::PreDashLto => { __p.word("PreDashLto") }
Self::PostDashLto => { __p.word("PostDashLto") }
Self::Any => { __p.word("Any") }
}
}
}
};PrintAttribute)]
58pub enum CguKind {
59 No,
60 PreDashLto,
61 PostDashLto,
62 Any,
63}
64
65#[derive(#[automatically_derived]
impl ::core::marker::Copy for CguFields { }Copy, #[automatically_derived]
impl ::core::clone::Clone for CguFields {
#[inline]
fn clone(&self) -> CguFields {
let _: ::core::clone::AssertParamIsClone<Symbol>;
let _: ::core::clone::AssertParamIsClone<CguKind>;
*self
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for CguFields {
#[inline]
fn eq(&self, other: &CguFields) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr &&
match (self, other) {
(CguFields::PartitionReused { cfg: __self_0, module: __self_1
}, CguFields::PartitionReused {
cfg: __arg1_0, module: __arg1_1 }) =>
__self_0 == __arg1_0 && __self_1 == __arg1_1,
(CguFields::PartitionCodegened {
cfg: __self_0, module: __self_1 },
CguFields::PartitionCodegened {
cfg: __arg1_0, module: __arg1_1 }) =>
__self_0 == __arg1_0 && __self_1 == __arg1_1,
(CguFields::ExpectedCguReuse {
cfg: __self_0, module: __self_1, kind: __self_2 },
CguFields::ExpectedCguReuse {
cfg: __arg1_0, module: __arg1_1, kind: __arg1_2 }) =>
__self_0 == __arg1_0 && __self_1 == __arg1_1 &&
__self_2 == __arg1_2,
_ => unsafe { ::core::intrinsics::unreachable() }
}
}
}PartialEq, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for CguFields {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
CguFields::PartitionReused {
cfg: ref __binding_0, module: ref __binding_1 } => {
0usize
}
CguFields::PartitionCodegened {
cfg: ref __binding_0, module: ref __binding_1 } => {
1usize
}
CguFields::ExpectedCguReuse {
cfg: ref __binding_0,
module: ref __binding_1,
kind: ref __binding_2 } => {
2usize
}
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
CguFields::PartitionReused {
cfg: ref __binding_0, module: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
CguFields::PartitionCodegened {
cfg: ref __binding_0, module: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
CguFields::ExpectedCguReuse {
cfg: ref __binding_0,
module: ref __binding_1,
kind: 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 CguFields {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => {
CguFields::PartitionReused {
cfg: ::rustc_serialize::Decodable::decode(__decoder),
module: ::rustc_serialize::Decodable::decode(__decoder),
}
}
1usize => {
CguFields::PartitionCodegened {
cfg: ::rustc_serialize::Decodable::decode(__decoder),
module: ::rustc_serialize::Decodable::decode(__decoder),
}
}
2usize => {
CguFields::ExpectedCguReuse {
cfg: ::rustc_serialize::Decodable::decode(__decoder),
module: ::rustc_serialize::Decodable::decode(__decoder),
kind: ::rustc_serialize::Decodable::decode(__decoder),
}
}
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `CguFields`, expected 0..3, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::fmt::Debug for CguFields {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
CguFields::PartitionReused { cfg: __self_0, module: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"PartitionReused", "cfg", __self_0, "module", &__self_1),
CguFields::PartitionCodegened { cfg: __self_0, module: __self_1 }
=>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"PartitionCodegened", "cfg", __self_0, "module", &__self_1),
CguFields::ExpectedCguReuse {
cfg: __self_0, module: __self_1, kind: __self_2 } =>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"ExpectedCguReuse", "cfg", __self_0, "module", __self_1,
"kind", &__self_2),
}
}
}Debug, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for CguFields {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
CguFields::PartitionReused {
cfg: ref __binding_0, module: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
CguFields::PartitionCodegened {
cfg: ref __binding_0, module: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
CguFields::ExpectedCguReuse {
cfg: ref __binding_0,
module: ref __binding_1,
kind: ref __binding_2 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
#[allow(unused)]
impl PrintAttribute for CguFields {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::PartitionReused { cfg, module } => {
__p.word("PartitionReused");
if true && !cfg.should_render() && !module.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
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 module.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("module");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
module.print_attribute(__p);
__p.word("}");
}
Self::PartitionCodegened { cfg, module } => {
__p.word("PartitionCodegened");
if true && !cfg.should_render() && !module.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
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 module.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("module");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
module.print_attribute(__p);
__p.word("}");
}
Self::ExpectedCguReuse { cfg, module, kind } => {
__p.word("ExpectedCguReuse");
if true && !cfg.should_render() && !module.should_render()
&& !kind.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
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 module.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("module");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
module.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("}");
}
}
}
}
};PrintAttribute)]
66pub enum CguFields {
67 PartitionReused { cfg: Symbol, module: Symbol },
68 PartitionCodegened { cfg: Symbol, module: Symbol },
69 ExpectedCguReuse { cfg: Symbol, module: Symbol, kind: CguKind },
70}
71
72#[derive(#[automatically_derived]
impl ::core::marker::Copy for DivergingFallbackBehavior { }Copy, #[automatically_derived]
impl ::core::clone::Clone for DivergingFallbackBehavior {
#[inline]
fn clone(&self) -> DivergingFallbackBehavior { *self }
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for DivergingFallbackBehavior {
#[inline]
fn eq(&self, other: &DivergingFallbackBehavior) -> 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 DivergingFallbackBehavior {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
DivergingFallbackBehavior::ToUnit => "ToUnit",
DivergingFallbackBehavior::ToNever => "ToNever",
DivergingFallbackBehavior::NoFallback => "NoFallback",
})
}
}Debug, const _: () =
{
#[allow(unused)]
impl PrintAttribute for DivergingFallbackBehavior {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::ToUnit => { __p.word("ToUnit") }
Self::ToNever => { __p.word("ToNever") }
Self::NoFallback => { __p.word("NoFallback") }
}
}
}
};PrintAttribute)]
73#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
DivergingFallbackBehavior {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
DivergingFallbackBehavior::ToUnit => {}
DivergingFallbackBehavior::ToNever => {}
DivergingFallbackBehavior::NoFallback => {}
}
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for DivergingFallbackBehavior {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
DivergingFallbackBehavior::ToUnit => { 0usize }
DivergingFallbackBehavior::ToNever => { 1usize }
DivergingFallbackBehavior::NoFallback => { 2usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
DivergingFallbackBehavior::ToUnit => {}
DivergingFallbackBehavior::ToNever => {}
DivergingFallbackBehavior::NoFallback => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for DivergingFallbackBehavior {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { DivergingFallbackBehavior::ToUnit }
1usize => { DivergingFallbackBehavior::ToNever }
2usize => { DivergingFallbackBehavior::NoFallback }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `DivergingFallbackBehavior`, expected 0..3, actual {0}",
n));
}
}
}
}
};Decodable)]
74pub enum DivergingFallbackBehavior {
75 ToUnit,
77 ToNever,
80 NoFallback,
82}
83
84#[derive(#[automatically_derived]
impl ::core::marker::Copy for DivergingBlockBehavior { }Copy, #[automatically_derived]
impl ::core::clone::Clone for DivergingBlockBehavior {
#[inline]
fn clone(&self) -> DivergingBlockBehavior { *self }
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for DivergingBlockBehavior {
#[inline]
fn eq(&self, other: &DivergingBlockBehavior) -> 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 DivergingBlockBehavior {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
DivergingBlockBehavior::Never => "Never",
DivergingBlockBehavior::Unit => "Unit",
})
}
}Debug, const _: () =
{
#[allow(unused)]
impl PrintAttribute for DivergingBlockBehavior {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Never => { __p.word("Never") }
Self::Unit => { __p.word("Unit") }
}
}
}
};PrintAttribute, #[automatically_derived]
impl ::core::default::Default for DivergingBlockBehavior {
#[inline]
fn default() -> DivergingBlockBehavior { Self::Never }
}Default)]
85#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
DivergingBlockBehavior {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
DivergingBlockBehavior::Never => {}
DivergingBlockBehavior::Unit => {}
}
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for DivergingBlockBehavior {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
DivergingBlockBehavior::Never => { 0usize }
DivergingBlockBehavior::Unit => { 1usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
DivergingBlockBehavior::Never => {}
DivergingBlockBehavior::Unit => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for DivergingBlockBehavior {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { DivergingBlockBehavior::Never }
1usize => { DivergingBlockBehavior::Unit }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `DivergingBlockBehavior`, expected 0..2, actual {0}",
n));
}
}
}
}
};Decodable)]
86pub enum DivergingBlockBehavior {
87 #[default]
95 Never,
96
97 Unit,
106}
107
108#[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 ::rustc_data_structures::stable_hash::StableHash for InlineAttr {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__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.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, 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)]
109pub enum InlineAttr {
110 None,
111 Hint,
112 Always,
113 Never,
114 Force {
118 attr_span: Span,
119 reason: Option<Symbol>,
120 },
121}
122
123impl InlineAttr {
124 pub fn always(&self) -> bool {
125 match self {
126 InlineAttr::Always | InlineAttr::Force { .. } => true,
127 InlineAttr::None | InlineAttr::Hint | InlineAttr::Never => false,
128 }
129 }
130}
131
132#[derive(#[automatically_derived]
impl ::core::marker::Copy for UnrollAttr { }Copy, #[automatically_derived]
impl ::core::clone::Clone for UnrollAttr {
#[inline]
fn clone(&self) -> UnrollAttr {
let _: ::core::clone::AssertParamIsClone<u32>;
*self
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for UnrollAttr {
#[inline]
fn eq(&self, other: &UnrollAttr) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr &&
match (self, other) {
(UnrollAttr::Count(__self_0), UnrollAttr::Count(__arg1_0)) =>
__self_0 == __arg1_0,
_ => true,
}
}
}PartialEq, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for UnrollAttr {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
UnrollAttr::Hint => { 0usize }
UnrollAttr::Full => { 1usize }
UnrollAttr::Never => { 2usize }
UnrollAttr::Count(ref __binding_0) => { 3usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
UnrollAttr::Hint => {}
UnrollAttr::Full => {}
UnrollAttr::Never => {}
UnrollAttr::Count(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for UnrollAttr {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { UnrollAttr::Hint }
1usize => { UnrollAttr::Full }
2usize => { UnrollAttr::Never }
3usize => {
UnrollAttr::Count(::rustc_serialize::Decodable::decode(__decoder))
}
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `UnrollAttr`, expected 0..4, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::fmt::Debug for UnrollAttr {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
UnrollAttr::Hint => ::core::fmt::Formatter::write_str(f, "Hint"),
UnrollAttr::Full => ::core::fmt::Formatter::write_str(f, "Full"),
UnrollAttr::Never =>
::core::fmt::Formatter::write_str(f, "Never"),
UnrollAttr::Count(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Count",
&__self_0),
}
}
}Debug, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for UnrollAttr {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
UnrollAttr::Hint => {}
UnrollAttr::Full => {}
UnrollAttr::Never => {}
UnrollAttr::Count(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
#[allow(unused)]
impl PrintAttribute for UnrollAttr {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Hint => { __p.word("Hint") }
Self::Full => { __p.word("Full") }
Self::Never => { __p.word("Never") }
Self::Count(f0) => {
__p.word("Count");
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)]
133pub enum UnrollAttr {
134 Hint,
135 Full,
136 Never,
137 Count(u32),
138}
139
140#[derive(#[automatically_derived]
impl ::core::marker::Copy for InstructionSetAttr { }Copy, #[automatically_derived]
impl ::core::clone::Clone for InstructionSetAttr {
#[inline]
fn clone(&self) -> InstructionSetAttr { *self }
}Clone, 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, 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, #[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, #[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, #[automatically_derived]
impl ::core::cmp::Eq for InstructionSetAttr {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {}
}Eq, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
InstructionSetAttr {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
InstructionSetAttr::ArmA32 => {}
InstructionSetAttr::ArmT32 => {}
}
}
}
};StableHash, 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)]
141pub enum InstructionSetAttr {
142 ArmA32,
143 ArmT32,
144}
145
146#[derive(#[automatically_derived]
impl ::core::marker::Copy for InstrumentFnAttr { }Copy, #[automatically_derived]
impl ::core::clone::Clone for InstrumentFnAttr {
#[inline]
fn clone(&self) -> InstrumentFnAttr { *self }
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for InstrumentFnAttr {
#[inline]
fn eq(&self, other: &InstrumentFnAttr) -> 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 InstrumentFnAttr {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
InstrumentFnAttr::On => { 0usize }
InstrumentFnAttr::Off => { 1usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
InstrumentFnAttr::On => {}
InstrumentFnAttr::Off => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for InstrumentFnAttr {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { InstrumentFnAttr::On }
1usize => { InstrumentFnAttr::Off }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `InstrumentFnAttr`, expected 0..2, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::fmt::Debug for InstrumentFnAttr {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
InstrumentFnAttr::On => "On",
InstrumentFnAttr::Off => "Off",
})
}
}Debug, #[automatically_derived]
impl ::core::cmp::Eq for InstrumentFnAttr {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {}
}Eq, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
InstrumentFnAttr {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
InstrumentFnAttr::On => {}
InstrumentFnAttr::Off => {}
}
}
}
};StableHash, const _: () =
{
#[allow(unused)]
impl PrintAttribute for InstrumentFnAttr {
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)]
147pub enum InstrumentFnAttr {
148 On,
150 Off,
152}
153
154#[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_fields_are_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)]
155#[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 ::rustc_data_structures::stable_hash::StableHash for OptimizeAttr
{
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
OptimizeAttr::Default => {}
OptimizeAttr::DoNotOptimize => {}
OptimizeAttr::Speed => {}
OptimizeAttr::Size => {}
}
}
}
};StableHash)]
156pub enum OptimizeAttr {
157 #[default]
159 Default,
160 DoNotOptimize,
162 Speed,
164 Size,
166}
167
168impl OptimizeAttr {
169 pub fn do_not_optimize(&self) -> bool {
170 #[allow(non_exhaustive_omitted_patterns)] match self {
Self::DoNotOptimize => true,
_ => false,
}matches!(self, Self::DoNotOptimize)
171 }
172}
173
174#[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 ::rustc_data_structures::stable_hash::StableHash for ReprAttr {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
ReprAttr::ReprInt(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
ReprAttr::ReprRust => {}
ReprAttr::ReprC => {}
ReprAttr::ReprPacked(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
ReprAttr::ReprSimd => {}
ReprAttr::ReprTransparent => {}
ReprAttr::ReprAlign(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, 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)]
175pub enum ReprAttr {
176 ReprInt(IntType),
177 ReprRust,
178 ReprC,
179 ReprPacked(Align),
180 ReprSimd,
181 ReprTransparent,
182 ReprAlign(Align),
183}
184
185pub enum TransparencyError {
186 UnknownTransparency(Symbol, Span),
187 MultipleTransparencyAttrs(Span, Span),
188}
189
190#[derive(#[automatically_derived]
impl ::core::cmp::Eq for IntType {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_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)]
191#[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 ::rustc_data_structures::stable_hash::StableHash for IntType {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
IntType::SignedInt(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
IntType::UnsignedInt(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, 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)]
192pub enum IntType {
193 SignedInt(ast::IntTy),
194 UnsignedInt(ast::UintTy),
195}
196
197#[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 ::rustc_data_structures::stable_hash::StableHash for Deprecation
{
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
match *self {
Deprecation {
since: ref __binding_0,
note: ref __binding_1,
suggestion: ref __binding_2 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, 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)]
198pub struct Deprecation {
199 pub since: DeprecatedSince,
200 pub note: Option<Ident>,
202 pub suggestion: Option<Symbol>,
206}
207
208#[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 ::rustc_data_structures::stable_hash::StableHash for
DeprecatedSince {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
DeprecatedSince::RustcVersion(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
DeprecatedSince::Future => {}
DeprecatedSince::NonStandard(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
DeprecatedSince::Unspecified => {}
DeprecatedSince::Err => {}
}
}
}
};StableHash, 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)]
210pub enum DeprecatedSince {
211 RustcVersion(RustcVersion),
212 Future,
214 NonStandard(Symbol),
217 Unspecified,
219 Err,
222}
223
224#[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_fields_are_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)]
226#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
CoverageAttrKind {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
CoverageAttrKind::On => {}
CoverageAttrKind::Off => {}
}
}
}
};StableHash, 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)]
227pub enum CoverageAttrKind {
228 On,
229 Off,
230}
231
232#[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_fields_are_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)]
234#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
RustcAbiAttrKind {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
RustcAbiAttrKind::Debug => {}
RustcAbiAttrKind::AssertEq => {}
}
}
}
};StableHash, 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)]
235pub enum RustcAbiAttrKind {
236 Debug,
237 AssertEq,
238}
239
240impl Deprecation {
241 pub fn is_in_effect(&self) -> bool {
245 match self.since {
246 DeprecatedSince::RustcVersion(since) => since <= RustcVersion::CURRENT,
247 DeprecatedSince::Future => false,
248 DeprecatedSince::NonStandard(_) => true,
250 DeprecatedSince::Unspecified | DeprecatedSince::Err => true,
252 }
253 }
254
255 pub fn is_since_rustc_version(&self) -> bool {
256 #[allow(non_exhaustive_omitted_patterns)] match self.since {
DeprecatedSince::RustcVersion(_) => true,
_ => false,
}matches!(self.since, DeprecatedSince::RustcVersion(_))
257 }
258}
259
260#[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_fields_are_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)]
265#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for UsedBy {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
UsedBy::Default => {}
UsedBy::Compiler => {}
UsedBy::Linker => {}
}
}
}
};StableHash, 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)]
266pub enum UsedBy {
267 Default,
268 Compiler,
269 Linker,
270}
271
272#[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_fields_are_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)]
273#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for MacroUseArgs
{
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
MacroUseArgs::UseAll => {}
MacroUseArgs::UseSpecific(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, 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)]
274pub enum MacroUseArgs {
275 UseAll,
276 UseSpecific(ThinVec<Ident>),
277}
278
279impl Default for MacroUseArgs {
280 fn default() -> Self {
281 Self::UseSpecific(ThinVec::new())
282 }
283}
284
285#[derive(#[automatically_derived]
impl<ScopeId: ::core::fmt::Debug> ::core::fmt::Debug for
StrippedCfgItem<ScopeId> {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field3_finish(f,
"StrippedCfgItem", "parent_scope", &self.parent_scope, "ident",
&self.ident, "cfg", &&self.cfg)
}
}Debug, #[automatically_derived]
impl<ScopeId: ::core::clone::Clone> ::core::clone::Clone for
StrippedCfgItem<ScopeId> {
#[inline]
fn clone(&self) -> StrippedCfgItem<ScopeId> {
StrippedCfgItem {
parent_scope: ::core::clone::Clone::clone(&self.parent_scope),
ident: ::core::clone::Clone::clone(&self.ident),
cfg: ::core::clone::Clone::clone(&self.cfg),
}
}
}Clone, const _: () =
{
impl<ScopeId, __E: ::rustc_span::SpanEncoder>
::rustc_serialize::Encodable<__E> for StrippedCfgItem<ScopeId>
where ScopeId: ::rustc_serialize::Encodable<__E> {
fn encode(&self, __encoder: &mut __E) {
match *self {
StrippedCfgItem {
parent_scope: 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<ScopeId, __D: ::rustc_span::SpanDecoder>
::rustc_serialize::Decodable<__D> for StrippedCfgItem<ScopeId>
where ScopeId: ::rustc_serialize::Decodable<__D> {
fn decode(__decoder: &mut __D) -> Self {
StrippedCfgItem {
parent_scope: ::rustc_serialize::Decodable::decode(__decoder),
ident: ::rustc_serialize::Decodable::decode(__decoder),
cfg: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, const _: () =
{
impl<ScopeId> ::rustc_data_structures::stable_hash::StableHash for
StrippedCfgItem<ScopeId> where
ScopeId: ::rustc_data_structures::stable_hash::StableHash {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
match *self {
StrippedCfgItem {
parent_scope: ref __binding_0,
ident: ref __binding_1,
cfg: ref __binding_2 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash)]
286pub struct StrippedCfgItem<ScopeId = DefId> {
287 pub parent_scope: ScopeId,
288 pub ident: Ident,
289 pub cfg: (CfgEntry, Span),
290}
291
292impl<ScopeId> StrippedCfgItem<ScopeId> {
293 pub fn map_scope_id<New>(self, f: impl FnOnce(ScopeId) -> New) -> StrippedCfgItem<New> {
294 StrippedCfgItem { parent_scope: f(self.parent_scope), ident: self.ident, cfg: self.cfg }
295 }
296}
297
298#[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_fields_are_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)]
303#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for Linkage {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
Linkage::AvailableExternally => {}
Linkage::Common => {}
Linkage::ExternalWeak => {}
Linkage::External => {}
Linkage::Internal => {}
Linkage::LinkOnceAny => {}
Linkage::LinkOnceODR => {}
Linkage::WeakAny => {}
Linkage::WeakODR => {}
}
}
}
};StableHash, 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)]
304pub enum Linkage {
305 AvailableExternally,
306 Common,
307 ExternalWeak,
308 External,
309 Internal,
310 LinkOnceAny,
311 LinkOnceODR,
312 WeakAny,
313 WeakODR,
314}
315
316#[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)]
317#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for MirDialect {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
MirDialect::Analysis => {}
MirDialect::Built => {}
MirDialect::Runtime => {}
}
}
}
};StableHash, 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)]
318pub enum MirDialect {
319 Analysis,
320 Built,
321 Runtime,
322}
323
324impl IntoDiagArg for MirDialect {
325 fn into_diag_arg(self, _path: &mut Option<PathBuf>) -> DiagArgValue {
326 let arg = match self {
327 MirDialect::Analysis => "analysis",
328 MirDialect::Built => "built",
329 MirDialect::Runtime => "runtime",
330 };
331 DiagArgValue::Str(Cow::Borrowed(arg))
332 }
333}
334
335#[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)]
336#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for MirPhase {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
MirPhase::Initial => {}
MirPhase::PostCleanup => {}
MirPhase::Optimized => {}
}
}
}
};StableHash, 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)]
337pub enum MirPhase {
338 Initial,
339 PostCleanup,
340 Optimized,
341}
342
343impl IntoDiagArg for MirPhase {
344 fn into_diag_arg(self, _path: &mut Option<PathBuf>) -> DiagArgValue {
345 let arg = match self {
346 MirPhase::Initial => "initial",
347 MirPhase::PostCleanup => "post-cleanup",
348 MirPhase::Optimized => "optimized",
349 };
350 DiagArgValue::Str(Cow::Borrowed(arg))
351 }
352}
353
354#[derive(#[automatically_derived]
impl ::core::marker::Copy for PeImportNameType { }Copy, #[automatically_derived]
impl ::core::clone::Clone for PeImportNameType {
#[inline]
fn clone(&self) -> PeImportNameType {
let _: ::core::clone::AssertParamIsClone<u16>;
*self
}
}Clone, #[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, 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, 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, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
PeImportNameType {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
PeImportNameType::Ordinal(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
PeImportNameType::Decorated => {}
PeImportNameType::NoPrefix => {}
PeImportNameType::Undecorated => {}
}
}
}
};StableHash, #[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, #[automatically_derived]
impl ::core::cmp::Eq for PeImportNameType {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<u16>;
}
}Eq, 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)]
357pub enum PeImportNameType {
358 Ordinal(u16),
361 Decorated,
364 NoPrefix,
367 Undecorated,
371}
372
373#[derive(
374 #[automatically_derived]
impl ::core::marker::Copy for NativeLibKind { }Copy,
375 #[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,
376 #[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,
377 #[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,
378 #[automatically_derived]
impl ::core::cmp::Eq for NativeLibKind {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_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,
379 #[automatically_derived]
impl ::core::cmp::PartialOrd for NativeLibKind {
#[inline]
fn partial_cmp(&self, other: &NativeLibKind)
-> ::core::option::Option<::core::cmp::Ordering> {
::core::option::Option::Some(::core::cmp::Ord::cmp(self, other))
}
}PartialOrd,
380 #[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,
381 #[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,
382 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,
383 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,
384 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
385)]
386#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
NativeLibKind {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
NativeLibKind::Static {
bundle: ref __binding_0,
whole_archive: ref __binding_1,
export_symbols: ref __binding_2 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
}
NativeLibKind::Dylib { as_needed: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
NativeLibKind::RawDylib { as_needed: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
NativeLibKind::Framework { as_needed: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
NativeLibKind::LinkArg => {}
NativeLibKind::WasmImportModule => {}
NativeLibKind::Unspecified => {}
}
}
}
};StableHash)]
387pub enum NativeLibKind {
388 Static {
390 bundle: Option<bool>,
392 whole_archive: Option<bool>,
394 export_symbols: Option<bool>,
396 },
397 Dylib {
400 as_needed: Option<bool>,
402 },
403 RawDylib {
406 as_needed: Option<bool>,
408 },
409 Framework {
411 as_needed: Option<bool>,
413 },
414 LinkArg,
417
418 WasmImportModule,
420
421 Unspecified,
423}
424
425impl NativeLibKind {
426 pub fn has_modifiers(&self) -> bool {
427 match self {
428 NativeLibKind::Static { bundle, whole_archive, export_symbols } => {
429 bundle.is_some() || whole_archive.is_some() || export_symbols.is_some()
430 }
431 NativeLibKind::Dylib { as_needed }
432 | NativeLibKind::Framework { as_needed }
433 | NativeLibKind::RawDylib { as_needed } => as_needed.is_some(),
434 NativeLibKind::Unspecified
435 | NativeLibKind::LinkArg
436 | NativeLibKind::WasmImportModule => false,
437 }
438 }
439
440 pub fn is_statically_included(&self) -> bool {
441 #[allow(non_exhaustive_omitted_patterns)] match self {
NativeLibKind::Static { .. } => true,
_ => false,
}matches!(self, NativeLibKind::Static { .. })
442 }
443
444 pub fn is_dllimport(&self) -> bool {
445 #[allow(non_exhaustive_omitted_patterns)] match self {
NativeLibKind::Dylib { .. } | NativeLibKind::RawDylib { .. } |
NativeLibKind::Unspecified => true,
_ => false,
}matches!(
446 self,
447 NativeLibKind::Dylib { .. }
448 | NativeLibKind::RawDylib { .. }
449 | NativeLibKind::Unspecified
450 )
451 }
452}
453
454#[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 ::rustc_data_structures::stable_hash::StableHash for LinkEntry {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::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.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
{ __binding_3.stable_hash(__hcx, __hasher); }
{ __binding_4.stable_hash(__hcx, __hasher); }
{ __binding_5.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, 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)]
455pub struct LinkEntry {
456 pub span: Span,
457 pub kind: NativeLibKind,
458 pub name: Symbol,
459 pub cfg: Option<CfgEntry>,
460 pub verbatim: Option<bool>,
461 pub import_name_type: Option<(PeImportNameType, Span)>,
462}
463
464#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
DebuggerVisualizerType {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
DebuggerVisualizerType::Natvis => {}
DebuggerVisualizerType::GdbPrettyPrinter => {}
}
}
}
};StableHash, 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)]
465#[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> {
::core::option::Option::Some(::core::cmp::Ord::cmp(self, other))
}
}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_fields_are_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)]
466pub enum DebuggerVisualizerType {
467 Natvis,
468 GdbPrettyPrinter,
469}
470
471#[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 ::rustc_data_structures::stable_hash::StableHash for
DebugVisualizer {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
match *self {
DebugVisualizer {
span: ref __binding_0,
visualizer_type: ref __binding_1,
path: ref __binding_2 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, 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)]
472pub struct DebugVisualizer {
473 pub span: Span,
474 pub visualizer_type: DebuggerVisualizerType,
475 pub path: Symbol,
476}
477
478#[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_fields_are_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)]
479#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for RtsanSetting
{
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
RtsanSetting::Nonblocking => {}
RtsanSetting::Blocking => {}
RtsanSetting::Caller => {}
}
}
}
};StableHash, 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)]
480#[derive_const(#[automatically_derived]
const impl ::core::default::Default for RtsanSetting {
#[inline]
fn default() -> RtsanSetting { Self::Caller }
}Default)]
481pub enum RtsanSetting {
482 Nonblocking,
483 Blocking,
484 #[default]
485 Caller,
486}
487
488#[derive(#[automatically_derived]
impl ::core::cmp::Eq for WindowsSubsystemKind {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_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)]
489#[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 ::rustc_data_structures::stable_hash::StableHash for
WindowsSubsystemKind {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
WindowsSubsystemKind::Console => {}
WindowsSubsystemKind::Windows => {}
}
}
}
};StableHash, 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)]
490pub enum WindowsSubsystemKind {
491 Console,
492 Windows,
493}
494
495impl WindowsSubsystemKind {
496 pub fn as_str(&self) -> &'static str {
497 match self {
498 WindowsSubsystemKind::Console => "console",
499 WindowsSubsystemKind::Windows => "windows",
500 }
501 }
502}
503
504#[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)]
505#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for DocInline {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
DocInline::Inline => {}
DocInline::NoInline => {}
}
}
}
};StableHash, 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)]
506pub enum DocInline {
507 Inline,
508 NoInline,
509}
510
511#[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)]
512#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for HideOrShow {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self { HideOrShow::Hide => {} HideOrShow::Show => {} }
}
}
};StableHash, 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)]
513pub enum HideOrShow {
514 Hide,
515 Show,
516}
517
518#[derive(#[automatically_derived]
impl ::core::clone::Clone for DocCfgHideShowValue {
#[inline]
fn clone(&self) -> DocCfgHideShowValue {
let _: ::core::clone::AssertParamIsClone<Span>;
let _: ::core::clone::AssertParamIsClone<Option<Symbol>>;
*self
}
}Clone, #[automatically_derived]
impl ::core::marker::Copy for DocCfgHideShowValue { }Copy, #[automatically_derived]
impl ::core::fmt::Debug for DocCfgHideShowValue {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field2_finish(f,
"DocCfgHideShowValue", "span", &self.span, "value", &&self.value)
}
}Debug, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
DocCfgHideShowValue {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
match *self {
DocCfgHideShowValue {
span: ref __binding_0, value: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for DocCfgHideShowValue {
fn encode(&self, __encoder: &mut __E) {
match *self {
DocCfgHideShowValue {
span: ref __binding_0, value: 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 DocCfgHideShowValue {
fn decode(__decoder: &mut __D) -> Self {
DocCfgHideShowValue {
span: ::rustc_serialize::Decodable::decode(__decoder),
value: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for DocCfgHideShowValue {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
let Self { span, value } = self;
__p.word("DocCfgHideShowValue");
if true && !span.should_render() && !value.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 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, #[automatically_derived]
impl ::core::cmp::PartialEq for DocCfgHideShowValue {
#[inline]
fn eq(&self, other: &DocCfgHideShowValue) -> bool {
self.span == other.span && self.value == other.value
}
}PartialEq)]
519pub struct DocCfgHideShowValue {
520 pub span: Span,
521 pub value: Option<Symbol>,
523}
524
525impl DocCfgHideShowValue {
526 pub fn new(value: Symbol, span: Span) -> Self {
527 Self { span, value: Some(value) }
528 }
529
530 pub fn new_none(span: Span) -> Self {
531 Self { span, value: None }
532 }
533}
534
535#[derive(#[automatically_derived]
impl ::core::clone::Clone for DocCfgHideShow {
#[inline]
fn clone(&self) -> DocCfgHideShow {
match self {
DocCfgHideShow::Any(__self_0) =>
DocCfgHideShow::Any(::core::clone::Clone::clone(__self_0)),
DocCfgHideShow::List(__self_0) =>
DocCfgHideShow::List(::core::clone::Clone::clone(__self_0)),
}
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for DocCfgHideShow {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
DocCfgHideShow::Any(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Any",
&__self_0),
DocCfgHideShow::List(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "List",
&__self_0),
}
}
}Debug, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
DocCfgHideShow {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
DocCfgHideShow::Any(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
DocCfgHideShow::List(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for DocCfgHideShow {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
DocCfgHideShow::Any(ref __binding_0) => { 0usize }
DocCfgHideShow::List(ref __binding_0) => { 1usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
DocCfgHideShow::Any(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
DocCfgHideShow::List(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for DocCfgHideShow {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => {
DocCfgHideShow::Any(::rustc_serialize::Decodable::decode(__decoder))
}
1usize => {
DocCfgHideShow::List(::rustc_serialize::Decodable::decode(__decoder))
}
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `DocCfgHideShow`, expected 0..2, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for DocCfgHideShow {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Any(f0) => {
__p.word("Any");
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::List(f0) => {
__p.word("List");
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, #[automatically_derived]
impl ::core::cmp::PartialEq for DocCfgHideShow {
#[inline]
fn eq(&self, other: &DocCfgHideShow) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr &&
match (self, other) {
(DocCfgHideShow::Any(__self_0), DocCfgHideShow::Any(__arg1_0))
=> __self_0 == __arg1_0,
(DocCfgHideShow::List(__self_0),
DocCfgHideShow::List(__arg1_0)) => __self_0 == __arg1_0,
_ => unsafe { ::core::intrinsics::unreachable() }
}
}
}PartialEq)]
536pub enum DocCfgHideShow {
537 Any(Span),
538 List(ThinVec<DocCfgHideShowValue>),
539}
540
541impl DocCfgHideShow {
542 pub fn new() -> Self {
543 Self::List(ThinVec::new())
544 }
545
546 pub fn new_with_only_key(span: Span) -> Self {
547 let mut values = ThinVec::with_capacity(1);
548 values.push(DocCfgHideShowValue { span, value: None });
549 Self::List(values)
550 }
551
552 pub fn push_none(&mut self, span: Span) {
553 if let Self::List(values) = self
554 && !values.iter().any(|v| v.value.is_none())
555 {
556 values.push(DocCfgHideShowValue { span, value: None });
557 }
558 }
559
560 pub fn merge_with(&mut self, other: &Self) {
561 match (self, other) {
562 (Self::Any(_), Self::Any(_) | Self::List(_)) => {
563 }
565 (s, Self::Any(span)) => {
566 *s = Self::Any(*span);
568 }
569 (Self::List(values), Self::List(other_values)) => {
570 for other in other_values {
573 if !values.iter().any(|value| value.value == other.value) {
574 values.push(*other);
575 }
576 }
577 }
578 }
579 }
580}
581
582#[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 ::rustc_data_structures::stable_hash::StableHash for CfgHideShow
{
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
match *self {
CfgHideShow { kind: ref __binding_0, values: ref __binding_1
} => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, 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)]
583pub struct CfgHideShow {
584 pub kind: HideOrShow,
585 pub values: FxIndexMap<Symbol, DocCfgHideShow>,
586}
587
588#[derive(#[automatically_derived]
impl ::core::clone::Clone for DocAttribute {
#[inline]
fn clone(&self) -> DocAttribute {
DocAttribute {
first_span: ::core::clone::Clone::clone(&self.first_span),
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 _ =
&["first_span", "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.first_span, &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 {
first_span: ::core::default::Default::default(),
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 ::rustc_data_structures::stable_hash::StableHash for DocAttribute
{
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
match *self {
DocAttribute {
first_span: ref __binding_0,
aliases: ref __binding_1,
hidden: ref __binding_2,
inline: ref __binding_3,
cfg: ref __binding_4,
auto_cfg: ref __binding_5,
auto_cfg_change: ref __binding_6,
fake_variadic: ref __binding_7,
keyword: ref __binding_8,
attribute: ref __binding_9,
masked: ref __binding_10,
notable_trait: ref __binding_11,
search_unbox: ref __binding_12,
html_favicon_url: ref __binding_13,
html_logo_url: ref __binding_14,
html_playground_url: ref __binding_15,
html_root_url: ref __binding_16,
html_no_source: ref __binding_17,
issue_tracker_base_url: ref __binding_18,
rust_logo: ref __binding_19,
test_attrs: ref __binding_20,
no_crate_inject: ref __binding_21 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
{ __binding_3.stable_hash(__hcx, __hasher); }
{ __binding_4.stable_hash(__hcx, __hasher); }
{ __binding_5.stable_hash(__hcx, __hasher); }
{ __binding_6.stable_hash(__hcx, __hasher); }
{ __binding_7.stable_hash(__hcx, __hasher); }
{ __binding_8.stable_hash(__hcx, __hasher); }
{ __binding_9.stable_hash(__hcx, __hasher); }
{ __binding_10.stable_hash(__hcx, __hasher); }
{ __binding_11.stable_hash(__hcx, __hasher); }
{ __binding_12.stable_hash(__hcx, __hasher); }
{ __binding_13.stable_hash(__hcx, __hasher); }
{ __binding_14.stable_hash(__hcx, __hasher); }
{ __binding_15.stable_hash(__hcx, __hasher); }
{ __binding_16.stable_hash(__hcx, __hasher); }
{ __binding_17.stable_hash(__hcx, __hasher); }
{ __binding_18.stable_hash(__hcx, __hasher); }
{ __binding_19.stable_hash(__hcx, __hasher); }
{ __binding_20.stable_hash(__hcx, __hasher); }
{ __binding_21.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for DocAttribute {
fn decode(__decoder: &mut __D) -> Self {
DocAttribute {
first_span: ::rustc_serialize::Decodable::decode(__decoder),
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 {
first_span,
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 && !first_span.should_render() &&
!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 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);
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)]
589pub struct DocAttribute {
590 pub first_span: Span,
591
592 pub aliases: FxIndexMap<Symbol, Span>,
593 pub hidden: Option<Span>,
594 pub inline: ThinVec<(DocInline, Span)>,
597
598 pub cfg: ThinVec<CfgEntry>,
600 pub auto_cfg: ThinVec<(CfgHideShow, Span)>,
601 pub auto_cfg_change: ThinVec<(bool, Span)>,
603
604 pub fake_variadic: Option<Span>,
606 pub keyword: Option<(Symbol, Span)>,
607 pub attribute: Option<(Symbol, Span)>,
608 pub masked: Option<Span>,
609 pub notable_trait: Option<Span>,
610 pub search_unbox: Option<Span>,
611
612 pub html_favicon_url: Option<(Symbol, Span)>,
614 pub html_logo_url: Option<(Symbol, Span)>,
615 pub html_playground_url: Option<(Symbol, Span)>,
616 pub html_root_url: Option<(Symbol, Span)>,
617 pub html_no_source: Option<Span>,
618 pub issue_tracker_base_url: Option<(Symbol, Span)>,
619 pub rust_logo: Option<Span>,
620
621 pub test_attrs: ThinVec<Span>,
623 pub no_crate_inject: Option<Span>,
624}
625
626impl<E: rustc_span::SpanEncoder> rustc_serialize::Encodable<E> for DocAttribute {
627 fn encode(&self, encoder: &mut E) {
628 let DocAttribute {
629 first_span,
630 aliases,
631 hidden,
632 inline,
633 cfg,
634 auto_cfg,
635 auto_cfg_change,
636 fake_variadic,
637 keyword,
638 attribute,
639 masked,
640 notable_trait,
641 search_unbox,
642 html_favicon_url,
643 html_logo_url,
644 html_playground_url,
645 html_root_url,
646 html_no_source,
647 issue_tracker_base_url,
648 rust_logo,
649 test_attrs,
650 no_crate_inject,
651 } = self;
652 rustc_serialize::Encodable::<E>::encode(first_span, encoder);
653 rustc_serialize::Encodable::<E>::encode(aliases, encoder);
654 rustc_serialize::Encodable::<E>::encode(hidden, encoder);
655
656 let inline: ThinVec<_> =
660 inline.iter().filter(|(i, _)| *i != DocInline::Inline).cloned().collect();
661 rustc_serialize::Encodable::<E>::encode(&inline, encoder);
662
663 rustc_serialize::Encodable::<E>::encode(cfg, encoder);
664 rustc_serialize::Encodable::<E>::encode(auto_cfg, encoder);
665 rustc_serialize::Encodable::<E>::encode(auto_cfg_change, encoder);
666 rustc_serialize::Encodable::<E>::encode(fake_variadic, encoder);
667 rustc_serialize::Encodable::<E>::encode(keyword, encoder);
668 rustc_serialize::Encodable::<E>::encode(attribute, encoder);
669 rustc_serialize::Encodable::<E>::encode(masked, encoder);
670 rustc_serialize::Encodable::<E>::encode(notable_trait, encoder);
671 rustc_serialize::Encodable::<E>::encode(search_unbox, encoder);
672 rustc_serialize::Encodable::<E>::encode(html_favicon_url, encoder);
673 rustc_serialize::Encodable::<E>::encode(html_logo_url, encoder);
674 rustc_serialize::Encodable::<E>::encode(html_playground_url, encoder);
675 rustc_serialize::Encodable::<E>::encode(html_root_url, encoder);
676 rustc_serialize::Encodable::<E>::encode(html_no_source, encoder);
677 rustc_serialize::Encodable::<E>::encode(issue_tracker_base_url, encoder);
678 rustc_serialize::Encodable::<E>::encode(rust_logo, encoder);
679 rustc_serialize::Encodable::<E>::encode(test_attrs, encoder);
680 rustc_serialize::Encodable::<E>::encode(no_crate_inject, encoder);
681 }
682}
683
684#[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)]
692#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
CollapseMacroDebuginfo {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
CollapseMacroDebuginfo::No => {}
CollapseMacroDebuginfo::Unspecified => {}
CollapseMacroDebuginfo::External => {}
CollapseMacroDebuginfo::Yes => {}
}
}
}
};StableHash, 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)]
693pub enum CollapseMacroDebuginfo {
694 No = 0,
696 Unspecified = 1,
698 External = 2,
700 Yes = 3,
702}
703
704#[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> {
::core::option::Option::Some(::core::cmp::Ord::cmp(self, other))
}
}PartialOrd, #[automatically_derived]
impl ::core::cmp::Eq for CrateType {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_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)]
706#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for CrateType {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
CrateType::Executable => {}
CrateType::Dylib => {}
CrateType::Rlib => {}
CrateType::StaticLib => {}
CrateType::Cdylib => {}
CrateType::ProcMacro => {}
CrateType::Sdylib => {}
}
}
}
};StableHash, 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)]
707pub enum CrateType {
708 Executable,
710 Dylib,
712 #[default]
714 Rlib,
715 StaticLib,
717 Cdylib,
719 ProcMacro,
721 Sdylib,
724}
725
726impl CrateType {
727 pub fn all() -> &'static [(Symbol, Self)] {
729 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);
730 &[
731 (rustc_span::sym::lib, CrateType::Rlib),
732 (rustc_span::sym::rlib, CrateType::Rlib),
733 (rustc_span::sym::dylib, CrateType::Dylib),
734 (rustc_span::sym::cdylib, CrateType::Cdylib),
735 (rustc_span::sym::staticlib, CrateType::StaticLib),
736 (rustc_span::sym::proc_dash_macro, CrateType::ProcMacro),
737 (rustc_span::sym::bin, CrateType::Executable),
738 (rustc_span::sym::sdylib, CrateType::Sdylib),
739 ]
740 }
741
742 pub fn all_stable() -> &'static [(Symbol, Self)] {
745 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);
746 &[
747 (rustc_span::sym::lib, CrateType::Rlib),
748 (rustc_span::sym::rlib, CrateType::Rlib),
749 (rustc_span::sym::dylib, CrateType::Dylib),
750 (rustc_span::sym::cdylib, CrateType::Cdylib),
751 (rustc_span::sym::staticlib, CrateType::StaticLib),
752 (rustc_span::sym::proc_dash_macro, CrateType::ProcMacro),
753 (rustc_span::sym::bin, CrateType::Executable),
754 ]
755 }
756
757 pub fn has_metadata(self) -> bool {
758 match self {
759 CrateType::Rlib | CrateType::Dylib | CrateType::ProcMacro => true,
760 CrateType::Executable
761 | CrateType::Cdylib
762 | CrateType::StaticLib
763 | CrateType::Sdylib => false,
764 }
765 }
766}
767
768impl TryFrom<Symbol> for CrateType {
769 type Error = ();
770
771 fn try_from(value: Symbol) -> Result<Self, Self::Error> {
772 Ok(match value {
773 rustc_span::sym::bin => CrateType::Executable,
774 rustc_span::sym::dylib => CrateType::Dylib,
775 rustc_span::sym::staticlib => CrateType::StaticLib,
776 rustc_span::sym::cdylib => CrateType::Cdylib,
777 rustc_span::sym::rlib => CrateType::Rlib,
778 rustc_span::sym::lib => CrateType::default(),
779 rustc_span::sym::proc_dash_macro => CrateType::ProcMacro,
780 rustc_span::sym::sdylib => CrateType::Sdylib,
781 _ => return Err(()),
782 })
783 }
784}
785
786impl std::fmt::Display for CrateType {
787 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
788 match *self {
789 CrateType::Executable => "bin".fmt(f),
790 CrateType::Dylib => "dylib".fmt(f),
791 CrateType::Rlib => "rlib".fmt(f),
792 CrateType::StaticLib => "staticlib".fmt(f),
793 CrateType::Cdylib => "cdylib".fmt(f),
794 CrateType::ProcMacro => "proc-macro".fmt(f),
795 CrateType::Sdylib => "sdylib".fmt(f),
796 }
797 }
798}
799
800impl IntoDiagArg for CrateType {
801 fn into_diag_arg(self, _: &mut Option<std::path::PathBuf>) -> DiagArgValue {
802 self.to_string().into_diag_arg(&mut None)
803 }
804}
805
806#[derive(#[automatically_derived]
impl ::core::clone::Clone for RustcDumpLayoutKind {
#[inline]
fn clone(&self) -> RustcDumpLayoutKind {
match self {
RustcDumpLayoutKind::Align => RustcDumpLayoutKind::Align,
RustcDumpLayoutKind::BackendRepr =>
RustcDumpLayoutKind::BackendRepr,
RustcDumpLayoutKind::Debug => RustcDumpLayoutKind::Debug,
RustcDumpLayoutKind::HomogenousAggregate =>
RustcDumpLayoutKind::HomogenousAggregate,
RustcDumpLayoutKind::Size => RustcDumpLayoutKind::Size,
}
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for RustcDumpLayoutKind {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
RustcDumpLayoutKind::Align => "Align",
RustcDumpLayoutKind::BackendRepr => "BackendRepr",
RustcDumpLayoutKind::Debug => "Debug",
RustcDumpLayoutKind::HomogenousAggregate =>
"HomogenousAggregate",
RustcDumpLayoutKind::Size => "Size",
})
}
}Debug, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
RustcDumpLayoutKind {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
RustcDumpLayoutKind::Align => {}
RustcDumpLayoutKind::BackendRepr => {}
RustcDumpLayoutKind::Debug => {}
RustcDumpLayoutKind::HomogenousAggregate => {}
RustcDumpLayoutKind::Size => {}
}
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for RustcDumpLayoutKind {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
RustcDumpLayoutKind::Align => { 0usize }
RustcDumpLayoutKind::BackendRepr => { 1usize }
RustcDumpLayoutKind::Debug => { 2usize }
RustcDumpLayoutKind::HomogenousAggregate => { 3usize }
RustcDumpLayoutKind::Size => { 4usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
RustcDumpLayoutKind::Align => {}
RustcDumpLayoutKind::BackendRepr => {}
RustcDumpLayoutKind::Debug => {}
RustcDumpLayoutKind::HomogenousAggregate => {}
RustcDumpLayoutKind::Size => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for RustcDumpLayoutKind {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { RustcDumpLayoutKind::Align }
1usize => { RustcDumpLayoutKind::BackendRepr }
2usize => { RustcDumpLayoutKind::Debug }
3usize => { RustcDumpLayoutKind::HomogenousAggregate }
4usize => { RustcDumpLayoutKind::Size }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `RustcDumpLayoutKind`, expected 0..5, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for RustcDumpLayoutKind {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Align => { __p.word("Align") }
Self::BackendRepr => { __p.word("BackendRepr") }
Self::Debug => { __p.word("Debug") }
Self::HomogenousAggregate => {
__p.word("HomogenousAggregate")
}
Self::Size => { __p.word("Size") }
}
}
}
};PrintAttribute)]
807pub enum RustcDumpLayoutKind {
808 Align,
809 BackendRepr,
810 Debug,
811 HomogenousAggregate,
812 Size,
813}
814
815#[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 ::rustc_data_structures::stable_hash::StableHash for RustcMirKind
{
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
RustcMirKind::PeekMaybeInit => {}
RustcMirKind::PeekMaybeUninit => {}
RustcMirKind::PeekLiveness => {}
RustcMirKind::StopAfterDataflow => {}
RustcMirKind::BorrowckGraphvizPostflow {
path: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
RustcMirKind::BorrowckGraphvizFormat {
format: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, 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_fields_are_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<PathBuf>;
let _: ::core::cmp::AssertParamIsEq<BorrowckGraphvizFormatKind>;
}
}Eq)]
816pub enum RustcMirKind {
817 PeekMaybeInit,
818 PeekMaybeUninit,
819 PeekLiveness,
820 StopAfterDataflow,
821 BorrowckGraphvizPostflow { path: PathBuf },
822 BorrowckGraphvizFormat { format: BorrowckGraphvizFormatKind },
823}
824
825#[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 ::rustc_data_structures::stable_hash::StableHash for
BorrowckGraphvizFormatKind {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self { BorrowckGraphvizFormatKind::TwoPhase => {} }
}
}
};StableHash, 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_fields_are_eq(&self) {}
}Eq)]
826pub enum BorrowckGraphvizFormatKind {
827 TwoPhase,
828}
829
830#[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_fields_are_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)]
831#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
RustcCleanAttribute {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
match *self {
RustcCleanAttribute {
span: ref __binding_0,
cfg: ref __binding_1,
except: ref __binding_2,
loaded_from_disk: ref __binding_3 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
{ __binding_3.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, 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)]
832pub struct RustcCleanAttribute {
833 pub span: Span,
834 pub cfg: Symbol,
835 pub except: Option<RustcCleanQueries>,
836 pub loaded_from_disk: Option<RustcCleanQueries>,
837}
838
839#[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_fields_are_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<ThinVec<Symbol>>;
let _: ::core::cmp::AssertParamIsEq<Span>;
}
}Eq)]
841#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
RustcCleanQueries {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
match *self {
RustcCleanQueries {
entries: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, 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)]
842pub struct RustcCleanQueries {
843 pub entries: ThinVec<Symbol>,
844 pub span: Span,
845}
846
847#[derive(#[automatically_derived]
impl ::core::clone::Clone for RustcAutodiff {
#[inline]
fn clone(&self) -> RustcAutodiff {
RustcAutodiff {
mode: ::core::clone::Clone::clone(&self.mode),
width: ::core::clone::Clone::clone(&self.width),
input_activity: ::core::clone::Clone::clone(&self.input_activity),
ret_activity: ::core::clone::Clone::clone(&self.ret_activity),
}
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for RustcAutodiff {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field4_finish(f, "RustcAutodiff",
"mode", &self.mode, "width", &self.width, "input_activity",
&self.input_activity, "ret_activity", &&self.ret_activity)
}
}Debug, #[automatically_derived]
impl ::core::cmp::PartialEq for RustcAutodiff {
#[inline]
fn eq(&self, other: &RustcAutodiff) -> bool {
self.width == other.width && self.mode == other.mode &&
self.input_activity == other.input_activity &&
self.ret_activity == other.ret_activity
}
}PartialEq, #[automatically_derived]
impl ::core::cmp::Eq for RustcAutodiff {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<DiffMode>;
let _: ::core::cmp::AssertParamIsEq<u32>;
let _: ::core::cmp::AssertParamIsEq<ThinVec<DiffActivity>>;
let _: ::core::cmp::AssertParamIsEq<DiffActivity>;
}
}Eq)]
848#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
RustcAutodiff {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
match *self {
RustcAutodiff {
mode: ref __binding_0,
width: ref __binding_1,
input_activity: ref __binding_2,
ret_activity: ref __binding_3 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
{ __binding_3.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for RustcAutodiff {
fn encode(&self, __encoder: &mut __E) {
match *self {
RustcAutodiff {
mode: ref __binding_0,
width: ref __binding_1,
input_activity: ref __binding_2,
ret_activity: 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 RustcAutodiff {
fn decode(__decoder: &mut __D) -> Self {
RustcAutodiff {
mode: ::rustc_serialize::Decodable::decode(__decoder),
width: ::rustc_serialize::Decodable::decode(__decoder),
input_activity: ::rustc_serialize::Decodable::decode(__decoder),
ret_activity: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for RustcAutodiff {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
let Self { mode, width, input_activity, ret_activity } = self;
__p.word("RustcAutodiff");
if true && !mode.should_render() && !width.should_render() &&
!input_activity.should_render() &&
!ret_activity.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if mode.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("mode");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
mode.print_attribute(__p);
if width.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("width");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
width.print_attribute(__p);
if input_activity.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("input_activity");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
input_activity.print_attribute(__p);
if ret_activity.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("ret_activity");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
ret_activity.print_attribute(__p);
__p.word("}");
}
}
};PrintAttribute)]
849pub struct RustcAutodiff {
850 pub mode: DiffMode,
854 pub width: u32,
865 pub input_activity: ThinVec<DiffActivity>,
866 pub ret_activity: DiffActivity,
867}
868
869impl RustcAutodiff {
870 pub fn has_primal_ret(&self) -> bool {
871 #[allow(non_exhaustive_omitted_patterns)] match self.ret_activity {
DiffActivity::Active | DiffActivity::Dual => true,
_ => false,
}matches!(self.ret_activity, DiffActivity::Active | DiffActivity::Dual)
872 }
873}
874
875impl RustcAutodiff {
876 pub fn has_ret_activity(&self) -> bool {
877 self.ret_activity != DiffActivity::None
878 }
879 pub fn has_active_only_ret(&self) -> bool {
880 self.ret_activity == DiffActivity::ActiveOnly
881 }
882
883 pub fn error() -> Self {
884 RustcAutodiff {
885 mode: DiffMode::Error,
886 width: 0,
887 ret_activity: DiffActivity::None,
888 input_activity: ThinVec::new(),
889 }
890 }
891
892 pub fn source() -> Self {
893 RustcAutodiff {
894 mode: DiffMode::Source,
895 width: 0,
896 ret_activity: DiffActivity::None,
897 input_activity: ThinVec::new(),
898 }
899 }
900
901 pub fn is_active(&self) -> bool {
902 self.mode != DiffMode::Error
903 }
904
905 pub fn is_source(&self) -> bool {
906 self.mode == DiffMode::Source
907 }
908 pub fn apply_autodiff(&self) -> bool {
909 !#[allow(non_exhaustive_omitted_patterns)] match self.mode {
DiffMode::Error | DiffMode::Source => true,
_ => false,
}matches!(self.mode, DiffMode::Error | DiffMode::Source)
910 }
911
912 pub fn into_item(
913 self,
914 source: String,
915 target: String,
916 inputs: Vec<TypeTree>,
917 output: TypeTree,
918 ) -> AutoDiffItem {
919 AutoDiffItem { source, target, inputs, output, attrs: self }
920 }
921}
922
923#[derive(#[automatically_derived]
impl ::core::clone::Clone for AutoDiffItem {
#[inline]
fn clone(&self) -> AutoDiffItem {
AutoDiffItem {
source: ::core::clone::Clone::clone(&self.source),
target: ::core::clone::Clone::clone(&self.target),
attrs: ::core::clone::Clone::clone(&self.attrs),
inputs: ::core::clone::Clone::clone(&self.inputs),
output: ::core::clone::Clone::clone(&self.output),
}
}
}Clone, #[automatically_derived]
impl ::core::cmp::Eq for AutoDiffItem {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<String>;
let _: ::core::cmp::AssertParamIsEq<RustcAutodiff>;
let _: ::core::cmp::AssertParamIsEq<Vec<TypeTree>>;
let _: ::core::cmp::AssertParamIsEq<TypeTree>;
}
}Eq, #[automatically_derived]
impl ::core::cmp::PartialEq for AutoDiffItem {
#[inline]
fn eq(&self, other: &AutoDiffItem) -> bool {
self.source == other.source && self.target == other.target &&
self.attrs == other.attrs && self.inputs == other.inputs &&
self.output == other.output
}
}PartialEq, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for AutoDiffItem {
fn encode(&self, __encoder: &mut __E) {
match *self {
AutoDiffItem {
source: ref __binding_0,
target: ref __binding_1,
attrs: ref __binding_2,
inputs: ref __binding_3,
output: 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 AutoDiffItem {
fn decode(__decoder: &mut __D) -> Self {
AutoDiffItem {
source: ::rustc_serialize::Decodable::decode(__decoder),
target: ::rustc_serialize::Decodable::decode(__decoder),
attrs: ::rustc_serialize::Decodable::decode(__decoder),
inputs: ::rustc_serialize::Decodable::decode(__decoder),
output: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, #[automatically_derived]
impl ::core::fmt::Debug for AutoDiffItem {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field5_finish(f, "AutoDiffItem",
"source", &self.source, "target", &self.target, "attrs",
&self.attrs, "inputs", &self.inputs, "output", &&self.output)
}
}Debug, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for AutoDiffItem
{
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
match *self {
AutoDiffItem {
source: ref __binding_0,
target: ref __binding_1,
attrs: ref __binding_2,
inputs: ref __binding_3,
output: ref __binding_4 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
{ __binding_3.stable_hash(__hcx, __hasher); }
{ __binding_4.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash)]
925pub struct AutoDiffItem {
926 pub source: String,
928 pub target: String,
930 pub attrs: RustcAutodiff,
931 pub inputs: Vec<TypeTree>,
932 pub output: TypeTree,
933}
934
935impl fmt::Display for AutoDiffItem {
936 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
937 f.write_fmt(format_args!("Differentiating {0} -> {1}", self.source,
self.target))write!(f, "Differentiating {} -> {}", self.source, self.target)?;
938 f.write_fmt(format_args!(" with attributes: {0:?}", self.attrs))write!(f, " with attributes: {:?}", self.attrs)?;
939 f.write_fmt(format_args!(" with inputs: {0:?}", self.inputs))write!(f, " with inputs: {:?}", self.inputs)?;
940 f.write_fmt(format_args!(" with output: {0:?}", self.output))write!(f, " with output: {:?}", self.output)
941 }
942}
943
944#[derive(#[automatically_derived]
impl ::core::clone::Clone for UnstableRemovedFeature {
#[inline]
fn clone(&self) -> UnstableRemovedFeature {
UnstableRemovedFeature {
feature: ::core::clone::Clone::clone(&self.feature),
reason: ::core::clone::Clone::clone(&self.reason),
link: ::core::clone::Clone::clone(&self.link),
since: ::core::clone::Clone::clone(&self.since),
}
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for UnstableRemovedFeature {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field4_finish(f,
"UnstableRemovedFeature", "feature", &self.feature, "reason",
&self.reason, "link", &self.link, "since", &&self.since)
}
}Debug, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
UnstableRemovedFeature {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
match *self {
UnstableRemovedFeature {
feature: ref __binding_0,
reason: ref __binding_1,
link: ref __binding_2,
since: ref __binding_3 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
{ __binding_3.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for UnstableRemovedFeature {
fn encode(&self, __encoder: &mut __E) {
match *self {
UnstableRemovedFeature {
feature: ref __binding_0,
reason: ref __binding_1,
link: ref __binding_2,
since: 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 UnstableRemovedFeature {
fn decode(__decoder: &mut __D) -> Self {
UnstableRemovedFeature {
feature: ::rustc_serialize::Decodable::decode(__decoder),
reason: ::rustc_serialize::Decodable::decode(__decoder),
link: ::rustc_serialize::Decodable::decode(__decoder),
since: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for UnstableRemovedFeature {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
let Self { feature, reason, link, since } = self;
__p.word("UnstableRemovedFeature");
if true && !feature.should_render() && !reason.should_render()
&& !link.should_render() && !since.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if feature.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("feature");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
feature.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);
if link.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("link");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
link.print_attribute(__p);
if since.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("since");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
since.print_attribute(__p);
__p.word("}");
}
}
};PrintAttribute)]
945pub struct UnstableRemovedFeature {
946 pub feature: Symbol,
947 pub reason: Symbol,
948 pub link: Symbol,
949 pub since: RustcVersion,
950}
951
952#[derive(#[automatically_derived]
impl ::core::clone::Clone for AttributeKind {
#[inline]
fn clone(&self) -> AttributeKind {
match self {
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 =>
AttributeKind::AutomaticallyDerived,
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 => AttributeKind::Cold,
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 => AttributeKind::Coroutine,
AttributeKind::Coverage(__self_0) =>
AttributeKind::Coverage(::core::clone::Clone::clone(__self_0)),
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) =>
AttributeKind::CustomMir(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::DebuggerVisualizer(__self_0) =>
AttributeKind::DebuggerVisualizer(::core::clone::Clone::clone(__self_0)),
AttributeKind::DefaultLibAllocator =>
AttributeKind::DefaultLibAllocator,
AttributeKind::Deprecated { deprecation: __self_0, span: __self_1
} =>
AttributeKind::Deprecated {
deprecation: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::DoNotRecommend => AttributeKind::DoNotRecommend,
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::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::Feature(__self_0, __self_1) =>
AttributeKind::Feature(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::FfiConst => AttributeKind::FfiConst,
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::InstrumentFn(__self_0) =>
AttributeKind::InstrumentFn(::core::clone::Clone::clone(__self_0)),
AttributeKind::Lang(__self_0) =>
AttributeKind::Lang(::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 } =>
AttributeKind::LinkSection {
name: ::core::clone::Clone::clone(__self_0),
},
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 => AttributeKind::MacroEscape,
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 => AttributeKind::Marker,
AttributeKind::MayDangle(__self_0) =>
AttributeKind::MayDangle(::core::clone::Clone::clone(__self_0)),
AttributeKind::MoveSizeLimit { limit: __self_0 } =>
AttributeKind::MoveSizeLimit {
limit: ::core::clone::Clone::clone(__self_0),
},
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 => AttributeKind::NoCore,
AttributeKind::NoImplicitPrelude =>
AttributeKind::NoImplicitPrelude,
AttributeKind::NoLink => AttributeKind::NoLink,
AttributeKind::NoMain => AttributeKind::NoMain,
AttributeKind::NoMangle(__self_0) =>
AttributeKind::NoMangle(::core::clone::Clone::clone(__self_0)),
AttributeKind::NoStd => AttributeKind::NoStd,
AttributeKind::NonExhaustive(__self_0) =>
AttributeKind::NonExhaustive(::core::clone::Clone::clone(__self_0)),
AttributeKind::OnConst { span: __self_0, directive: __self_1 } =>
AttributeKind::OnConst {
span: ::core::clone::Clone::clone(__self_0),
directive: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::OnMove { directive: __self_0 } =>
AttributeKind::OnMove {
directive: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::OnTypeError { span: __self_0, directive: __self_1 }
=>
AttributeKind::OnTypeError {
span: ::core::clone::Clone::clone(__self_0),
directive: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::OnUnimplemented { directive: __self_0 } =>
AttributeKind::OnUnimplemented {
directive: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::OnUnknown { directive: __self_0 } =>
AttributeKind::OnUnknown {
directive: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::OnUnmatchedArgs { directive: __self_0 } =>
AttributeKind::OnUnmatchedArgs {
directive: ::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, section: __self_2 } =>
AttributeKind::PatchableFunctionEntry {
prefix: ::core::clone::Clone::clone(__self_0),
entry: ::core::clone::Clone::clone(__self_1),
section: ::core::clone::Clone::clone(__self_2),
},
AttributeKind::Path(__self_0) =>
AttributeKind::Path(::core::clone::Clone::clone(__self_0)),
AttributeKind::PatternComplexityLimit { limit: __self_0 } =>
AttributeKind::PatternComplexityLimit {
limit: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::PinV2(__self_0) =>
AttributeKind::PinV2(::core::clone::Clone::clone(__self_0)),
AttributeKind::PreludeImport => AttributeKind::PreludeImport,
AttributeKind::ProcMacro => AttributeKind::ProcMacro,
AttributeKind::ProcMacroAttribute =>
AttributeKind::ProcMacroAttribute,
AttributeKind::ProcMacroDerive {
trait_name: __self_0, helper_attrs: __self_1 } =>
AttributeKind::ProcMacroDerive {
trait_name: ::core::clone::Clone::clone(__self_0),
helper_attrs: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::ProfilerRuntime => AttributeKind::ProfilerRuntime,
AttributeKind::RecursionLimit { limit: __self_0 } =>
AttributeKind::RecursionLimit {
limit: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::ReexportTestHarnessMain(__self_0) =>
AttributeKind::ReexportTestHarnessMain(::core::clone::Clone::clone(__self_0)),
AttributeKind::RegisterTool(__self_0) =>
AttributeKind::RegisterTool(::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::RustcAlign { align: __self_0, span: __self_1 } =>
AttributeKind::RustcAlign {
align: ::core::clone::Clone::clone(__self_0),
span: ::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 => AttributeKind::RustcAsPtr,
AttributeKind::RustcAutodiff(__self_0) =>
AttributeKind::RustcAutodiff(::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 } =>
AttributeKind::RustcBuiltinMacro {
builtin_name: ::core::clone::Clone::clone(__self_0),
helper_attrs: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcCaptureAnalysis =>
AttributeKind::RustcCaptureAnalysis,
AttributeKind::RustcCguTestAttr(__self_0) =>
AttributeKind::RustcCguTestAttr(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcClean(__self_0) =>
AttributeKind::RustcClean(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcCoherenceIsCore =>
AttributeKind::RustcCoherenceIsCore,
AttributeKind::RustcCoinductive =>
AttributeKind::RustcCoinductive,
AttributeKind::RustcComptime(__self_0) =>
AttributeKind::RustcComptime(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcConfusables { confusables: __self_0 } =>
AttributeKind::RustcConfusables {
confusables: ::core::clone::Clone::clone(__self_0),
},
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::RustcConstStableIndirect =>
AttributeKind::RustcConstStableIndirect,
AttributeKind::RustcConversionSuggestion =>
AttributeKind::RustcConversionSuggestion,
AttributeKind::RustcDeallocator =>
AttributeKind::RustcDeallocator,
AttributeKind::RustcDelayedBugFromInsideQuery =>
AttributeKind::RustcDelayedBugFromInsideQuery,
AttributeKind::RustcDenyExplicitImpl =>
AttributeKind::RustcDenyExplicitImpl,
AttributeKind::RustcDeprecatedSafe2024 { suggestion: __self_0 } =>
AttributeKind::RustcDeprecatedSafe2024 {
suggestion: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::RustcDiagnosticItem(__self_0) =>
AttributeKind::RustcDiagnosticItem(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcDoNotConstCheck =>
AttributeKind::RustcDoNotConstCheck,
AttributeKind::RustcDocPrimitive(__self_0, __self_1) =>
AttributeKind::RustcDocPrimitive(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::RustcDummy => AttributeKind::RustcDummy,
AttributeKind::RustcDumpDefParents =>
AttributeKind::RustcDumpDefParents,
AttributeKind::RustcDumpDefPath(__self_0) =>
AttributeKind::RustcDumpDefPath(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcDumpGenerics =>
AttributeKind::RustcDumpGenerics,
AttributeKind::RustcDumpHiddenTypeOfOpaques =>
AttributeKind::RustcDumpHiddenTypeOfOpaques,
AttributeKind::RustcDumpInferredOutlives =>
AttributeKind::RustcDumpInferredOutlives,
AttributeKind::RustcDumpItemBounds =>
AttributeKind::RustcDumpItemBounds,
AttributeKind::RustcDumpLayout(__self_0) =>
AttributeKind::RustcDumpLayout(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcDumpObjectLifetimeDefaults =>
AttributeKind::RustcDumpObjectLifetimeDefaults,
AttributeKind::RustcDumpPredicates =>
AttributeKind::RustcDumpPredicates,
AttributeKind::RustcDumpSymbolName(__self_0) =>
AttributeKind::RustcDumpSymbolName(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcDumpUserArgs =>
AttributeKind::RustcDumpUserArgs,
AttributeKind::RustcDumpVariances =>
AttributeKind::RustcDumpVariances,
AttributeKind::RustcDumpVariancesOfOpaques =>
AttributeKind::RustcDumpVariancesOfOpaques,
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::RustcEiiForeignItem =>
AttributeKind::RustcEiiForeignItem,
AttributeKind::RustcEvaluateWhereClauses =>
AttributeKind::RustcEvaluateWhereClauses,
AttributeKind::RustcHasIncoherentInherentImpls =>
AttributeKind::RustcHasIncoherentInherentImpls,
AttributeKind::RustcIfThisChanged(__self_0, __self_1) =>
AttributeKind::RustcIfThisChanged(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::RustcInheritOverflowChecks =>
AttributeKind::RustcInheritOverflowChecks,
AttributeKind::RustcInsignificantDtor =>
AttributeKind::RustcInsignificantDtor,
AttributeKind::RustcIntrinsic => AttributeKind::RustcIntrinsic,
AttributeKind::RustcIntrinsicConstStableIndirect =>
AttributeKind::RustcIntrinsicConstStableIndirect,
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::RustcMustMatchExhaustively(__self_0) =>
AttributeKind::RustcMustMatchExhaustively(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcNeverReturnsNullPtr =>
AttributeKind::RustcNeverReturnsNullPtr,
AttributeKind::RustcNeverTypeOptions {
fallback: __self_0, diverging_block_default: __self_1 } =>
AttributeKind::RustcNeverTypeOptions {
fallback: ::core::clone::Clone::clone(__self_0),
diverging_block_default: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcNoImplicitAutorefs =>
AttributeKind::RustcNoImplicitAutorefs,
AttributeKind::RustcNoImplicitBounds =>
AttributeKind::RustcNoImplicitBounds,
AttributeKind::RustcNoMirInline =>
AttributeKind::RustcNoMirInline,
AttributeKind::RustcNoWritable => AttributeKind::RustcNoWritable,
AttributeKind::RustcNonConstTraitMethod =>
AttributeKind::RustcNonConstTraitMethod,
AttributeKind::RustcNonnullOptimizationGuaranteed =>
AttributeKind::RustcNonnullOptimizationGuaranteed,
AttributeKind::RustcNounwind => AttributeKind::RustcNounwind,
AttributeKind::RustcObjcClass { classname: __self_0 } =>
AttributeKind::RustcObjcClass {
classname: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::RustcObjcSelector { methname: __self_0 } =>
AttributeKind::RustcObjcSelector {
methname: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::RustcOffloadKernel =>
AttributeKind::RustcOffloadKernel,
AttributeKind::RustcParenSugar => AttributeKind::RustcParenSugar,
AttributeKind::RustcPassByValue =>
AttributeKind::RustcPassByValue,
AttributeKind::RustcPassIndirectlyInNonRusticAbis(__self_0) =>
AttributeKind::RustcPassIndirectlyInNonRusticAbis(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcPreserveUbChecks =>
AttributeKind::RustcPreserveUbChecks,
AttributeKind::RustcProcMacroDecls =>
AttributeKind::RustcProcMacroDecls,
AttributeKind::RustcPubTransparent(__self_0) =>
AttributeKind::RustcPubTransparent(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcReallocator =>
AttributeKind::RustcReallocator,
AttributeKind::RustcRegions => AttributeKind::RustcRegions,
AttributeKind::RustcReservationImpl(__self_0) =>
AttributeKind::RustcReservationImpl(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcScalableVector { element_count: __self_0 } =>
AttributeKind::RustcScalableVector {
element_count: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::RustcShouldNotBeCalledOnConstItems =>
AttributeKind::RustcShouldNotBeCalledOnConstItems,
AttributeKind::RustcSimdMonomorphizeLaneLimit(__self_0) =>
AttributeKind::RustcSimdMonomorphizeLaneLimit(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcSkipDuringMethodDispatch {
array: __self_0, boxed_slice: __self_1 } =>
AttributeKind::RustcSkipDuringMethodDispatch {
array: ::core::clone::Clone::clone(__self_0),
boxed_slice: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcSpecializationTrait =>
AttributeKind::RustcSpecializationTrait,
AttributeKind::RustcStdInternalSymbol =>
AttributeKind::RustcStdInternalSymbol,
AttributeKind::RustcStrictCoherence(__self_0) =>
AttributeKind::RustcStrictCoherence(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcTestMarker(__self_0) =>
AttributeKind::RustcTestMarker(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcThenThisWouldNeed(__self_0) =>
AttributeKind::RustcThenThisWouldNeed(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcTrivialFieldReads =>
AttributeKind::RustcTrivialFieldReads,
AttributeKind::RustcUnsafeSpecializationMarker =>
AttributeKind::RustcUnsafeSpecializationMarker,
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 } =>
AttributeKind::ShouldPanic {
reason: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::Splat(__self_0) =>
AttributeKind::Splat(::core::clone::Clone::clone(__self_0)),
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::TestRunner(__self_0) =>
AttributeKind::TestRunner(::core::clone::Clone::clone(__self_0)),
AttributeKind::ThreadLocal => AttributeKind::ThreadLocal,
AttributeKind::TrackCaller(__self_0) =>
AttributeKind::TrackCaller(::core::clone::Clone::clone(__self_0)),
AttributeKind::TypeLengthLimit { limit: __self_0 } =>
AttributeKind::TypeLengthLimit {
limit: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::Unroll(__self_0) =>
AttributeKind::Unroll(::core::clone::Clone::clone(__self_0)),
AttributeKind::UnstableFeatureBound(__self_0) =>
AttributeKind::UnstableFeatureBound(::core::clone::Clone::clone(__self_0)),
AttributeKind::UnstableRemoved(__self_0) =>
AttributeKind::UnstableRemoved(::core::clone::Clone::clone(__self_0)),
AttributeKind::Used { used_by: __self_0 } =>
AttributeKind::Used {
used_by: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::WindowsSubsystem(__self_0) =>
AttributeKind::WindowsSubsystem(::core::clone::Clone::clone(__self_0)),
}
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for AttributeKind {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
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 =>
::core::fmt::Formatter::write_str(f, "AutomaticallyDerived"),
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 =>
::core::fmt::Formatter::write_str(f, "Cold"),
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 =>
::core::fmt::Formatter::write_str(f, "Coroutine"),
AttributeKind::Coverage(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"Coverage", &__self_0),
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) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"CustomMir", __self_0, &__self_1),
AttributeKind::DebuggerVisualizer(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"DebuggerVisualizer", &__self_0),
AttributeKind::DefaultLibAllocator =>
::core::fmt::Formatter::write_str(f, "DefaultLibAllocator"),
AttributeKind::Deprecated { deprecation: __self_0, span: __self_1
} =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"Deprecated", "deprecation", __self_0, "span", &__self_1),
AttributeKind::DoNotRecommend =>
::core::fmt::Formatter::write_str(f, "DoNotRecommend"),
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::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::Feature(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"Feature", __self_0, &__self_1),
AttributeKind::FfiConst =>
::core::fmt::Formatter::write_str(f, "FfiConst"),
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::InstrumentFn(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"InstrumentFn", &__self_0),
AttributeKind::Lang(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Lang",
&__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 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"LinkSection", "name", &__self_0),
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 =>
::core::fmt::Formatter::write_str(f, "MacroEscape"),
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 =>
::core::fmt::Formatter::write_str(f, "Marker"),
AttributeKind::MayDangle(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"MayDangle", &__self_0),
AttributeKind::MoveSizeLimit { limit: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"MoveSizeLimit", "limit", &__self_0),
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 =>
::core::fmt::Formatter::write_str(f, "NoCore"),
AttributeKind::NoImplicitPrelude =>
::core::fmt::Formatter::write_str(f, "NoImplicitPrelude"),
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 =>
::core::fmt::Formatter::write_str(f, "NoStd"),
AttributeKind::NonExhaustive(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"NonExhaustive", &__self_0),
AttributeKind::OnConst { span: __self_0, directive: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"OnConst", "span", __self_0, "directive", &__self_1),
AttributeKind::OnMove { directive: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"OnMove", "directive", &__self_0),
AttributeKind::OnTypeError { span: __self_0, directive: __self_1 }
=>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"OnTypeError", "span", __self_0, "directive", &__self_1),
AttributeKind::OnUnimplemented { directive: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"OnUnimplemented", "directive", &__self_0),
AttributeKind::OnUnknown { directive: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"OnUnknown", "directive", &__self_0),
AttributeKind::OnUnmatchedArgs { directive: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"OnUnmatchedArgs", "directive", &__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, section: __self_2 } =>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"PatchableFunctionEntry", "prefix", __self_0, "entry",
__self_1, "section", &__self_2),
AttributeKind::Path(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Path",
&__self_0),
AttributeKind::PatternComplexityLimit { limit: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"PatternComplexityLimit", "limit", &__self_0),
AttributeKind::PinV2(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "PinV2",
&__self_0),
AttributeKind::PreludeImport =>
::core::fmt::Formatter::write_str(f, "PreludeImport"),
AttributeKind::ProcMacro =>
::core::fmt::Formatter::write_str(f, "ProcMacro"),
AttributeKind::ProcMacroAttribute =>
::core::fmt::Formatter::write_str(f, "ProcMacroAttribute"),
AttributeKind::ProcMacroDerive {
trait_name: __self_0, helper_attrs: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"ProcMacroDerive", "trait_name", __self_0, "helper_attrs",
&__self_1),
AttributeKind::ProfilerRuntime =>
::core::fmt::Formatter::write_str(f, "ProfilerRuntime"),
AttributeKind::RecursionLimit { limit: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"RecursionLimit", "limit", &__self_0),
AttributeKind::ReexportTestHarnessMain(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"ReexportTestHarnessMain", &__self_0),
AttributeKind::RegisterTool(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RegisterTool", &__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::RustcAlign { align: __self_0, span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcAlign", "align", __self_0, "span", &__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 =>
::core::fmt::Formatter::write_str(f, "RustcAsPtr"),
AttributeKind::RustcAutodiff(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcAutodiff", &__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 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcBuiltinMacro", "builtin_name", __self_0,
"helper_attrs", &__self_1),
AttributeKind::RustcCaptureAnalysis =>
::core::fmt::Formatter::write_str(f, "RustcCaptureAnalysis"),
AttributeKind::RustcCguTestAttr(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcCguTestAttr", &__self_0),
AttributeKind::RustcClean(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcClean", &__self_0),
AttributeKind::RustcCoherenceIsCore =>
::core::fmt::Formatter::write_str(f, "RustcCoherenceIsCore"),
AttributeKind::RustcCoinductive =>
::core::fmt::Formatter::write_str(f, "RustcCoinductive"),
AttributeKind::RustcComptime(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcComptime", &__self_0),
AttributeKind::RustcConfusables { confusables: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"RustcConfusables", "confusables", &__self_0),
AttributeKind::RustcConstStability {
stability: __self_0, span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcConstStability", "stability", __self_0, "span",
&__self_1),
AttributeKind::RustcConstStableIndirect =>
::core::fmt::Formatter::write_str(f,
"RustcConstStableIndirect"),
AttributeKind::RustcConversionSuggestion =>
::core::fmt::Formatter::write_str(f,
"RustcConversionSuggestion"),
AttributeKind::RustcDeallocator =>
::core::fmt::Formatter::write_str(f, "RustcDeallocator"),
AttributeKind::RustcDelayedBugFromInsideQuery =>
::core::fmt::Formatter::write_str(f,
"RustcDelayedBugFromInsideQuery"),
AttributeKind::RustcDenyExplicitImpl =>
::core::fmt::Formatter::write_str(f, "RustcDenyExplicitImpl"),
AttributeKind::RustcDeprecatedSafe2024 { suggestion: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"RustcDeprecatedSafe2024", "suggestion", &__self_0),
AttributeKind::RustcDiagnosticItem(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcDiagnosticItem", &__self_0),
AttributeKind::RustcDoNotConstCheck =>
::core::fmt::Formatter::write_str(f, "RustcDoNotConstCheck"),
AttributeKind::RustcDocPrimitive(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"RustcDocPrimitive", __self_0, &__self_1),
AttributeKind::RustcDummy =>
::core::fmt::Formatter::write_str(f, "RustcDummy"),
AttributeKind::RustcDumpDefParents =>
::core::fmt::Formatter::write_str(f, "RustcDumpDefParents"),
AttributeKind::RustcDumpDefPath(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcDumpDefPath", &__self_0),
AttributeKind::RustcDumpGenerics =>
::core::fmt::Formatter::write_str(f, "RustcDumpGenerics"),
AttributeKind::RustcDumpHiddenTypeOfOpaques =>
::core::fmt::Formatter::write_str(f,
"RustcDumpHiddenTypeOfOpaques"),
AttributeKind::RustcDumpInferredOutlives =>
::core::fmt::Formatter::write_str(f,
"RustcDumpInferredOutlives"),
AttributeKind::RustcDumpItemBounds =>
::core::fmt::Formatter::write_str(f, "RustcDumpItemBounds"),
AttributeKind::RustcDumpLayout(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcDumpLayout", &__self_0),
AttributeKind::RustcDumpObjectLifetimeDefaults =>
::core::fmt::Formatter::write_str(f,
"RustcDumpObjectLifetimeDefaults"),
AttributeKind::RustcDumpPredicates =>
::core::fmt::Formatter::write_str(f, "RustcDumpPredicates"),
AttributeKind::RustcDumpSymbolName(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcDumpSymbolName", &__self_0),
AttributeKind::RustcDumpUserArgs =>
::core::fmt::Formatter::write_str(f, "RustcDumpUserArgs"),
AttributeKind::RustcDumpVariances =>
::core::fmt::Formatter::write_str(f, "RustcDumpVariances"),
AttributeKind::RustcDumpVariancesOfOpaques =>
::core::fmt::Formatter::write_str(f,
"RustcDumpVariancesOfOpaques"),
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::RustcEiiForeignItem =>
::core::fmt::Formatter::write_str(f, "RustcEiiForeignItem"),
AttributeKind::RustcEvaluateWhereClauses =>
::core::fmt::Formatter::write_str(f,
"RustcEvaluateWhereClauses"),
AttributeKind::RustcHasIncoherentInherentImpls =>
::core::fmt::Formatter::write_str(f,
"RustcHasIncoherentInherentImpls"),
AttributeKind::RustcIfThisChanged(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"RustcIfThisChanged", __self_0, &__self_1),
AttributeKind::RustcInheritOverflowChecks =>
::core::fmt::Formatter::write_str(f,
"RustcInheritOverflowChecks"),
AttributeKind::RustcInsignificantDtor =>
::core::fmt::Formatter::write_str(f,
"RustcInsignificantDtor"),
AttributeKind::RustcIntrinsic =>
::core::fmt::Formatter::write_str(f, "RustcIntrinsic"),
AttributeKind::RustcIntrinsicConstStableIndirect =>
::core::fmt::Formatter::write_str(f,
"RustcIntrinsicConstStableIndirect"),
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::RustcMustMatchExhaustively(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcMustMatchExhaustively", &__self_0),
AttributeKind::RustcNeverReturnsNullPtr =>
::core::fmt::Formatter::write_str(f,
"RustcNeverReturnsNullPtr"),
AttributeKind::RustcNeverTypeOptions {
fallback: __self_0, diverging_block_default: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcNeverTypeOptions", "fallback", __self_0,
"diverging_block_default", &__self_1),
AttributeKind::RustcNoImplicitAutorefs =>
::core::fmt::Formatter::write_str(f,
"RustcNoImplicitAutorefs"),
AttributeKind::RustcNoImplicitBounds =>
::core::fmt::Formatter::write_str(f, "RustcNoImplicitBounds"),
AttributeKind::RustcNoMirInline =>
::core::fmt::Formatter::write_str(f, "RustcNoMirInline"),
AttributeKind::RustcNoWritable =>
::core::fmt::Formatter::write_str(f, "RustcNoWritable"),
AttributeKind::RustcNonConstTraitMethod =>
::core::fmt::Formatter::write_str(f,
"RustcNonConstTraitMethod"),
AttributeKind::RustcNonnullOptimizationGuaranteed =>
::core::fmt::Formatter::write_str(f,
"RustcNonnullOptimizationGuaranteed"),
AttributeKind::RustcNounwind =>
::core::fmt::Formatter::write_str(f, "RustcNounwind"),
AttributeKind::RustcObjcClass { classname: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"RustcObjcClass", "classname", &__self_0),
AttributeKind::RustcObjcSelector { methname: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"RustcObjcSelector", "methname", &__self_0),
AttributeKind::RustcOffloadKernel =>
::core::fmt::Formatter::write_str(f, "RustcOffloadKernel"),
AttributeKind::RustcParenSugar =>
::core::fmt::Formatter::write_str(f, "RustcParenSugar"),
AttributeKind::RustcPassByValue =>
::core::fmt::Formatter::write_str(f, "RustcPassByValue"),
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::RustcProcMacroDecls =>
::core::fmt::Formatter::write_str(f, "RustcProcMacroDecls"),
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::RustcRegions =>
::core::fmt::Formatter::write_str(f, "RustcRegions"),
AttributeKind::RustcReservationImpl(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcReservationImpl", &__self_0),
AttributeKind::RustcScalableVector { element_count: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"RustcScalableVector", "element_count", &__self_0),
AttributeKind::RustcShouldNotBeCalledOnConstItems =>
::core::fmt::Formatter::write_str(f,
"RustcShouldNotBeCalledOnConstItems"),
AttributeKind::RustcSimdMonomorphizeLaneLimit(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcSimdMonomorphizeLaneLimit", &__self_0),
AttributeKind::RustcSkipDuringMethodDispatch {
array: __self_0, boxed_slice: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcSkipDuringMethodDispatch", "array", __self_0,
"boxed_slice", &__self_1),
AttributeKind::RustcSpecializationTrait =>
::core::fmt::Formatter::write_str(f,
"RustcSpecializationTrait"),
AttributeKind::RustcStdInternalSymbol =>
::core::fmt::Formatter::write_str(f,
"RustcStdInternalSymbol"),
AttributeKind::RustcStrictCoherence(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcStrictCoherence", &__self_0),
AttributeKind::RustcTestMarker(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcTestMarker", &__self_0),
AttributeKind::RustcThenThisWouldNeed(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcThenThisWouldNeed", &__self_0),
AttributeKind::RustcTrivialFieldReads =>
::core::fmt::Formatter::write_str(f,
"RustcTrivialFieldReads"),
AttributeKind::RustcUnsafeSpecializationMarker =>
::core::fmt::Formatter::write_str(f,
"RustcUnsafeSpecializationMarker"),
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 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"ShouldPanic", "reason", &__self_0),
AttributeKind::Splat(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Splat",
&__self_0),
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::TestRunner(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"TestRunner", &__self_0),
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::TypeLengthLimit { limit: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"TypeLengthLimit", "limit", &__self_0),
AttributeKind::Unroll(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Unroll",
&__self_0),
AttributeKind::UnstableFeatureBound(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"UnstableFeatureBound", &__self_0),
AttributeKind::UnstableRemoved(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"UnstableRemoved", &__self_0),
AttributeKind::Used { used_by: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f, "Used",
"used_by", &__self_0),
AttributeKind::WindowsSubsystem(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"WindowsSubsystem", &__self_0),
}
}
}Debug, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
AttributeKind {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
AttributeKind::AllowInternalUnsafe(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::AllowInternalUnstable(ref __binding_0,
ref __binding_1) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::AutomaticallyDerived => {}
AttributeKind::CfgAttrTrace => {}
AttributeKind::CfgTrace(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::CfiEncoding { encoding: ref __binding_0 } =>
{
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::Cold => {}
AttributeKind::CollapseDebugInfo(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::CompilerBuiltins => {}
AttributeKind::ConstContinue(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::Coroutine => {}
AttributeKind::Coverage(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::CrateName {
name: ref __binding_0,
name_span: ref __binding_1,
attr_span: ref __binding_2 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
}
AttributeKind::CrateType(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::CustomMir(ref __binding_0, ref __binding_1)
=> {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::DebuggerVisualizer(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::DefaultLibAllocator => {}
AttributeKind::Deprecated {
deprecation: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::DoNotRecommend => {}
AttributeKind::Doc(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::DocComment {
style: ref __binding_0,
kind: ref __binding_1,
span: ref __binding_2,
comment: ref __binding_3 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
{ __binding_3.stable_hash(__hcx, __hasher); }
}
AttributeKind::EiiDeclaration(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::EiiImpls(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::ExportName {
name: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::ExportStable => {}
AttributeKind::Feature(ref __binding_0, ref __binding_1) =>
{
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::FfiConst => {}
AttributeKind::FfiPure(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::Fundamental => {}
AttributeKind::Ignore {
span: ref __binding_0, reason: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::Inline(ref __binding_0, ref __binding_1) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::InstructionSet(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::InstrumentFn(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::Lang(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::Link(ref __binding_0, ref __binding_1) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::LinkName {
name: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::LinkOrdinal {
ordinal: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::LinkSection { name: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::Linkage(ref __binding_0, ref __binding_1) =>
{
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::LoopMatch(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::MacroEscape => {}
AttributeKind::MacroExport {
span: ref __binding_0, local_inner_macros: ref __binding_1 }
=> {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::MacroUse {
span: ref __binding_0, arguments: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::Marker => {}
AttributeKind::MayDangle(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::MoveSizeLimit { limit: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::MustNotSupend { reason: ref __binding_0 } =>
{
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::MustUse {
span: ref __binding_0, reason: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::Naked(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::NeedsAllocator => {}
AttributeKind::NeedsPanicRuntime => {}
AttributeKind::NoBuiltins => {}
AttributeKind::NoCore => {}
AttributeKind::NoImplicitPrelude => {}
AttributeKind::NoLink => {}
AttributeKind::NoMain => {}
AttributeKind::NoMangle(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::NoStd => {}
AttributeKind::NonExhaustive(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::OnConst {
span: ref __binding_0, directive: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::OnMove { directive: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::OnTypeError {
span: ref __binding_0, directive: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::OnUnimplemented { directive: ref __binding_0
} => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::OnUnknown { directive: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::OnUnmatchedArgs { directive: ref __binding_0
} => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::Optimize(ref __binding_0, ref __binding_1) =>
{
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::PanicRuntime => {}
AttributeKind::PatchableFunctionEntry {
prefix: ref __binding_0,
entry: ref __binding_1,
section: ref __binding_2 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
}
AttributeKind::Path(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::PatternComplexityLimit {
limit: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::PinV2(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::PreludeImport => {}
AttributeKind::ProcMacro => {}
AttributeKind::ProcMacroAttribute => {}
AttributeKind::ProcMacroDerive {
trait_name: ref __binding_0, helper_attrs: ref __binding_1 }
=> {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::ProfilerRuntime => {}
AttributeKind::RecursionLimit { limit: ref __binding_0 } =>
{
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::ReexportTestHarnessMain(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RegisterTool(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::Repr {
reprs: ref __binding_0, first_span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcAbi {
attr_span: ref __binding_0, kind: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcAlign {
align: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcAllocator => {}
AttributeKind::RustcAllocatorZeroed => {}
AttributeKind::RustcAllocatorZeroedVariant {
name: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcAllowConstFnUnstable(ref __binding_0,
ref __binding_1) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcAllowIncoherentImpl(ref __binding_0) =>
{
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcAsPtr => {}
AttributeKind::RustcAutodiff(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcBodyStability {
stability: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcBuiltinMacro {
builtin_name: ref __binding_0, helper_attrs: ref __binding_1
} => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcCaptureAnalysis => {}
AttributeKind::RustcCguTestAttr(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcClean(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcCoherenceIsCore => {}
AttributeKind::RustcCoinductive => {}
AttributeKind::RustcComptime(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcConfusables {
confusables: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcConstStability {
stability: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcConstStableIndirect => {}
AttributeKind::RustcConversionSuggestion => {}
AttributeKind::RustcDeallocator => {}
AttributeKind::RustcDelayedBugFromInsideQuery => {}
AttributeKind::RustcDenyExplicitImpl => {}
AttributeKind::RustcDeprecatedSafe2024 {
suggestion: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcDiagnosticItem(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcDoNotConstCheck => {}
AttributeKind::RustcDocPrimitive(ref __binding_0,
ref __binding_1) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcDummy => {}
AttributeKind::RustcDumpDefParents => {}
AttributeKind::RustcDumpDefPath(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcDumpGenerics => {}
AttributeKind::RustcDumpHiddenTypeOfOpaques => {}
AttributeKind::RustcDumpInferredOutlives => {}
AttributeKind::RustcDumpItemBounds => {}
AttributeKind::RustcDumpLayout(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcDumpObjectLifetimeDefaults => {}
AttributeKind::RustcDumpPredicates => {}
AttributeKind::RustcDumpSymbolName(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcDumpUserArgs => {}
AttributeKind::RustcDumpVariances => {}
AttributeKind::RustcDumpVariancesOfOpaques => {}
AttributeKind::RustcDumpVtable(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcDynIncompatibleTrait(ref __binding_0) =>
{
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcEffectiveVisibility => {}
AttributeKind::RustcEiiForeignItem => {}
AttributeKind::RustcEvaluateWhereClauses => {}
AttributeKind::RustcHasIncoherentInherentImpls => {}
AttributeKind::RustcIfThisChanged(ref __binding_0,
ref __binding_1) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcInheritOverflowChecks => {}
AttributeKind::RustcInsignificantDtor => {}
AttributeKind::RustcIntrinsic => {}
AttributeKind::RustcIntrinsicConstStableIndirect => {}
AttributeKind::RustcLegacyConstGenerics {
fn_indexes: ref __binding_0, attr_span: ref __binding_1 } =>
{
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcLintOptDenyFieldAccess {
lint_message: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcLintOptTy => {}
AttributeKind::RustcLintQueryInstability => {}
AttributeKind::RustcLintUntrackedQueryInformation => {}
AttributeKind::RustcMacroTransparency(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcMain => {}
AttributeKind::RustcMir(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcMustImplementOneOf {
attr_span: ref __binding_0, fn_names: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcMustMatchExhaustively(ref __binding_0)
=> {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcNeverReturnsNullPtr => {}
AttributeKind::RustcNeverTypeOptions {
fallback: ref __binding_0,
diverging_block_default: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcNoImplicitAutorefs => {}
AttributeKind::RustcNoImplicitBounds => {}
AttributeKind::RustcNoMirInline => {}
AttributeKind::RustcNoWritable => {}
AttributeKind::RustcNonConstTraitMethod => {}
AttributeKind::RustcNonnullOptimizationGuaranteed => {}
AttributeKind::RustcNounwind => {}
AttributeKind::RustcObjcClass { classname: ref __binding_0 }
=> {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcObjcSelector { methname: ref __binding_0
} => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcOffloadKernel => {}
AttributeKind::RustcParenSugar => {}
AttributeKind::RustcPassByValue => {}
AttributeKind::RustcPassIndirectlyInNonRusticAbis(ref __binding_0)
=> {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcPreserveUbChecks => {}
AttributeKind::RustcProcMacroDecls => {}
AttributeKind::RustcPubTransparent(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcReallocator => {}
AttributeKind::RustcRegions => {}
AttributeKind::RustcReservationImpl(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcScalableVector {
element_count: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcShouldNotBeCalledOnConstItems => {}
AttributeKind::RustcSimdMonomorphizeLaneLimit(ref __binding_0)
=> {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcSkipDuringMethodDispatch {
array: ref __binding_0, boxed_slice: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcSpecializationTrait => {}
AttributeKind::RustcStdInternalSymbol => {}
AttributeKind::RustcStrictCoherence(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcTestMarker(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcThenThisWouldNeed(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcTrivialFieldReads => {}
AttributeKind::RustcUnsafeSpecializationMarker => {}
AttributeKind::Sanitize {
on_set: ref __binding_0,
off_set: ref __binding_1,
rtsan: ref __binding_2,
span: ref __binding_3 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
{ __binding_3.stable_hash(__hcx, __hasher); }
}
AttributeKind::ShouldPanic { reason: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::Splat(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::Stability {
stability: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::TargetFeature {
features: ref __binding_0,
attr_span: ref __binding_1,
was_forced: ref __binding_2 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
}
AttributeKind::TestRunner(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::ThreadLocal => {}
AttributeKind::TrackCaller(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::TypeLengthLimit { limit: ref __binding_0 } =>
{
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::Unroll(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::UnstableFeatureBound(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::UnstableRemoved(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::Used { used_by: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::WindowsSubsystem(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for AttributeKind {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
AttributeKind::AllowInternalUnsafe(ref __binding_0) => {
0usize
}
AttributeKind::AllowInternalUnstable(ref __binding_0,
ref __binding_1) => {
1usize
}
AttributeKind::AutomaticallyDerived => { 2usize }
AttributeKind::CfgAttrTrace => { 3usize }
AttributeKind::CfgTrace(ref __binding_0) => { 4usize }
AttributeKind::CfiEncoding { encoding: ref __binding_0 } =>
{
5usize
}
AttributeKind::Cold => { 6usize }
AttributeKind::CollapseDebugInfo(ref __binding_0) => {
7usize
}
AttributeKind::CompilerBuiltins => { 8usize }
AttributeKind::ConstContinue(ref __binding_0) => { 9usize }
AttributeKind::Coroutine => { 10usize }
AttributeKind::Coverage(ref __binding_0) => { 11usize }
AttributeKind::CrateName {
name: ref __binding_0,
name_span: ref __binding_1,
attr_span: ref __binding_2 } => {
12usize
}
AttributeKind::CrateType(ref __binding_0) => { 13usize }
AttributeKind::CustomMir(ref __binding_0, ref __binding_1)
=> {
14usize
}
AttributeKind::DebuggerVisualizer(ref __binding_0) => {
15usize
}
AttributeKind::DefaultLibAllocator => { 16usize }
AttributeKind::Deprecated {
deprecation: ref __binding_0, span: ref __binding_1 } => {
17usize
}
AttributeKind::DoNotRecommend => { 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::EiiImpls(ref __binding_0) => { 22usize }
AttributeKind::ExportName {
name: ref __binding_0, span: ref __binding_1 } => {
23usize
}
AttributeKind::ExportStable => { 24usize }
AttributeKind::Feature(ref __binding_0, ref __binding_1) =>
{
25usize
}
AttributeKind::FfiConst => { 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::InstrumentFn(ref __binding_0) => { 32usize }
AttributeKind::Lang(ref __binding_0) => { 33usize }
AttributeKind::Link(ref __binding_0, ref __binding_1) => {
34usize
}
AttributeKind::LinkName {
name: ref __binding_0, span: ref __binding_1 } => {
35usize
}
AttributeKind::LinkOrdinal {
ordinal: ref __binding_0, span: ref __binding_1 } => {
36usize
}
AttributeKind::LinkSection { name: ref __binding_0 } => {
37usize
}
AttributeKind::Linkage(ref __binding_0, ref __binding_1) =>
{
38usize
}
AttributeKind::LoopMatch(ref __binding_0) => { 39usize }
AttributeKind::MacroEscape => { 40usize }
AttributeKind::MacroExport {
span: ref __binding_0, local_inner_macros: ref __binding_1 }
=> {
41usize
}
AttributeKind::MacroUse {
span: ref __binding_0, arguments: ref __binding_1 } => {
42usize
}
AttributeKind::Marker => { 43usize }
AttributeKind::MayDangle(ref __binding_0) => { 44usize }
AttributeKind::MoveSizeLimit { limit: ref __binding_0 } => {
45usize
}
AttributeKind::MustNotSupend { reason: ref __binding_0 } =>
{
46usize
}
AttributeKind::MustUse {
span: ref __binding_0, reason: ref __binding_1 } => {
47usize
}
AttributeKind::Naked(ref __binding_0) => { 48usize }
AttributeKind::NeedsAllocator => { 49usize }
AttributeKind::NeedsPanicRuntime => { 50usize }
AttributeKind::NoBuiltins => { 51usize }
AttributeKind::NoCore => { 52usize }
AttributeKind::NoImplicitPrelude => { 53usize }
AttributeKind::NoLink => { 54usize }
AttributeKind::NoMain => { 55usize }
AttributeKind::NoMangle(ref __binding_0) => { 56usize }
AttributeKind::NoStd => { 57usize }
AttributeKind::NonExhaustive(ref __binding_0) => { 58usize }
AttributeKind::OnConst {
span: ref __binding_0, directive: ref __binding_1 } => {
59usize
}
AttributeKind::OnMove { directive: ref __binding_0 } => {
60usize
}
AttributeKind::OnTypeError {
span: ref __binding_0, directive: ref __binding_1 } => {
61usize
}
AttributeKind::OnUnimplemented { directive: ref __binding_0
} => {
62usize
}
AttributeKind::OnUnknown { directive: ref __binding_0 } => {
63usize
}
AttributeKind::OnUnmatchedArgs { directive: ref __binding_0
} => {
64usize
}
AttributeKind::Optimize(ref __binding_0, ref __binding_1) =>
{
65usize
}
AttributeKind::PanicRuntime => { 66usize }
AttributeKind::PatchableFunctionEntry {
prefix: ref __binding_0,
entry: ref __binding_1,
section: ref __binding_2 } => {
67usize
}
AttributeKind::Path(ref __binding_0) => { 68usize }
AttributeKind::PatternComplexityLimit {
limit: ref __binding_0 } => {
69usize
}
AttributeKind::PinV2(ref __binding_0) => { 70usize }
AttributeKind::PreludeImport => { 71usize }
AttributeKind::ProcMacro => { 72usize }
AttributeKind::ProcMacroAttribute => { 73usize }
AttributeKind::ProcMacroDerive {
trait_name: ref __binding_0, helper_attrs: ref __binding_1 }
=> {
74usize
}
AttributeKind::ProfilerRuntime => { 75usize }
AttributeKind::RecursionLimit { limit: ref __binding_0 } =>
{
76usize
}
AttributeKind::ReexportTestHarnessMain(ref __binding_0) => {
77usize
}
AttributeKind::RegisterTool(ref __binding_0) => { 78usize }
AttributeKind::Repr {
reprs: ref __binding_0, first_span: ref __binding_1 } => {
79usize
}
AttributeKind::RustcAbi {
attr_span: ref __binding_0, kind: ref __binding_1 } => {
80usize
}
AttributeKind::RustcAlign {
align: ref __binding_0, span: ref __binding_1 } => {
81usize
}
AttributeKind::RustcAllocator => { 82usize }
AttributeKind::RustcAllocatorZeroed => { 83usize }
AttributeKind::RustcAllocatorZeroedVariant {
name: ref __binding_0 } => {
84usize
}
AttributeKind::RustcAllowConstFnUnstable(ref __binding_0,
ref __binding_1) => {
85usize
}
AttributeKind::RustcAllowIncoherentImpl(ref __binding_0) =>
{
86usize
}
AttributeKind::RustcAsPtr => { 87usize }
AttributeKind::RustcAutodiff(ref __binding_0) => { 88usize }
AttributeKind::RustcBodyStability {
stability: ref __binding_0, span: ref __binding_1 } => {
89usize
}
AttributeKind::RustcBuiltinMacro {
builtin_name: ref __binding_0, helper_attrs: ref __binding_1
} => {
90usize
}
AttributeKind::RustcCaptureAnalysis => { 91usize }
AttributeKind::RustcCguTestAttr(ref __binding_0) => {
92usize
}
AttributeKind::RustcClean(ref __binding_0) => { 93usize }
AttributeKind::RustcCoherenceIsCore => { 94usize }
AttributeKind::RustcCoinductive => { 95usize }
AttributeKind::RustcComptime(ref __binding_0) => { 96usize }
AttributeKind::RustcConfusables {
confusables: ref __binding_0 } => {
97usize
}
AttributeKind::RustcConstStability {
stability: ref __binding_0, span: ref __binding_1 } => {
98usize
}
AttributeKind::RustcConstStableIndirect => { 99usize }
AttributeKind::RustcConversionSuggestion => { 100usize }
AttributeKind::RustcDeallocator => { 101usize }
AttributeKind::RustcDelayedBugFromInsideQuery => {
102usize
}
AttributeKind::RustcDenyExplicitImpl => { 103usize }
AttributeKind::RustcDeprecatedSafe2024 {
suggestion: ref __binding_0 } => {
104usize
}
AttributeKind::RustcDiagnosticItem(ref __binding_0) => {
105usize
}
AttributeKind::RustcDoNotConstCheck => { 106usize }
AttributeKind::RustcDocPrimitive(ref __binding_0,
ref __binding_1) => {
107usize
}
AttributeKind::RustcDummy => { 108usize }
AttributeKind::RustcDumpDefParents => { 109usize }
AttributeKind::RustcDumpDefPath(ref __binding_0) => {
110usize
}
AttributeKind::RustcDumpGenerics => { 111usize }
AttributeKind::RustcDumpHiddenTypeOfOpaques => { 112usize }
AttributeKind::RustcDumpInferredOutlives => { 113usize }
AttributeKind::RustcDumpItemBounds => { 114usize }
AttributeKind::RustcDumpLayout(ref __binding_0) => {
115usize
}
AttributeKind::RustcDumpObjectLifetimeDefaults => {
116usize
}
AttributeKind::RustcDumpPredicates => { 117usize }
AttributeKind::RustcDumpSymbolName(ref __binding_0) => {
118usize
}
AttributeKind::RustcDumpUserArgs => { 119usize }
AttributeKind::RustcDumpVariances => { 120usize }
AttributeKind::RustcDumpVariancesOfOpaques => { 121usize }
AttributeKind::RustcDumpVtable(ref __binding_0) => {
122usize
}
AttributeKind::RustcDynIncompatibleTrait(ref __binding_0) =>
{
123usize
}
AttributeKind::RustcEffectiveVisibility => { 124usize }
AttributeKind::RustcEiiForeignItem => { 125usize }
AttributeKind::RustcEvaluateWhereClauses => { 126usize }
AttributeKind::RustcHasIncoherentInherentImpls => {
127usize
}
AttributeKind::RustcIfThisChanged(ref __binding_0,
ref __binding_1) => {
128usize
}
AttributeKind::RustcInheritOverflowChecks => { 129usize }
AttributeKind::RustcInsignificantDtor => { 130usize }
AttributeKind::RustcIntrinsic => { 131usize }
AttributeKind::RustcIntrinsicConstStableIndirect => {
132usize
}
AttributeKind::RustcLegacyConstGenerics {
fn_indexes: ref __binding_0, attr_span: ref __binding_1 } =>
{
133usize
}
AttributeKind::RustcLintOptDenyFieldAccess {
lint_message: ref __binding_0 } => {
134usize
}
AttributeKind::RustcLintOptTy => { 135usize }
AttributeKind::RustcLintQueryInstability => { 136usize }
AttributeKind::RustcLintUntrackedQueryInformation => {
137usize
}
AttributeKind::RustcMacroTransparency(ref __binding_0) => {
138usize
}
AttributeKind::RustcMain => { 139usize }
AttributeKind::RustcMir(ref __binding_0) => { 140usize }
AttributeKind::RustcMustImplementOneOf {
attr_span: ref __binding_0, fn_names: ref __binding_1 } => {
141usize
}
AttributeKind::RustcMustMatchExhaustively(ref __binding_0)
=> {
142usize
}
AttributeKind::RustcNeverReturnsNullPtr => { 143usize }
AttributeKind::RustcNeverTypeOptions {
fallback: ref __binding_0,
diverging_block_default: ref __binding_1 } => {
144usize
}
AttributeKind::RustcNoImplicitAutorefs => { 145usize }
AttributeKind::RustcNoImplicitBounds => { 146usize }
AttributeKind::RustcNoMirInline => { 147usize }
AttributeKind::RustcNoWritable => { 148usize }
AttributeKind::RustcNonConstTraitMethod => { 149usize }
AttributeKind::RustcNonnullOptimizationGuaranteed => {
150usize
}
AttributeKind::RustcNounwind => { 151usize }
AttributeKind::RustcObjcClass { classname: ref __binding_0 }
=> {
152usize
}
AttributeKind::RustcObjcSelector { methname: ref __binding_0
} => {
153usize
}
AttributeKind::RustcOffloadKernel => { 154usize }
AttributeKind::RustcParenSugar => { 155usize }
AttributeKind::RustcPassByValue => { 156usize }
AttributeKind::RustcPassIndirectlyInNonRusticAbis(ref __binding_0)
=> {
157usize
}
AttributeKind::RustcPreserveUbChecks => { 158usize }
AttributeKind::RustcProcMacroDecls => { 159usize }
AttributeKind::RustcPubTransparent(ref __binding_0) => {
160usize
}
AttributeKind::RustcReallocator => { 161usize }
AttributeKind::RustcRegions => { 162usize }
AttributeKind::RustcReservationImpl(ref __binding_0) => {
163usize
}
AttributeKind::RustcScalableVector {
element_count: ref __binding_0 } => {
164usize
}
AttributeKind::RustcShouldNotBeCalledOnConstItems => {
165usize
}
AttributeKind::RustcSimdMonomorphizeLaneLimit(ref __binding_0)
=> {
166usize
}
AttributeKind::RustcSkipDuringMethodDispatch {
array: ref __binding_0, boxed_slice: ref __binding_1 } => {
167usize
}
AttributeKind::RustcSpecializationTrait => { 168usize }
AttributeKind::RustcStdInternalSymbol => { 169usize }
AttributeKind::RustcStrictCoherence(ref __binding_0) => {
170usize
}
AttributeKind::RustcTestMarker(ref __binding_0) => {
171usize
}
AttributeKind::RustcThenThisWouldNeed(ref __binding_0) => {
172usize
}
AttributeKind::RustcTrivialFieldReads => { 173usize }
AttributeKind::RustcUnsafeSpecializationMarker => {
174usize
}
AttributeKind::Sanitize {
on_set: ref __binding_0,
off_set: ref __binding_1,
rtsan: ref __binding_2,
span: ref __binding_3 } => {
175usize
}
AttributeKind::ShouldPanic { reason: ref __binding_0 } => {
176usize
}
AttributeKind::Splat(ref __binding_0) => { 177usize }
AttributeKind::Stability {
stability: ref __binding_0, span: ref __binding_1 } => {
178usize
}
AttributeKind::TargetFeature {
features: ref __binding_0,
attr_span: ref __binding_1,
was_forced: ref __binding_2 } => {
179usize
}
AttributeKind::TestRunner(ref __binding_0) => { 180usize }
AttributeKind::ThreadLocal => { 181usize }
AttributeKind::TrackCaller(ref __binding_0) => { 182usize }
AttributeKind::TypeLengthLimit { limit: ref __binding_0 } =>
{
183usize
}
AttributeKind::Unroll(ref __binding_0) => { 184usize }
AttributeKind::UnstableFeatureBound(ref __binding_0) => {
185usize
}
AttributeKind::UnstableRemoved(ref __binding_0) => {
186usize
}
AttributeKind::Used { used_by: ref __binding_0 } => {
187usize
}
AttributeKind::WindowsSubsystem(ref __binding_0) => {
188usize
}
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
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 => {}
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 => {}
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 => {}
AttributeKind::Coverage(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__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)
=> {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::DebuggerVisualizer(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::DefaultLibAllocator => {}
AttributeKind::Deprecated {
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 => {}
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::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::Feature(ref __binding_0, ref __binding_1) =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::FfiConst => {}
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::InstrumentFn(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Lang(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 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__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 => {}
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 => {}
AttributeKind::MayDangle(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::MoveSizeLimit { limit: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__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 => {}
AttributeKind::NoImplicitPrelude => {}
AttributeKind::NoLink => {}
AttributeKind::NoMain => {}
AttributeKind::NoMangle(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::NoStd => {}
AttributeKind::NonExhaustive(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::OnConst {
span: ref __binding_0, directive: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::OnMove { directive: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::OnTypeError {
span: ref __binding_0, directive: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::OnUnimplemented { directive: ref __binding_0
} => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::OnUnknown { directive: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::OnUnmatchedArgs { directive: 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,
section: 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::Path(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::PatternComplexityLimit {
limit: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::PinV2(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::PreludeImport => {}
AttributeKind::ProcMacro => {}
AttributeKind::ProcMacroAttribute => {}
AttributeKind::ProcMacroDerive {
trait_name: ref __binding_0, helper_attrs: ref __binding_1 }
=> {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::ProfilerRuntime => {}
AttributeKind::RecursionLimit { limit: ref __binding_0 } =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::ReexportTestHarnessMain(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RegisterTool(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::RustcAlign {
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::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 => {}
AttributeKind::RustcAutodiff(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
} => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcCaptureAnalysis => {}
AttributeKind::RustcCguTestAttr(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcClean(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcCoherenceIsCore => {}
AttributeKind::RustcCoinductive => {}
AttributeKind::RustcComptime(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcConfusables {
confusables: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__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::RustcConstStableIndirect => {}
AttributeKind::RustcConversionSuggestion => {}
AttributeKind::RustcDeallocator => {}
AttributeKind::RustcDelayedBugFromInsideQuery => {}
AttributeKind::RustcDenyExplicitImpl => {}
AttributeKind::RustcDeprecatedSafe2024 {
suggestion: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcDiagnosticItem(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcDoNotConstCheck => {}
AttributeKind::RustcDocPrimitive(ref __binding_0,
ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcDummy => {}
AttributeKind::RustcDumpDefParents => {}
AttributeKind::RustcDumpDefPath(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcDumpGenerics => {}
AttributeKind::RustcDumpHiddenTypeOfOpaques => {}
AttributeKind::RustcDumpInferredOutlives => {}
AttributeKind::RustcDumpItemBounds => {}
AttributeKind::RustcDumpLayout(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcDumpObjectLifetimeDefaults => {}
AttributeKind::RustcDumpPredicates => {}
AttributeKind::RustcDumpSymbolName(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcDumpUserArgs => {}
AttributeKind::RustcDumpVariances => {}
AttributeKind::RustcDumpVariancesOfOpaques => {}
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::RustcEiiForeignItem => {}
AttributeKind::RustcEvaluateWhereClauses => {}
AttributeKind::RustcHasIncoherentInherentImpls => {}
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::RustcInheritOverflowChecks => {}
AttributeKind::RustcInsignificantDtor => {}
AttributeKind::RustcIntrinsic => {}
AttributeKind::RustcIntrinsicConstStableIndirect => {}
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::RustcMustMatchExhaustively(ref __binding_0)
=> {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcNeverReturnsNullPtr => {}
AttributeKind::RustcNeverTypeOptions {
fallback: ref __binding_0,
diverging_block_default: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcNoImplicitAutorefs => {}
AttributeKind::RustcNoImplicitBounds => {}
AttributeKind::RustcNoMirInline => {}
AttributeKind::RustcNoWritable => {}
AttributeKind::RustcNonConstTraitMethod => {}
AttributeKind::RustcNonnullOptimizationGuaranteed => {}
AttributeKind::RustcNounwind => {}
AttributeKind::RustcObjcClass { classname: ref __binding_0 }
=> {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcObjcSelector { methname: ref __binding_0
} => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcOffloadKernel => {}
AttributeKind::RustcParenSugar => {}
AttributeKind::RustcPassByValue => {}
AttributeKind::RustcPassIndirectlyInNonRusticAbis(ref __binding_0)
=> {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcPreserveUbChecks => {}
AttributeKind::RustcProcMacroDecls => {}
AttributeKind::RustcPubTransparent(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcReallocator => {}
AttributeKind::RustcRegions => {}
AttributeKind::RustcReservationImpl(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcScalableVector {
element_count: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcShouldNotBeCalledOnConstItems => {}
AttributeKind::RustcSimdMonomorphizeLaneLimit(ref __binding_0)
=> {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcSkipDuringMethodDispatch {
array: ref __binding_0, boxed_slice: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcSpecializationTrait => {}
AttributeKind::RustcStdInternalSymbol => {}
AttributeKind::RustcStrictCoherence(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcTestMarker(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcThenThisWouldNeed(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcTrivialFieldReads => {}
AttributeKind::RustcUnsafeSpecializationMarker => {}
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 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Splat(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__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::TestRunner(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::ThreadLocal => {}
AttributeKind::TrackCaller(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::TypeLengthLimit { limit: ref __binding_0 } =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Unroll(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::UnstableFeatureBound(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::UnstableRemoved(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Used { used_by: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::WindowsSubsystem(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__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::AllowInternalUnsafe(::rustc_serialize::Decodable::decode(__decoder))
}
1usize => {
AttributeKind::AllowInternalUnstable(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
2usize => { AttributeKind::AutomaticallyDerived }
3usize => { AttributeKind::CfgAttrTrace }
4usize => {
AttributeKind::CfgTrace(::rustc_serialize::Decodable::decode(__decoder))
}
5usize => {
AttributeKind::CfiEncoding {
encoding: ::rustc_serialize::Decodable::decode(__decoder),
}
}
6usize => { AttributeKind::Cold }
7usize => {
AttributeKind::CollapseDebugInfo(::rustc_serialize::Decodable::decode(__decoder))
}
8usize => { AttributeKind::CompilerBuiltins }
9usize => {
AttributeKind::ConstContinue(::rustc_serialize::Decodable::decode(__decoder))
}
10usize => { AttributeKind::Coroutine }
11usize => {
AttributeKind::Coverage(::rustc_serialize::Decodable::decode(__decoder))
}
12usize => {
AttributeKind::CrateName {
name: ::rustc_serialize::Decodable::decode(__decoder),
name_span: ::rustc_serialize::Decodable::decode(__decoder),
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
13usize => {
AttributeKind::CrateType(::rustc_serialize::Decodable::decode(__decoder))
}
14usize => {
AttributeKind::CustomMir(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
15usize => {
AttributeKind::DebuggerVisualizer(::rustc_serialize::Decodable::decode(__decoder))
}
16usize => { AttributeKind::DefaultLibAllocator }
17usize => {
AttributeKind::Deprecated {
deprecation: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
18usize => { AttributeKind::DoNotRecommend }
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::EiiImpls(::rustc_serialize::Decodable::decode(__decoder))
}
23usize => {
AttributeKind::ExportName {
name: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
24usize => { AttributeKind::ExportStable }
25usize => {
AttributeKind::Feature(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
26usize => { AttributeKind::FfiConst }
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::InstrumentFn(::rustc_serialize::Decodable::decode(__decoder))
}
33usize => {
AttributeKind::Lang(::rustc_serialize::Decodable::decode(__decoder))
}
34usize => {
AttributeKind::Link(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
35usize => {
AttributeKind::LinkName {
name: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
36usize => {
AttributeKind::LinkOrdinal {
ordinal: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
37usize => {
AttributeKind::LinkSection {
name: ::rustc_serialize::Decodable::decode(__decoder),
}
}
38usize => {
AttributeKind::Linkage(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
39usize => {
AttributeKind::LoopMatch(::rustc_serialize::Decodable::decode(__decoder))
}
40usize => { AttributeKind::MacroEscape }
41usize => {
AttributeKind::MacroExport {
span: ::rustc_serialize::Decodable::decode(__decoder),
local_inner_macros: ::rustc_serialize::Decodable::decode(__decoder),
}
}
42usize => {
AttributeKind::MacroUse {
span: ::rustc_serialize::Decodable::decode(__decoder),
arguments: ::rustc_serialize::Decodable::decode(__decoder),
}
}
43usize => { AttributeKind::Marker }
44usize => {
AttributeKind::MayDangle(::rustc_serialize::Decodable::decode(__decoder))
}
45usize => {
AttributeKind::MoveSizeLimit {
limit: ::rustc_serialize::Decodable::decode(__decoder),
}
}
46usize => {
AttributeKind::MustNotSupend {
reason: ::rustc_serialize::Decodable::decode(__decoder),
}
}
47usize => {
AttributeKind::MustUse {
span: ::rustc_serialize::Decodable::decode(__decoder),
reason: ::rustc_serialize::Decodable::decode(__decoder),
}
}
48usize => {
AttributeKind::Naked(::rustc_serialize::Decodable::decode(__decoder))
}
49usize => { AttributeKind::NeedsAllocator }
50usize => { AttributeKind::NeedsPanicRuntime }
51usize => { AttributeKind::NoBuiltins }
52usize => { AttributeKind::NoCore }
53usize => { AttributeKind::NoImplicitPrelude }
54usize => { AttributeKind::NoLink }
55usize => { AttributeKind::NoMain }
56usize => {
AttributeKind::NoMangle(::rustc_serialize::Decodable::decode(__decoder))
}
57usize => { AttributeKind::NoStd }
58usize => {
AttributeKind::NonExhaustive(::rustc_serialize::Decodable::decode(__decoder))
}
59usize => {
AttributeKind::OnConst {
span: ::rustc_serialize::Decodable::decode(__decoder),
directive: ::rustc_serialize::Decodable::decode(__decoder),
}
}
60usize => {
AttributeKind::OnMove {
directive: ::rustc_serialize::Decodable::decode(__decoder),
}
}
61usize => {
AttributeKind::OnTypeError {
span: ::rustc_serialize::Decodable::decode(__decoder),
directive: ::rustc_serialize::Decodable::decode(__decoder),
}
}
62usize => {
AttributeKind::OnUnimplemented {
directive: ::rustc_serialize::Decodable::decode(__decoder),
}
}
63usize => {
AttributeKind::OnUnknown {
directive: ::rustc_serialize::Decodable::decode(__decoder),
}
}
64usize => {
AttributeKind::OnUnmatchedArgs {
directive: ::rustc_serialize::Decodable::decode(__decoder),
}
}
65usize => {
AttributeKind::Optimize(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
66usize => { AttributeKind::PanicRuntime }
67usize => {
AttributeKind::PatchableFunctionEntry {
prefix: ::rustc_serialize::Decodable::decode(__decoder),
entry: ::rustc_serialize::Decodable::decode(__decoder),
section: ::rustc_serialize::Decodable::decode(__decoder),
}
}
68usize => {
AttributeKind::Path(::rustc_serialize::Decodable::decode(__decoder))
}
69usize => {
AttributeKind::PatternComplexityLimit {
limit: ::rustc_serialize::Decodable::decode(__decoder),
}
}
70usize => {
AttributeKind::PinV2(::rustc_serialize::Decodable::decode(__decoder))
}
71usize => { AttributeKind::PreludeImport }
72usize => { AttributeKind::ProcMacro }
73usize => { AttributeKind::ProcMacroAttribute }
74usize => {
AttributeKind::ProcMacroDerive {
trait_name: ::rustc_serialize::Decodable::decode(__decoder),
helper_attrs: ::rustc_serialize::Decodable::decode(__decoder),
}
}
75usize => { AttributeKind::ProfilerRuntime }
76usize => {
AttributeKind::RecursionLimit {
limit: ::rustc_serialize::Decodable::decode(__decoder),
}
}
77usize => {
AttributeKind::ReexportTestHarnessMain(::rustc_serialize::Decodable::decode(__decoder))
}
78usize => {
AttributeKind::RegisterTool(::rustc_serialize::Decodable::decode(__decoder))
}
79usize => {
AttributeKind::Repr {
reprs: ::rustc_serialize::Decodable::decode(__decoder),
first_span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
80usize => {
AttributeKind::RustcAbi {
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
kind: ::rustc_serialize::Decodable::decode(__decoder),
}
}
81usize => {
AttributeKind::RustcAlign {
align: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
82usize => { AttributeKind::RustcAllocator }
83usize => { AttributeKind::RustcAllocatorZeroed }
84usize => {
AttributeKind::RustcAllocatorZeroedVariant {
name: ::rustc_serialize::Decodable::decode(__decoder),
}
}
85usize => {
AttributeKind::RustcAllowConstFnUnstable(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
86usize => {
AttributeKind::RustcAllowIncoherentImpl(::rustc_serialize::Decodable::decode(__decoder))
}
87usize => { AttributeKind::RustcAsPtr }
88usize => {
AttributeKind::RustcAutodiff(::rustc_serialize::Decodable::decode(__decoder))
}
89usize => {
AttributeKind::RustcBodyStability {
stability: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
90usize => {
AttributeKind::RustcBuiltinMacro {
builtin_name: ::rustc_serialize::Decodable::decode(__decoder),
helper_attrs: ::rustc_serialize::Decodable::decode(__decoder),
}
}
91usize => { AttributeKind::RustcCaptureAnalysis }
92usize => {
AttributeKind::RustcCguTestAttr(::rustc_serialize::Decodable::decode(__decoder))
}
93usize => {
AttributeKind::RustcClean(::rustc_serialize::Decodable::decode(__decoder))
}
94usize => { AttributeKind::RustcCoherenceIsCore }
95usize => { AttributeKind::RustcCoinductive }
96usize => {
AttributeKind::RustcComptime(::rustc_serialize::Decodable::decode(__decoder))
}
97usize => {
AttributeKind::RustcConfusables {
confusables: ::rustc_serialize::Decodable::decode(__decoder),
}
}
98usize => {
AttributeKind::RustcConstStability {
stability: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
99usize => { AttributeKind::RustcConstStableIndirect }
100usize => { AttributeKind::RustcConversionSuggestion }
101usize => { AttributeKind::RustcDeallocator }
102usize => {
AttributeKind::RustcDelayedBugFromInsideQuery
}
103usize => { AttributeKind::RustcDenyExplicitImpl }
104usize => {
AttributeKind::RustcDeprecatedSafe2024 {
suggestion: ::rustc_serialize::Decodable::decode(__decoder),
}
}
105usize => {
AttributeKind::RustcDiagnosticItem(::rustc_serialize::Decodable::decode(__decoder))
}
106usize => { AttributeKind::RustcDoNotConstCheck }
107usize => {
AttributeKind::RustcDocPrimitive(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
108usize => { AttributeKind::RustcDummy }
109usize => { AttributeKind::RustcDumpDefParents }
110usize => {
AttributeKind::RustcDumpDefPath(::rustc_serialize::Decodable::decode(__decoder))
}
111usize => { AttributeKind::RustcDumpGenerics }
112usize => { AttributeKind::RustcDumpHiddenTypeOfOpaques }
113usize => { AttributeKind::RustcDumpInferredOutlives }
114usize => { AttributeKind::RustcDumpItemBounds }
115usize => {
AttributeKind::RustcDumpLayout(::rustc_serialize::Decodable::decode(__decoder))
}
116usize => {
AttributeKind::RustcDumpObjectLifetimeDefaults
}
117usize => { AttributeKind::RustcDumpPredicates }
118usize => {
AttributeKind::RustcDumpSymbolName(::rustc_serialize::Decodable::decode(__decoder))
}
119usize => { AttributeKind::RustcDumpUserArgs }
120usize => { AttributeKind::RustcDumpVariances }
121usize => { AttributeKind::RustcDumpVariancesOfOpaques }
122usize => {
AttributeKind::RustcDumpVtable(::rustc_serialize::Decodable::decode(__decoder))
}
123usize => {
AttributeKind::RustcDynIncompatibleTrait(::rustc_serialize::Decodable::decode(__decoder))
}
124usize => { AttributeKind::RustcEffectiveVisibility }
125usize => { AttributeKind::RustcEiiForeignItem }
126usize => { AttributeKind::RustcEvaluateWhereClauses }
127usize => {
AttributeKind::RustcHasIncoherentInherentImpls
}
128usize => {
AttributeKind::RustcIfThisChanged(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
129usize => { AttributeKind::RustcInheritOverflowChecks }
130usize => { AttributeKind::RustcInsignificantDtor }
131usize => { AttributeKind::RustcIntrinsic }
132usize => {
AttributeKind::RustcIntrinsicConstStableIndirect
}
133usize => {
AttributeKind::RustcLegacyConstGenerics {
fn_indexes: ::rustc_serialize::Decodable::decode(__decoder),
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
134usize => {
AttributeKind::RustcLintOptDenyFieldAccess {
lint_message: ::rustc_serialize::Decodable::decode(__decoder),
}
}
135usize => { AttributeKind::RustcLintOptTy }
136usize => { AttributeKind::RustcLintQueryInstability }
137usize => {
AttributeKind::RustcLintUntrackedQueryInformation
}
138usize => {
AttributeKind::RustcMacroTransparency(::rustc_serialize::Decodable::decode(__decoder))
}
139usize => { AttributeKind::RustcMain }
140usize => {
AttributeKind::RustcMir(::rustc_serialize::Decodable::decode(__decoder))
}
141usize => {
AttributeKind::RustcMustImplementOneOf {
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
fn_names: ::rustc_serialize::Decodable::decode(__decoder),
}
}
142usize => {
AttributeKind::RustcMustMatchExhaustively(::rustc_serialize::Decodable::decode(__decoder))
}
143usize => { AttributeKind::RustcNeverReturnsNullPtr }
144usize => {
AttributeKind::RustcNeverTypeOptions {
fallback: ::rustc_serialize::Decodable::decode(__decoder),
diverging_block_default: ::rustc_serialize::Decodable::decode(__decoder),
}
}
145usize => { AttributeKind::RustcNoImplicitAutorefs }
146usize => { AttributeKind::RustcNoImplicitBounds }
147usize => { AttributeKind::RustcNoMirInline }
148usize => { AttributeKind::RustcNoWritable }
149usize => { AttributeKind::RustcNonConstTraitMethod }
150usize => {
AttributeKind::RustcNonnullOptimizationGuaranteed
}
151usize => { AttributeKind::RustcNounwind }
152usize => {
AttributeKind::RustcObjcClass {
classname: ::rustc_serialize::Decodable::decode(__decoder),
}
}
153usize => {
AttributeKind::RustcObjcSelector {
methname: ::rustc_serialize::Decodable::decode(__decoder),
}
}
154usize => { AttributeKind::RustcOffloadKernel }
155usize => { AttributeKind::RustcParenSugar }
156usize => { AttributeKind::RustcPassByValue }
157usize => {
AttributeKind::RustcPassIndirectlyInNonRusticAbis(::rustc_serialize::Decodable::decode(__decoder))
}
158usize => { AttributeKind::RustcPreserveUbChecks }
159usize => { AttributeKind::RustcProcMacroDecls }
160usize => {
AttributeKind::RustcPubTransparent(::rustc_serialize::Decodable::decode(__decoder))
}
161usize => { AttributeKind::RustcReallocator }
162usize => { AttributeKind::RustcRegions }
163usize => {
AttributeKind::RustcReservationImpl(::rustc_serialize::Decodable::decode(__decoder))
}
164usize => {
AttributeKind::RustcScalableVector {
element_count: ::rustc_serialize::Decodable::decode(__decoder),
}
}
165usize => {
AttributeKind::RustcShouldNotBeCalledOnConstItems
}
166usize => {
AttributeKind::RustcSimdMonomorphizeLaneLimit(::rustc_serialize::Decodable::decode(__decoder))
}
167usize => {
AttributeKind::RustcSkipDuringMethodDispatch {
array: ::rustc_serialize::Decodable::decode(__decoder),
boxed_slice: ::rustc_serialize::Decodable::decode(__decoder),
}
}
168usize => { AttributeKind::RustcSpecializationTrait }
169usize => { AttributeKind::RustcStdInternalSymbol }
170usize => {
AttributeKind::RustcStrictCoherence(::rustc_serialize::Decodable::decode(__decoder))
}
171usize => {
AttributeKind::RustcTestMarker(::rustc_serialize::Decodable::decode(__decoder))
}
172usize => {
AttributeKind::RustcThenThisWouldNeed(::rustc_serialize::Decodable::decode(__decoder))
}
173usize => { AttributeKind::RustcTrivialFieldReads }
174usize => {
AttributeKind::RustcUnsafeSpecializationMarker
}
175usize => {
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),
}
}
176usize => {
AttributeKind::ShouldPanic {
reason: ::rustc_serialize::Decodable::decode(__decoder),
}
}
177usize => {
AttributeKind::Splat(::rustc_serialize::Decodable::decode(__decoder))
}
178usize => {
AttributeKind::Stability {
stability: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
179usize => {
AttributeKind::TargetFeature {
features: ::rustc_serialize::Decodable::decode(__decoder),
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
was_forced: ::rustc_serialize::Decodable::decode(__decoder),
}
}
180usize => {
AttributeKind::TestRunner(::rustc_serialize::Decodable::decode(__decoder))
}
181usize => { AttributeKind::ThreadLocal }
182usize => {
AttributeKind::TrackCaller(::rustc_serialize::Decodable::decode(__decoder))
}
183usize => {
AttributeKind::TypeLengthLimit {
limit: ::rustc_serialize::Decodable::decode(__decoder),
}
}
184usize => {
AttributeKind::Unroll(::rustc_serialize::Decodable::decode(__decoder))
}
185usize => {
AttributeKind::UnstableFeatureBound(::rustc_serialize::Decodable::decode(__decoder))
}
186usize => {
AttributeKind::UnstableRemoved(::rustc_serialize::Decodable::decode(__decoder))
}
187usize => {
AttributeKind::Used {
used_by: ::rustc_serialize::Decodable::decode(__decoder),
}
}
188usize => {
AttributeKind::WindowsSubsystem(::rustc_serialize::Decodable::decode(__decoder))
}
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `AttributeKind`, expected 0..189, 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::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 => {
__p.word("AutomaticallyDerived")
}
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 => { __p.word("Cold") }
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 => { __p.word("Coroutine") }
Self::Coverage(f0) => {
__p.word("Coverage");
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::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) => {
__p.word("CustomMir");
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::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::DefaultLibAllocator => {
__p.word("DefaultLibAllocator")
}
Self::Deprecated { deprecation, span } => {
__p.word("Deprecated");
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 => { __p.word("DoNotRecommend") }
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::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::Feature(f0, f1) => {
__p.word("Feature");
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::FfiConst => { __p.word("FfiConst") }
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::InstrumentFn(f0) => {
__p.word("InstrumentFn");
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::Lang(f0) => {
__p.word("Lang");
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 } => {
__p.word("LinkSection");
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::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 => { __p.word("MacroEscape") }
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 => { __p.word("Marker") }
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 { limit } => {
__p.word("MoveSizeLimit");
if true && !limit.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
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 => { __p.word("NoCore") }
Self::NoImplicitPrelude => { __p.word("NoImplicitPrelude") }
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 => { __p.word("NoStd") }
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::OnConst { span, directive } => {
__p.word("OnConst");
if true && !span.should_render() &&
!directive.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 directive.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("directive");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
directive.print_attribute(__p);
__p.word("}");
}
Self::OnMove { directive } => {
__p.word("OnMove");
if true && !directive.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if directive.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("directive");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
directive.print_attribute(__p);
__p.word("}");
}
Self::OnTypeError { span, directive } => {
__p.word("OnTypeError");
if true && !span.should_render() &&
!directive.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 directive.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("directive");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
directive.print_attribute(__p);
__p.word("}");
}
Self::OnUnimplemented { directive } => {
__p.word("OnUnimplemented");
if true && !directive.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if directive.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("directive");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
directive.print_attribute(__p);
__p.word("}");
}
Self::OnUnknown { directive } => {
__p.word("OnUnknown");
if true && !directive.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if directive.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("directive");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
directive.print_attribute(__p);
__p.word("}");
}
Self::OnUnmatchedArgs { directive } => {
__p.word("OnUnmatchedArgs");
if true && !directive.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if directive.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("directive");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
directive.print_attribute(__p);
__p.word("}");
}
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, section } => {
__p.word("PatchableFunctionEntry");
if true && !prefix.should_render() && !entry.should_render()
&& !section.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);
if section.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("section");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
section.print_attribute(__p);
__p.word("}");
}
Self::Path(f0) => {
__p.word("Path");
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::PatternComplexityLimit { limit } => {
__p.word("PatternComplexityLimit");
if true && !limit.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
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::PreludeImport => { __p.word("PreludeImport") }
Self::ProcMacro => { __p.word("ProcMacro") }
Self::ProcMacroAttribute => {
__p.word("ProcMacroAttribute")
}
Self::ProcMacroDerive { trait_name, helper_attrs } => {
__p.word("ProcMacroDerive");
if true && !trait_name.should_render() &&
!helper_attrs.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);
__p.word("}");
}
Self::ProfilerRuntime => { __p.word("ProfilerRuntime") }
Self::RecursionLimit { limit } => {
__p.word("RecursionLimit");
if true && !limit.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
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::RegisterTool(f0) => {
__p.word("RegisterTool");
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::RustcAlign { align, span } => {
__p.word("RustcAlign");
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::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 => { __p.word("RustcAsPtr") }
Self::RustcAutodiff(f0) => {
__p.word("RustcAutodiff");
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 } => {
__p.word("RustcBuiltinMacro");
if true && !builtin_name.should_render() &&
!helper_attrs.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);
__p.word("}");
}
Self::RustcCaptureAnalysis => {
__p.word("RustcCaptureAnalysis")
}
Self::RustcCguTestAttr(f0) => {
__p.word("RustcCguTestAttr");
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::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 => {
__p.word("RustcCoherenceIsCore")
}
Self::RustcCoinductive => { __p.word("RustcCoinductive") }
Self::RustcComptime(f0) => {
__p.word("RustcComptime");
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 { confusables } => {
__p.word("RustcConfusables");
if true && !confusables.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if confusables.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("confusables");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
confusables.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::RustcConstStableIndirect => {
__p.word("RustcConstStableIndirect")
}
Self::RustcConversionSuggestion => {
__p.word("RustcConversionSuggestion")
}
Self::RustcDeallocator => { __p.word("RustcDeallocator") }
Self::RustcDelayedBugFromInsideQuery => {
__p.word("RustcDelayedBugFromInsideQuery")
}
Self::RustcDenyExplicitImpl => {
__p.word("RustcDenyExplicitImpl")
}
Self::RustcDeprecatedSafe2024 { suggestion } => {
__p.word("RustcDeprecatedSafe2024");
if true && !suggestion.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
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("}");
}
Self::RustcDiagnosticItem(f0) => {
__p.word("RustcDiagnosticItem");
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::RustcDoNotConstCheck => {
__p.word("RustcDoNotConstCheck")
}
Self::RustcDocPrimitive(f0, f1) => {
__p.word("RustcDocPrimitive");
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::RustcDummy => { __p.word("RustcDummy") }
Self::RustcDumpDefParents => {
__p.word("RustcDumpDefParents")
}
Self::RustcDumpDefPath(f0) => {
__p.word("RustcDumpDefPath");
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::RustcDumpGenerics => { __p.word("RustcDumpGenerics") }
Self::RustcDumpHiddenTypeOfOpaques => {
__p.word("RustcDumpHiddenTypeOfOpaques")
}
Self::RustcDumpInferredOutlives => {
__p.word("RustcDumpInferredOutlives")
}
Self::RustcDumpItemBounds => {
__p.word("RustcDumpItemBounds")
}
Self::RustcDumpLayout(f0) => {
__p.word("RustcDumpLayout");
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::RustcDumpObjectLifetimeDefaults => {
__p.word("RustcDumpObjectLifetimeDefaults")
}
Self::RustcDumpPredicates => {
__p.word("RustcDumpPredicates")
}
Self::RustcDumpSymbolName(f0) => {
__p.word("RustcDumpSymbolName");
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::RustcDumpUserArgs => { __p.word("RustcDumpUserArgs") }
Self::RustcDumpVariances => {
__p.word("RustcDumpVariances")
}
Self::RustcDumpVariancesOfOpaques => {
__p.word("RustcDumpVariancesOfOpaques")
}
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::RustcEiiForeignItem => {
__p.word("RustcEiiForeignItem")
}
Self::RustcEvaluateWhereClauses => {
__p.word("RustcEvaluateWhereClauses")
}
Self::RustcHasIncoherentInherentImpls => {
__p.word("RustcHasIncoherentInherentImpls")
}
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::RustcInheritOverflowChecks => {
__p.word("RustcInheritOverflowChecks")
}
Self::RustcInsignificantDtor => {
__p.word("RustcInsignificantDtor")
}
Self::RustcIntrinsic => { __p.word("RustcIntrinsic") }
Self::RustcIntrinsicConstStableIndirect => {
__p.word("RustcIntrinsicConstStableIndirect")
}
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::RustcMustMatchExhaustively(f0) => {
__p.word("RustcMustMatchExhaustively");
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::RustcNeverReturnsNullPtr => {
__p.word("RustcNeverReturnsNullPtr")
}
Self::RustcNeverTypeOptions {
fallback, diverging_block_default } => {
__p.word("RustcNeverTypeOptions");
if true && !fallback.should_render() &&
!diverging_block_default.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if fallback.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("fallback");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
fallback.print_attribute(__p);
if diverging_block_default.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("diverging_block_default");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
diverging_block_default.print_attribute(__p);
__p.word("}");
}
Self::RustcNoImplicitAutorefs => {
__p.word("RustcNoImplicitAutorefs")
}
Self::RustcNoImplicitBounds => {
__p.word("RustcNoImplicitBounds")
}
Self::RustcNoMirInline => { __p.word("RustcNoMirInline") }
Self::RustcNoWritable => { __p.word("RustcNoWritable") }
Self::RustcNonConstTraitMethod => {
__p.word("RustcNonConstTraitMethod")
}
Self::RustcNonnullOptimizationGuaranteed => {
__p.word("RustcNonnullOptimizationGuaranteed")
}
Self::RustcNounwind => { __p.word("RustcNounwind") }
Self::RustcObjcClass { classname } => {
__p.word("RustcObjcClass");
if true && !classname.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);
__p.word("}");
}
Self::RustcObjcSelector { methname } => {
__p.word("RustcObjcSelector");
if true && !methname.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);
__p.word("}");
}
Self::RustcOffloadKernel => {
__p.word("RustcOffloadKernel")
}
Self::RustcParenSugar => { __p.word("RustcParenSugar") }
Self::RustcPassByValue => { __p.word("RustcPassByValue") }
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::RustcProcMacroDecls => {
__p.word("RustcProcMacroDecls")
}
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::RustcRegions => { __p.word("RustcRegions") }
Self::RustcReservationImpl(f0) => {
__p.word("RustcReservationImpl");
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::RustcScalableVector { element_count } => {
__p.word("RustcScalableVector");
if true && !element_count.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);
__p.word("}");
}
Self::RustcShouldNotBeCalledOnConstItems => {
__p.word("RustcShouldNotBeCalledOnConstItems")
}
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 }
=> {
__p.word("RustcSkipDuringMethodDispatch");
if true && !array.should_render() &&
!boxed_slice.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);
__p.word("}");
}
Self::RustcSpecializationTrait => {
__p.word("RustcSpecializationTrait")
}
Self::RustcStdInternalSymbol => {
__p.word("RustcStdInternalSymbol")
}
Self::RustcStrictCoherence(f0) => {
__p.word("RustcStrictCoherence");
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::RustcTestMarker(f0) => {
__p.word("RustcTestMarker");
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) => {
__p.word("RustcThenThisWouldNeed");
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::RustcTrivialFieldReads => {
__p.word("RustcTrivialFieldReads")
}
Self::RustcUnsafeSpecializationMarker => {
__p.word("RustcUnsafeSpecializationMarker")
}
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 } => {
__p.word("ShouldPanic");
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::Splat(f0) => {
__p.word("Splat");
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::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::TestRunner(f0) => {
__p.word("TestRunner");
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::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::TypeLengthLimit { limit } => {
__p.word("TypeLengthLimit");
if true && !limit.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
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::Unroll(f0) => {
__p.word("Unroll");
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::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::UnstableRemoved(f0) => {
__p.word("UnstableRemoved");
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 } => {
__p.word("Used");
if true && !used_by.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);
__p.word("}");
}
Self::WindowsSubsystem(f0) => {
__p.word("WindowsSubsystem");
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)]
1002pub enum AttributeKind {
1003 AllowInternalUnsafe(Span),
1006
1007 AllowInternalUnstable(ThinVec<(Symbol, Span)>, Span),
1009
1010 AutomaticallyDerived,
1012
1013 CfgAttrTrace,
1015
1016 CfgTrace(ThinVec<(CfgEntry, Span)>),
1018
1019 CfiEncoding {
1021 encoding: Symbol,
1022 },
1023
1024 Cold,
1026
1027 CollapseDebugInfo(CollapseMacroDebuginfo),
1029
1030 CompilerBuiltins,
1032
1033 ConstContinue(Span),
1035
1036 Coroutine,
1038
1039 Coverage(CoverageAttrKind),
1041
1042 CrateName {
1044 name: Symbol,
1045 name_span: Span,
1046 attr_span: Span,
1047 },
1048
1049 CrateType(ThinVec<CrateType>),
1051
1052 CustomMir(Option<(MirDialect, Span)>, Option<(MirPhase, Span)>),
1054
1055 DebuggerVisualizer(ThinVec<DebugVisualizer>),
1057
1058 DefaultLibAllocator,
1060
1061 Deprecated {
1063 deprecation: Deprecation,
1064 span: Span,
1065 },
1066
1067 DoNotRecommend,
1069
1070 Doc(Box<DocAttribute>),
1074
1075 DocComment {
1078 style: AttrStyle,
1079 kind: DocFragmentKind,
1080 span: Span,
1081 comment: Symbol,
1082 },
1083
1084 EiiDeclaration(EiiDecl),
1086
1087 EiiImpls(ThinVec<EiiImpl>),
1089
1090 ExportName {
1092 name: Symbol,
1095 span: Span,
1096 },
1097
1098 ExportStable,
1100
1101 Feature(ThinVec<Ident>, Span),
1103
1104 FfiConst,
1106
1107 FfiPure(Span),
1109
1110 Fundamental,
1112
1113 Ignore {
1115 span: Span,
1116 reason: Option<Symbol>,
1118 },
1119
1120 Inline(InlineAttr, Span),
1122
1123 InstructionSet(InstructionSetAttr),
1125
1126 InstrumentFn(InstrumentFnAttr),
1128
1129 Lang(LangItem),
1131
1132 Link(ThinVec<LinkEntry>, Span),
1134
1135 LinkName {
1137 name: Symbol,
1138 span: Span,
1139 },
1140
1141 LinkOrdinal {
1143 ordinal: u16,
1144 span: Span,
1145 },
1146
1147 LinkSection {
1149 name: Symbol,
1150 },
1151
1152 Linkage(Linkage, Span),
1154
1155 LoopMatch(Span),
1157
1158 MacroEscape,
1160
1161 MacroExport {
1163 span: Span,
1164 local_inner_macros: bool,
1165 },
1166
1167 MacroUse {
1169 span: Span,
1170 arguments: MacroUseArgs,
1171 },
1172
1173 Marker,
1175
1176 MayDangle(Span),
1178
1179 MoveSizeLimit {
1181 limit: Limit,
1182 },
1183
1184 MustNotSupend {
1186 reason: Option<Symbol>,
1187 },
1188
1189 MustUse {
1191 span: Span,
1193 reason: Option<Symbol>,
1195 },
1196
1197 Naked(Span),
1199
1200 NeedsAllocator,
1202
1203 NeedsPanicRuntime,
1205
1206 NoBuiltins,
1208
1209 NoCore,
1211
1212 NoImplicitPrelude,
1214
1215 NoLink,
1217
1218 NoMain,
1220
1221 NoMangle(Span),
1223
1224 NoStd,
1226
1227 NonExhaustive(Span),
1229
1230 OnConst {
1232 span: Span,
1233 directive: Option<Box<Directive>>,
1235 },
1236
1237 OnMove {
1239 directive: Option<Box<Directive>>,
1240 },
1241
1242 OnTypeError {
1244 span: Span,
1245 directive: Option<Box<Directive>>,
1246 },
1247
1248 OnUnimplemented {
1250 directive: Option<Box<Directive>>,
1252 },
1253
1254 OnUnknown {
1256 directive: Option<Box<Directive>>,
1258 },
1259
1260 OnUnmatchedArgs {
1262 directive: Option<Box<Directive>>,
1264 },
1265
1266 Optimize(OptimizeAttr, Span),
1268
1269 PanicRuntime,
1271
1272 PatchableFunctionEntry {
1274 prefix: Option<u8>,
1275 entry: Option<u8>,
1276 section: Option<Symbol>,
1277 },
1278
1279 Path(Symbol),
1281
1282 PatternComplexityLimit {
1284 limit: Limit,
1285 },
1286
1287 PinV2(Span),
1289
1290 PreludeImport,
1292
1293 ProcMacro,
1295
1296 ProcMacroAttribute,
1298
1299 ProcMacroDerive {
1301 trait_name: Symbol,
1302 helper_attrs: ThinVec<Symbol>,
1303 },
1304
1305 ProfilerRuntime,
1307
1308 RecursionLimit {
1310 limit: Limit,
1311 },
1312
1313 ReexportTestHarnessMain(Symbol),
1315
1316 RegisterTool(ThinVec<Ident>),
1318
1319 Repr {
1321 reprs: ThinVec<(ReprAttr, Span)>,
1322 first_span: Span,
1323 },
1324
1325 RustcAbi {
1327 attr_span: Span,
1328 kind: RustcAbiAttrKind,
1329 },
1330
1331 RustcAlign {
1334 align: Align,
1335 span: Span,
1336 },
1337
1338 RustcAllocator,
1340
1341 RustcAllocatorZeroed,
1343
1344 RustcAllocatorZeroedVariant {
1346 name: Symbol,
1347 },
1348
1349 RustcAllowConstFnUnstable(ThinVec<Symbol>, Span),
1351
1352 RustcAllowIncoherentImpl(Span),
1354
1355 RustcAsPtr,
1357
1358 RustcAutodiff(Option<Box<RustcAutodiff>>),
1360
1361 RustcBodyStability {
1363 stability: DefaultBodyStability,
1364 span: Span,
1366 },
1367 RustcBuiltinMacro {
1369 builtin_name: Option<Symbol>,
1370 helper_attrs: ThinVec<Symbol>,
1371 },
1372 RustcCaptureAnalysis,
1374
1375 RustcCguTestAttr(ThinVec<(Span, CguFields)>),
1377
1378 RustcClean(ThinVec<RustcCleanAttribute>),
1380
1381 RustcCoherenceIsCore,
1383
1384 RustcCoinductive,
1386
1387 RustcComptime(Span),
1389
1390 RustcConfusables {
1392 confusables: ThinVec<Symbol>,
1393 },
1394 RustcConstStability {
1396 stability: PartialConstStability,
1397 span: Span,
1399 },
1400
1401 RustcConstStableIndirect,
1403
1404 RustcConversionSuggestion,
1406
1407 RustcDeallocator,
1409
1410 RustcDelayedBugFromInsideQuery,
1412
1413 RustcDenyExplicitImpl,
1415
1416 RustcDeprecatedSafe2024 {
1418 suggestion: Symbol,
1419 },
1420 RustcDiagnosticItem(Symbol),
1422
1423 RustcDoNotConstCheck,
1425
1426 RustcDocPrimitive(Span, Symbol),
1428
1429 RustcDummy,
1431
1432 RustcDumpDefParents,
1434
1435 RustcDumpDefPath(Span),
1437
1438 RustcDumpGenerics,
1440
1441 RustcDumpHiddenTypeOfOpaques,
1443
1444 RustcDumpInferredOutlives,
1446
1447 RustcDumpItemBounds,
1449
1450 RustcDumpLayout(ThinVec<RustcDumpLayoutKind>),
1452
1453 RustcDumpObjectLifetimeDefaults,
1455
1456 RustcDumpPredicates,
1458
1459 RustcDumpSymbolName(Span),
1461
1462 RustcDumpUserArgs,
1464
1465 RustcDumpVariances,
1467
1468 RustcDumpVariancesOfOpaques,
1470
1471 RustcDumpVtable(Span),
1473
1474 RustcDynIncompatibleTrait(Span),
1476
1477 RustcEffectiveVisibility,
1479
1480 RustcEiiForeignItem,
1482
1483 RustcEvaluateWhereClauses,
1485
1486 RustcHasIncoherentInherentImpls,
1487
1488 RustcIfThisChanged(Span, Option<Symbol>),
1490
1491 RustcInheritOverflowChecks,
1493
1494 RustcInsignificantDtor,
1496
1497 RustcIntrinsic,
1499
1500 RustcIntrinsicConstStableIndirect,
1502
1503 RustcLegacyConstGenerics {
1505 fn_indexes: ThinVec<(usize, Span)>,
1506 attr_span: Span,
1507 },
1508
1509 RustcLintOptDenyFieldAccess {
1511 lint_message: Symbol,
1512 },
1513
1514 RustcLintOptTy,
1516
1517 RustcLintQueryInstability,
1519
1520 RustcLintUntrackedQueryInformation,
1522
1523 RustcMacroTransparency(Transparency),
1525
1526 RustcMain,
1528
1529 RustcMir(ThinVec<RustcMirKind>),
1531
1532 RustcMustImplementOneOf {
1534 attr_span: Span,
1535 fn_names: ThinVec<Ident>,
1536 },
1537
1538 RustcMustMatchExhaustively(Span),
1540
1541 RustcNeverReturnsNullPtr,
1543
1544 RustcNeverTypeOptions {
1546 fallback: Option<DivergingFallbackBehavior>,
1547 diverging_block_default: Option<DivergingBlockBehavior>,
1548 },
1549
1550 RustcNoImplicitAutorefs,
1552
1553 RustcNoImplicitBounds,
1555
1556 RustcNoMirInline,
1558
1559 RustcNoWritable,
1561
1562 RustcNonConstTraitMethod,
1564
1565 RustcNonnullOptimizationGuaranteed,
1567
1568 RustcNounwind,
1570
1571 RustcObjcClass {
1573 classname: Symbol,
1574 },
1575
1576 RustcObjcSelector {
1578 methname: Symbol,
1579 },
1580
1581 RustcOffloadKernel,
1583
1584 RustcParenSugar,
1586
1587 RustcPassByValue,
1589
1590 RustcPassIndirectlyInNonRusticAbis(Span),
1592
1593 RustcPreserveUbChecks,
1595
1596 RustcProcMacroDecls,
1598
1599 RustcPubTransparent(Span),
1601
1602 RustcReallocator,
1604
1605 RustcRegions,
1607
1608 RustcReservationImpl(Symbol),
1610
1611 RustcScalableVector {
1613 element_count: Option<u16>,
1616 },
1617
1618 RustcShouldNotBeCalledOnConstItems,
1620
1621 RustcSimdMonomorphizeLaneLimit(Limit),
1623
1624 RustcSkipDuringMethodDispatch {
1626 array: bool,
1627 boxed_slice: bool,
1628 },
1629
1630 RustcSpecializationTrait,
1632
1633 RustcStdInternalSymbol,
1635
1636 RustcStrictCoherence(Span),
1638
1639 RustcTestMarker(Symbol),
1641
1642 RustcThenThisWouldNeed(ThinVec<Ident>),
1644
1645 RustcTrivialFieldReads,
1647
1648 RustcUnsafeSpecializationMarker,
1650
1651 Sanitize {
1657 on_set: SanitizerSet,
1658 off_set: SanitizerSet,
1659 rtsan: Option<RtsanSetting>,
1660 span: Span,
1661 },
1662
1663 ShouldPanic {
1665 reason: Option<Symbol>,
1666 },
1667
1668 Splat(Span),
1670
1671 Stability {
1673 stability: Stability,
1674 span: Span,
1676 },
1677
1678 TargetFeature {
1681 features: ThinVec<(Symbol, Span)>,
1682 attr_span: Span,
1683 was_forced: bool,
1684 },
1685
1686 TestRunner(Path),
1688
1689 ThreadLocal,
1691
1692 TrackCaller(Span),
1694
1695 TypeLengthLimit {
1697 limit: Limit,
1698 },
1699
1700 Unroll(UnrollAttr),
1702
1703 UnstableFeatureBound(ThinVec<(Symbol, Span)>),
1705
1706 UnstableRemoved(ThinVec<UnstableRemovedFeature>),
1708
1709 Used {
1711 used_by: UsedBy,
1712 },
1713
1714 WindowsSubsystem(WindowsSubsystemKind),
1716 }