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::*;
8pub use rustc_ast::attr::version::RustcVersion;
9use rustc_ast::expand::autodiff_attrs::{DiffActivity, DiffMode};
10use rustc_ast::expand::typetree::TypeTree;
11use rustc_ast::token::DocFragmentKind;
12use rustc_ast::{AttrStyle, Path, ast};
13use rustc_data_structures::fx::FxIndexMap;
14use rustc_error_messages::{DiagArgValue, IntoDiagArg};
15use rustc_macros::{
16 Decodable, Decodable_NoContext, Encodable, Encodable_NoContext, PrintAttribute, StableHash,
17};
18use rustc_span::def_id::DefId;
19use rustc_span::hygiene::Transparency;
20use rustc_span::{ErrorGuaranteed, Ident, Span, Symbol};
21use rustc_structures::{CollapseMacroDebuginfo, CrateType, Limit, NativeLibKind, SanitizerSet};
22use thin_vec::ThinVec;
23
24pub use crate::canonical_symbols::{CanonicalSymbol, CanonicalSymbols};
25use crate::diagnostic::*;
26use crate::lang_items::LangItem;
27use crate::pretty_printing::PrintAttribute;
28use crate::stability::{DefaultBodyStability, PartialConstStability, Stability};
29
30#[derive(#[automatically_derived]
impl ::core::marker::Copy for EiiImplResolution { }Copy, #[automatically_derived]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for EiiImplResolution { }
#[automatically_derived]
impl ::core::clone::Clone for EiiImplResolution {
#[inline]
fn clone(&self) -> EiiImplResolution {
let _: ::core::clone::AssertParamIsClone<DefId>;
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)]
31pub enum EiiImplResolution {
32 Macro(DefId),
36 Known(DefId),
39 Error(ErrorGuaranteed),
41}
42
43#[derive(#[automatically_derived]
impl ::core::marker::Copy for EiiImpl { }Copy, #[automatically_derived]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for EiiImpl { }
#[automatically_derived]
impl ::core::clone::Clone for EiiImpl {
#[inline]
fn clone(&self) -> EiiImpl {
let _: ::core::clone::AssertParamIsClone<EiiImplResolution>;
let _: ::core::clone::AssertParamIsClone<Option<Span>>;
let _: ::core::clone::AssertParamIsClone<Span>;
let _: ::core::clone::AssertParamIsClone<bool>;
*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_unsafe_span",
&self.impl_unsafe_span, "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_unsafe_span: 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) {
let EiiImpl {
resolution: ref __binding_0,
impl_unsafe_span: ref __binding_1,
span: ref __binding_2,
inner_span: ref __binding_3,
is_default: ref __binding_4 } = *self;
::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_unsafe_span: ::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_unsafe_span, span, inner_span, is_default
} = self;
__p.word("EiiImpl");
if true && !resolution.should_render() &&
!impl_unsafe_span.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_unsafe_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("impl_unsafe_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
impl_unsafe_span.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)]
44pub struct EiiImpl {
45 pub resolution: EiiImplResolution,
46 pub impl_unsafe_span: Option<Span>,
47 pub span: Span,
48 pub inner_span: Span,
49 pub is_default: bool,
50}
51
52#[derive(#[automatically_derived]
impl ::core::marker::Copy for EiiDecl { }Copy, #[automatically_derived]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for EiiDecl { }
#[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) {
let EiiDecl {
foreign_item: ref __binding_0,
impl_unsafe: ref __binding_1,
name: ref __binding_2 } = *self;
::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)]
53pub struct EiiDecl {
54 pub foreign_item: DefId,
55 pub impl_unsafe: bool,
57 pub name: Ident,
58}
59
60#[derive(#[automatically_derived]
impl ::core::marker::Copy for CguKind { }Copy, #[automatically_derived]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for CguKind { }
#[automatically_derived]
impl ::core::clone::Clone for CguKind {
#[inline]
fn clone(&self) -> CguKind { *self }
}Clone, #[automatically_derived]
impl ::core::marker::StructuralPartialEq for CguKind { }
#[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);
}
}
};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)]
61pub enum CguKind {
62 No,
63 PreDashLto,
64 PostDashLto,
65 Any,
66}
67
68#[derive(#[automatically_derived]
impl ::core::marker::Copy for CguFields { }Copy, #[automatically_derived]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for CguFields { }
#[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::marker::StructuralPartialEq for CguFields { }
#[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)]
69pub enum CguFields {
70 PartitionReused { cfg: Symbol, module: Symbol },
71 PartitionCodegened { cfg: Symbol, module: Symbol },
72 ExpectedCguReuse { cfg: Symbol, module: Symbol, kind: CguKind },
73}
74
75#[derive(#[automatically_derived]
impl ::core::marker::Copy for InlineAttr { }Copy, #[automatically_derived]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for InlineAttr { }
#[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::marker::StructuralPartialEq for InlineAttr { }
#[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)]
76pub enum InlineAttr {
77 None,
78 Hint,
79 Always,
80 Never,
81 Force {
85 attr_span: Span,
86 reason: Option<Symbol>,
87 },
88}
89
90impl InlineAttr {
91 pub fn always(&self) -> bool {
92 match self {
93 InlineAttr::Always | InlineAttr::Force { .. } => true,
94 InlineAttr::None | InlineAttr::Hint | InlineAttr::Never => false,
95 }
96 }
97}
98
99#[derive(#[automatically_derived]
impl ::core::marker::Copy for UnrollAttr { }Copy, #[automatically_derived]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for UnrollAttr { }
#[automatically_derived]
impl ::core::clone::Clone for UnrollAttr {
#[inline]
fn clone(&self) -> UnrollAttr {
let _: ::core::clone::AssertParamIsClone<u32>;
*self
}
}Clone, #[automatically_derived]
impl ::core::marker::StructuralPartialEq for UnrollAttr { }
#[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)]
100pub enum UnrollAttr {
101 Hint,
102 Full,
103 Never,
104 Count(u32),
105}
106
107#[derive(#[automatically_derived]
impl ::core::marker::Copy for InstructionSetAttr { }Copy, #[automatically_derived]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for InstructionSetAttr { }
#[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);
}
}
};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::marker::StructuralPartialEq for InstructionSetAttr { }
#[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 { }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)]
108pub enum InstructionSetAttr {
109 ArmA32,
110 ArmT32,
111}
112
113#[derive(#[automatically_derived]
impl ::core::marker::Copy for InstrumentFnAttr { }Copy, #[automatically_derived]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for InstrumentFnAttr { }
#[automatically_derived]
impl ::core::clone::Clone for InstrumentFnAttr {
#[inline]
fn clone(&self) -> InstrumentFnAttr { *self }
}Clone, #[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)]
114#[derive(const _: () =
{
impl<__E: ::rustc_serialize::Encoder>
::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);
}
}
};Encodable_NoContext, const _: () =
{
impl<__D: ::rustc_serialize::Decoder>
::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_NoContext, 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)]
115pub enum InstrumentFnAttr {
116 On,
118 Off,
120}
121
122#[derive(#[automatically_derived]
impl ::core::marker::Copy for OptimizeAttr { }Copy, #[automatically_derived]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for OptimizeAttr { }
#[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::marker::StructuralPartialEq for OptimizeAttr { }
#[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 { }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)]
123#[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);
}
}
};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)]
124pub enum OptimizeAttr {
125 #[default]
127 Default,
128 DoNotOptimize,
130 Speed,
132 Size,
134}
135
136impl OptimizeAttr {
137 pub fn do_not_optimize(&self) -> bool {
138 #[allow(non_exhaustive_omitted_patterns)] match self {
Self::DoNotOptimize => true,
_ => false,
}matches!(self, Self::DoNotOptimize)
139 }
140}
141
142#[derive(
143 #[automatically_derived]
impl ::core::marker::StructuralPartialEq for ReprAttr { }
#[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,
144 #[automatically_derived]
impl ::core::cmp::Eq for ReprAttr {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<IntType>;
let _: ::core::cmp::AssertParamIsEq<Align>;
}
}Eq,
145 #[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,
146 #[automatically_derived]
impl ::core::cmp::PartialOrd for ReprAttr {
#[inline]
fn partial_cmp(&self, other: &ReprAttr)
-> ::core::option::Option<::core::cmp::Ordering> {
::core::option::Option::Some(::core::cmp::Ord::cmp(self, other))
}
}PartialOrd,
147 #[automatically_derived]
impl ::core::cmp::Ord for ReprAttr {
#[inline]
fn cmp(&self, other: &ReprAttr) -> ::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) {
(ReprAttr::ReprInt(__self_0), ReprAttr::ReprInt(__arg1_0))
=> ::core::cmp::Ord::cmp(__self_0, __arg1_0),
(ReprAttr::ReprPacked(__self_0),
ReprAttr::ReprPacked(__arg1_0)) =>
::core::cmp::Ord::cmp(__self_0, __arg1_0),
(ReprAttr::ReprAlign(__self_0),
ReprAttr::ReprAlign(__arg1_0)) =>
::core::cmp::Ord::cmp(__self_0, __arg1_0),
_ => ::core::cmp::Ordering::Equal,
},
cmp => cmp,
}
}
}Ord,
148 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,
149 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,
150 #[automatically_derived]
impl ::core::marker::Copy for ReprAttr { }Copy,
151 #[automatically_derived]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for ReprAttr { }
#[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,
152 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,
153 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
154)]
155pub enum ReprAttr {
156 ReprInt(IntType),
157 ReprRust,
158 ReprC,
159 ReprPacked(Align),
160 ReprSimd,
161 ReprTransparent,
162 ReprAlign(Align),
163}
164
165pub enum TransparencyError {
166 UnknownTransparency(Symbol, Span),
167 MultipleTransparencyAttrs(Span, Span),
168}
169
170#[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::marker::StructuralPartialEq for IntType { }
#[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]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for IntType { }
#[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, #[automatically_derived]
impl ::core::cmp::PartialOrd for IntType {
#[inline]
fn partial_cmp(&self, other: &IntType)
-> ::core::option::Option<::core::cmp::Ordering> {
::core::option::Option::Some(::core::cmp::Ord::cmp(self, other))
}
}PartialOrd, #[automatically_derived]
impl ::core::cmp::Ord for IntType {
#[inline]
fn cmp(&self, other: &IntType) -> ::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) {
(IntType::SignedInt(__self_0), IntType::SignedInt(__arg1_0))
=> ::core::cmp::Ord::cmp(__self_0, __arg1_0),
(IntType::UnsignedInt(__self_0),
IntType::UnsignedInt(__arg1_0)) =>
::core::cmp::Ord::cmp(__self_0, __arg1_0),
_ => unsafe { ::core::intrinsics::unreachable() }
},
cmp => cmp,
}
}
}Ord)]
171#[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)]
172pub enum IntType {
173 SignedInt(ast::IntTy),
174 UnsignedInt(ast::UintTy),
175}
176
177#[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) {
let Deprecation {
since: ref __binding_0,
note: ref __binding_1,
suggestion: ref __binding_2 } = *self;
::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]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for Deprecation { }
#[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)]
178pub struct Deprecation {
179 pub since: DeprecatedSince,
180 pub note: Option<Ident>,
182 pub suggestion: Option<Symbol>,
186}
187
188#[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]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for DeprecatedSince { }
#[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)]
190pub enum DeprecatedSince {
191 RustcVersion(RustcVersion),
192 Future,
194 NonStandard(Symbol),
197 Unspecified,
199 Err,
202}
203
204#[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 { }Eq, #[automatically_derived]
impl ::core::marker::StructuralPartialEq for CoverageAttrKind { }
#[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);
}
}
};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]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for CoverageAttrKind { }
#[automatically_derived]
impl ::core::clone::Clone for CoverageAttrKind {
#[inline]
fn clone(&self) -> CoverageAttrKind { *self }
}Clone)]
206#[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)]
207pub enum CoverageAttrKind {
208 On,
209 Off,
210}
211
212#[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 { }Eq, #[automatically_derived]
impl ::core::marker::StructuralPartialEq for RustcAbiAttrKind { }
#[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);
}
}
};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]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for RustcAbiAttrKind { }
#[automatically_derived]
impl ::core::clone::Clone for RustcAbiAttrKind {
#[inline]
fn clone(&self) -> RustcAbiAttrKind { *self }
}Clone)]
214#[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)]
215pub enum RustcAbiAttrKind {
216 Debug,
217 AssertEq,
218}
219
220impl Deprecation {
221 pub fn is_in_effect(&self) -> bool {
225 match self.since {
226 DeprecatedSince::RustcVersion(since) => since <= RustcVersion::CURRENT,
227 DeprecatedSince::Future => false,
228 DeprecatedSince::NonStandard(_) => true,
230 DeprecatedSince::Unspecified | DeprecatedSince::Err => true,
232 }
233 }
234
235 pub fn is_since_rustc_version(&self) -> bool {
236 #[allow(non_exhaustive_omitted_patterns)] match self.since {
DeprecatedSince::RustcVersion(_) => true,
_ => false,
}matches!(self.since, DeprecatedSince::RustcVersion(_))
237 }
238}
239
240#[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);
}
}
};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]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for UsedBy { }
#[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::marker::StructuralPartialEq for UsedBy { }
#[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 { }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)]
245#[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)]
246pub enum UsedBy {
247 Default,
248 Compiler,
249 Linker,
250}
251
252#[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::marker::StructuralPartialEq for MacroUseArgs { }
#[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)]
253#[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)]
254pub enum MacroUseArgs {
255 UseAll,
256 UseSpecific(ThinVec<Ident>),
257}
258
259impl Default for MacroUseArgs {
260 fn default() -> Self {
261 Self::UseSpecific(ThinVec::new())
262 }
263}
264
265#[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) {
let StrippedCfgItem {
parent_scope: ref __binding_0,
ident: ref __binding_1,
cfg: ref __binding_2 } = *self;
::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)]
266pub struct StrippedCfgItem<ScopeId = DefId> {
267 pub parent_scope: ScopeId,
268 pub ident: Ident,
269 pub cfg: (CfgEntry, Span),
270}
271
272impl<ScopeId> StrippedCfgItem<ScopeId> {
273 pub fn map_scope_id<New>(self, f: impl FnOnce(ScopeId) -> New) -> StrippedCfgItem<New> {
274 StrippedCfgItem { parent_scope: f(self.parent_scope), ident: self.ident, cfg: self.cfg }
275 }
276}
277
278#[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);
}
}
};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]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for Linkage { }
#[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::marker::StructuralPartialEq for Linkage { }
#[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 { }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)]
283#[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)]
284pub enum Linkage {
285 AvailableExternally,
286 Common,
287 ExternalWeak,
288 External,
289 Internal,
290 LinkOnceAny,
291 LinkOnceODR,
292 WeakAny,
293 WeakODR,
294}
295
296#[derive(#[automatically_derived]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for MirDialect { }
#[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);
}
}
};Encodable, #[automatically_derived]
impl ::core::marker::StructuralPartialEq for MirDialect { }
#[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)]
297#[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)]
298pub enum MirDialect {
299 Analysis,
300 Built,
301 Runtime,
302}
303
304impl IntoDiagArg for MirDialect {
305 fn into_diag_arg(self, _path: &mut Option<PathBuf>) -> DiagArgValue {
306 let arg = match self {
307 MirDialect::Analysis => "analysis",
308 MirDialect::Built => "built",
309 MirDialect::Runtime => "runtime",
310 };
311 DiagArgValue::Str(Cow::Borrowed(arg))
312 }
313}
314
315#[derive(#[automatically_derived]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for MirPhase { }
#[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);
}
}
};Encodable, #[automatically_derived]
impl ::core::marker::StructuralPartialEq for MirPhase { }
#[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)]
316#[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)]
317pub enum MirPhase {
318 Initial,
319 PostCleanup,
320 Optimized,
321}
322
323impl IntoDiagArg for MirPhase {
324 fn into_diag_arg(self, _path: &mut Option<PathBuf>) -> DiagArgValue {
325 let arg = match self {
326 MirPhase::Initial => "initial",
327 MirPhase::PostCleanup => "post-cleanup",
328 MirPhase::Optimized => "optimized",
329 };
330 DiagArgValue::Str(Cow::Borrowed(arg))
331 }
332}
333
334#[derive(#[automatically_derived]
impl ::core::marker::Copy for PeImportNameType { }Copy, #[automatically_derived]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for PeImportNameType { }
#[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::marker::StructuralPartialEq for PeImportNameType { }
#[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)]
337pub enum PeImportNameType {
338 Ordinal(u16),
341 Decorated,
344 NoPrefix,
347 Undecorated,
351}
352
353#[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) {
let 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 } = *self;
::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)]
354pub struct LinkEntry {
355 pub span: Span,
356 pub kind: NativeLibKind,
357 pub name: Symbol,
358 pub cfg: Option<CfgEntry>,
359 pub verbatim: Option<bool>,
360 pub import_name_type: Option<(PeImportNameType, Span)>,
361}
362
363#[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)]
364#[derive(#[automatically_derived]
impl ::core::marker::Copy for DebuggerVisualizerType { }Copy, #[automatically_derived]
impl ::core::marker::StructuralPartialEq for DebuggerVisualizerType { }
#[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]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for DebuggerVisualizerType { }
#[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 { }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);
}
}
};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)]
365pub enum DebuggerVisualizerType {
366 Natvis,
367 GdbPrettyPrinter,
368}
369
370#[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) {
let DebugVisualizer {
span: ref __binding_0,
visualizer_type: ref __binding_1,
path: ref __binding_2 } = *self;
::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)]
371pub struct DebugVisualizer {
372 pub span: Span,
373 pub visualizer_type: DebuggerVisualizerType,
374 pub path: Symbol,
375}
376
377#[derive(#[automatically_derived]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for RtsanSetting { }
#[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);
}
}
};Encodable, #[automatically_derived]
impl ::core::cmp::Eq for RtsanSetting { }Eq, #[automatically_derived]
impl ::core::marker::StructuralPartialEq for RtsanSetting { }
#[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)]
378#[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)]
379#[derive_const(#[automatically_derived]
const impl ::core::default::Default for RtsanSetting {
#[inline]
fn default() -> RtsanSetting { Self::Caller }
}Default)]
380pub enum RtsanSetting {
381 Nonblocking,
382 Blocking,
383 #[default]
384 Caller,
385}
386
387#[derive(#[automatically_derived]
impl ::core::cmp::Eq for WindowsSubsystemKind { }Eq, #[automatically_derived]
impl ::core::marker::StructuralPartialEq for WindowsSubsystemKind { }
#[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]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for WindowsSubsystemKind { }
#[automatically_derived]
impl ::core::clone::Clone for WindowsSubsystemKind {
#[inline]
fn clone(&self) -> WindowsSubsystemKind { *self }
}Clone)]
388#[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);
}
}
};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)]
389pub enum WindowsSubsystemKind {
390 Console,
391 Windows,
392}
393
394impl WindowsSubsystemKind {
395 pub fn as_str(&self) -> &'static str {
396 match self {
397 WindowsSubsystemKind::Console => "console",
398 WindowsSubsystemKind::Windows => "windows",
399 }
400 }
401}
402
403#[derive(#[automatically_derived]
impl ::core::marker::Copy for DocInline { }Copy, #[automatically_derived]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for DocInline { }
#[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::marker::StructuralPartialEq for DocInline { }
#[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)]
404#[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);
}
}
};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)]
405pub enum DocInline {
406 Inline,
407 NoInline,
408}
409
410#[derive(#[automatically_derived]
impl ::core::marker::Copy for HideOrShow { }Copy, #[automatically_derived]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for HideOrShow { }
#[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::marker::StructuralPartialEq for HideOrShow { }
#[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)]
411#[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);
}
}
};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)]
412pub enum HideOrShow {
413 Hide,
414 Show,
415}
416
417#[derive(#[automatically_derived]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for DocCfgHideShowValue { }
#[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) {
let DocCfgHideShowValue {
span: ref __binding_0, value: ref __binding_1 } = *self;
::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::marker::StructuralPartialEq for DocCfgHideShowValue { }
#[automatically_derived]
impl ::core::cmp::PartialEq for DocCfgHideShowValue {
#[inline]
fn eq(&self, other: &DocCfgHideShowValue) -> bool {
self.span == other.span && self.value == other.value
}
}PartialEq)]
418pub struct DocCfgHideShowValue {
419 pub span: Span,
420 pub value: Option<Symbol>,
422}
423
424impl DocCfgHideShowValue {
425 pub fn new(value: Symbol, span: Span) -> Self {
426 Self { span, value: Some(value) }
427 }
428
429 pub fn new_none(span: Span) -> Self {
430 Self { span, value: None }
431 }
432}
433
434#[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::marker::StructuralPartialEq for DocCfgHideShow { }
#[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)]
435pub enum DocCfgHideShow {
436 Any(Span),
437 List(ThinVec<DocCfgHideShowValue>),
438}
439
440impl DocCfgHideShow {
441 pub fn new() -> Self {
442 Self::List(ThinVec::new())
443 }
444
445 pub fn new_with_only_key(span: Span) -> Self {
446 let mut values = ThinVec::with_capacity(1);
447 values.push(DocCfgHideShowValue { span, value: None });
448 Self::List(values)
449 }
450
451 pub fn push_none(&mut self, span: Span) {
452 if let Self::List(values) = self
453 && !values.iter().any(|v| v.value.is_none())
454 {
455 values.push(DocCfgHideShowValue { span, value: None });
456 }
457 }
458
459 pub fn merge_with(&mut self, other: &Self) {
460 match (self, other) {
461 (Self::Any(_), Self::Any(_) | Self::List(_)) => {
462 }
464 (s, Self::Any(span)) => {
465 *s = Self::Any(*span);
467 }
468 (Self::List(values), Self::List(other_values)) => {
469 for other in other_values {
472 if !values.iter().any(|value| value.value == other.value) {
473 values.push(*other);
474 }
475 }
476 }
477 }
478 }
479}
480
481#[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) {
let CfgHideShow {
kind: ref __binding_0, values: ref __binding_1 } = *self;
::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)]
482pub struct CfgHideShow {
483 pub kind: HideOrShow,
484 pub values: FxIndexMap<Symbol, DocCfgHideShow>,
485}
486
487#[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)]
488pub struct DocAttribute {
489 pub first_span: Span,
490
491 pub aliases: FxIndexMap<Symbol, Span>,
492 pub hidden: Option<Span>,
493 pub inline: ThinVec<(DocInline, Span)>,
496
497 pub cfg: ThinVec<CfgEntry>,
499 pub auto_cfg: ThinVec<(CfgHideShow, Span)>,
500 pub auto_cfg_change: ThinVec<(bool, Span)>,
502
503 pub fake_variadic: Option<Span>,
505 pub keyword: Option<(Symbol, Span)>,
506 pub attribute: Option<(Symbol, Span)>,
507 pub masked: Option<Span>,
508 pub notable_trait: Option<Span>,
509 pub search_unbox: Option<Span>,
510
511 pub html_favicon_url: Option<(Symbol, Span)>,
513 pub html_logo_url: Option<(Symbol, Span)>,
514 pub html_playground_url: Option<(Symbol, Span)>,
515 pub html_root_url: Option<(Symbol, Span)>,
516 pub html_no_source: Option<Span>,
517 pub issue_tracker_base_url: Option<(Symbol, Span)>,
518 pub rust_logo: Option<Span>,
519
520 pub test_attrs: ThinVec<Span>,
522 pub no_crate_inject: Option<Span>,
523}
524
525impl<E: rustc_span::SpanEncoder> rustc_serialize::Encodable<E> for DocAttribute {
526 fn encode(&self, encoder: &mut E) {
527 let DocAttribute {
528 first_span,
529 aliases,
530 hidden,
531 inline,
532 cfg,
533 auto_cfg,
534 auto_cfg_change,
535 fake_variadic,
536 keyword,
537 attribute,
538 masked,
539 notable_trait,
540 search_unbox,
541 html_favicon_url,
542 html_logo_url,
543 html_playground_url,
544 html_root_url,
545 html_no_source,
546 issue_tracker_base_url,
547 rust_logo,
548 test_attrs,
549 no_crate_inject,
550 } = self;
551 rustc_serialize::Encodable::<E>::encode(first_span, encoder);
552 rustc_serialize::Encodable::<E>::encode(aliases, encoder);
553 rustc_serialize::Encodable::<E>::encode(hidden, encoder);
554
555 let inline: ThinVec<_> =
559 inline.iter().filter(|(i, _)| *i != DocInline::Inline).cloned().collect();
560 rustc_serialize::Encodable::<E>::encode(&inline, encoder);
561
562 rustc_serialize::Encodable::<E>::encode(cfg, encoder);
563 rustc_serialize::Encodable::<E>::encode(auto_cfg, encoder);
564 rustc_serialize::Encodable::<E>::encode(auto_cfg_change, encoder);
565 rustc_serialize::Encodable::<E>::encode(fake_variadic, encoder);
566 rustc_serialize::Encodable::<E>::encode(keyword, encoder);
567 rustc_serialize::Encodable::<E>::encode(attribute, encoder);
568 rustc_serialize::Encodable::<E>::encode(masked, encoder);
569 rustc_serialize::Encodable::<E>::encode(notable_trait, encoder);
570 rustc_serialize::Encodable::<E>::encode(search_unbox, encoder);
571 rustc_serialize::Encodable::<E>::encode(html_favicon_url, encoder);
572 rustc_serialize::Encodable::<E>::encode(html_logo_url, encoder);
573 rustc_serialize::Encodable::<E>::encode(html_playground_url, encoder);
574 rustc_serialize::Encodable::<E>::encode(html_root_url, encoder);
575 rustc_serialize::Encodable::<E>::encode(html_no_source, encoder);
576 rustc_serialize::Encodable::<E>::encode(issue_tracker_base_url, encoder);
577 rustc_serialize::Encodable::<E>::encode(rust_logo, encoder);
578 rustc_serialize::Encodable::<E>::encode(test_attrs, encoder);
579 rustc_serialize::Encodable::<E>::encode(no_crate_inject, encoder);
580 }
581}
582
583#[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::LargestNiche =>
RustcDumpLayoutKind::LargestNiche,
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::LargestNiche => "LargestNiche",
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::LargestNiche => {}
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::LargestNiche => { 4usize }
RustcDumpLayoutKind::Size => { 5usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
}
}
};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::LargestNiche }
5usize => { RustcDumpLayoutKind::Size }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `RustcDumpLayoutKind`, expected 0..6, 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::LargestNiche => { __p.word("LargestNiche") }
Self::Size => { __p.word("Size") }
}
}
}
};PrintAttribute)]
584pub enum RustcDumpLayoutKind {
585 Align,
586 BackendRepr,
587 Debug,
588 HomogenousAggregate,
589 LargestNiche,
590 Size,
591}
592
593#[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::marker::StructuralPartialEq for RustcMirKind { }
#[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)]
594pub enum RustcMirKind {
595 PeekMaybeInit,
596 PeekMaybeUninit,
597 PeekLiveness,
598 StopAfterDataflow,
599 BorrowckGraphvizPostflow { path: PathBuf },
600 BorrowckGraphvizFormat { format: BorrowckGraphvizFormatKind },
601}
602
603#[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) {}
}
};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::marker::StructuralPartialEq for BorrowckGraphvizFormatKind { }
#[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 { }Eq)]
604pub enum BorrowckGraphvizFormatKind {
605 TwoPhase,
606}
607
608#[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::marker::StructuralPartialEq for RustcCleanAttribute { }
#[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)]
609#[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) {
let RustcCleanAttribute {
span: ref __binding_0,
cfg: ref __binding_1,
except: ref __binding_2,
loaded_from_disk: ref __binding_3 } = *self;
::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)]
610pub struct RustcCleanAttribute {
611 pub span: Span,
612 pub cfg: Symbol,
613 pub except: Option<RustcCleanQueries>,
614 pub loaded_from_disk: Option<RustcCleanQueries>,
615}
616
617#[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::marker::StructuralPartialEq for RustcCleanQueries { }
#[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)]
619#[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) {
let RustcCleanQueries {
entries: ref __binding_0, span: ref __binding_1 } = *self;
::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)]
620pub struct RustcCleanQueries {
621 pub entries: ThinVec<Symbol>,
622 pub span: Span,
623}
624
625#[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::marker::StructuralPartialEq for RustcAutodiff { }
#[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)]
626#[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) {
let RustcAutodiff {
mode: ref __binding_0,
width: ref __binding_1,
input_activity: ref __binding_2,
ret_activity: ref __binding_3 } = *self;
::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)]
627pub struct RustcAutodiff {
628 pub mode: DiffMode,
632 pub width: u32,
643 pub input_activity: ThinVec<DiffActivity>,
644 pub ret_activity: DiffActivity,
645}
646
647impl RustcAutodiff {
648 pub fn has_primal_ret(&self) -> bool {
649 #[allow(non_exhaustive_omitted_patterns)] match self.ret_activity {
DiffActivity::Active | DiffActivity::Dual => true,
_ => false,
}matches!(self.ret_activity, DiffActivity::Active | DiffActivity::Dual)
650 }
651}
652
653impl RustcAutodiff {
654 pub fn has_ret_activity(&self) -> bool {
655 self.ret_activity != DiffActivity::None
656 }
657 pub fn has_active_only_ret(&self) -> bool {
658 self.ret_activity == DiffActivity::ActiveOnly
659 }
660
661 pub fn error() -> Self {
662 RustcAutodiff {
663 mode: DiffMode::Error,
664 width: 0,
665 ret_activity: DiffActivity::None,
666 input_activity: ThinVec::new(),
667 }
668 }
669
670 pub fn source() -> Self {
671 RustcAutodiff {
672 mode: DiffMode::Source,
673 width: 0,
674 ret_activity: DiffActivity::None,
675 input_activity: ThinVec::new(),
676 }
677 }
678
679 pub fn is_active(&self) -> bool {
680 self.mode != DiffMode::Error
681 }
682
683 pub fn is_source(&self) -> bool {
684 self.mode == DiffMode::Source
685 }
686 pub fn apply_autodiff(&self) -> bool {
687 !#[allow(non_exhaustive_omitted_patterns)] match self.mode {
DiffMode::Error | DiffMode::Source => true,
_ => false,
}matches!(self.mode, DiffMode::Error | DiffMode::Source)
688 }
689
690 pub fn into_item(
691 self,
692 source: String,
693 target: String,
694 inputs: Vec<TypeTree>,
695 output: TypeTree,
696 ) -> AutoDiffItem {
697 AutoDiffItem { source, target, inputs, output, attrs: self }
698 }
699}
700
701#[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::marker::StructuralPartialEq for AutoDiffItem { }
#[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) {
let AutoDiffItem {
source: ref __binding_0,
target: ref __binding_1,
attrs: ref __binding_2,
inputs: ref __binding_3,
output: ref __binding_4 } = *self;
::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)]
703pub struct AutoDiffItem {
704 pub source: String,
706 pub target: String,
708 pub attrs: RustcAutodiff,
709 pub inputs: Vec<TypeTree>,
710 pub output: TypeTree,
711}
712
713impl fmt::Display for AutoDiffItem {
714 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
715 f.write_fmt(format_args!("Differentiating {0} -> {1}", self.source,
self.target))write!(f, "Differentiating {} -> {}", self.source, self.target)?;
716 f.write_fmt(format_args!(" with attributes: {0:?}", self.attrs))write!(f, " with attributes: {:?}", self.attrs)?;
717 f.write_fmt(format_args!(" with inputs: {0:?}", self.inputs))write!(f, " with inputs: {:?}", self.inputs)?;
718 f.write_fmt(format_args!(" with output: {0:?}", self.output))write!(f, " with output: {:?}", self.output)
719 }
720}
721
722#[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) {
let UnstableRemovedFeature {
feature: ref __binding_0,
reason: ref __binding_1,
link: ref __binding_2,
since: ref __binding_3 } = *self;
::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)]
723pub struct UnstableRemovedFeature {
724 pub feature: Symbol,
725 pub reason: Symbol,
726 pub link: Symbol,
727 pub since: RustcVersion,
728}
729
730#[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::AlwaysGca => AttributeKind::AlwaysGca,
AttributeKind::AutomaticallyDerived =>
AttributeKind::AutomaticallyDerived,
AttributeKind::CfgAttrTrace(__self_0) =>
AttributeKind::CfgAttrTrace(::core::clone::Clone::clone(__self_0)),
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::EiiImpl(__self_0) =>
AttributeKind::EiiImpl(::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::Opaque => AttributeKind::Opaque,
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, __self_1) =>
AttributeKind::Path(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
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 {
attr_tools: __self_0, lint_tools: __self_1 } =>
AttributeKind::RegisterTool {
attr_tools: ::core::clone::Clone::clone(__self_0),
lint_tools: ::core::clone::Clone::clone(__self_1),
},
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::RustcAllowLifetimeDependentSpecialization =>
AttributeKind::RustcAllowLifetimeDependentSpecialization,
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::RustcCanonicalSymbol =>
AttributeKind::RustcCanonicalSymbol,
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::RustcDumpClauses =>
AttributeKind::RustcDumpClauses,
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::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::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::RustcPanicsWhenZero =>
AttributeKind::RustcPanicsWhenZero,
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::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::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::AlwaysGca =>
::core::fmt::Formatter::write_str(f, "AlwaysGca"),
AttributeKind::AutomaticallyDerived =>
::core::fmt::Formatter::write_str(f, "AutomaticallyDerived"),
AttributeKind::CfgAttrTrace(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"CfgAttrTrace", &__self_0),
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::EiiImpl(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"EiiImpl", &__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::Opaque =>
::core::fmt::Formatter::write_str(f, "Opaque"),
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, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f, "Path",
__self_0, &__self_1),
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 {
attr_tools: __self_0, lint_tools: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RegisterTool", "attr_tools", __self_0, "lint_tools",
&__self_1),
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::RustcAllowLifetimeDependentSpecialization =>
::core::fmt::Formatter::write_str(f,
"RustcAllowLifetimeDependentSpecialization"),
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::RustcCanonicalSymbol =>
::core::fmt::Formatter::write_str(f, "RustcCanonicalSymbol"),
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::RustcDumpClauses =>
::core::fmt::Formatter::write_str(f, "RustcDumpClauses"),
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::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::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::RustcPanicsWhenZero =>
::core::fmt::Formatter::write_str(f, "RustcPanicsWhenZero"),
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::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::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::AlwaysGca => {}
AttributeKind::AutomaticallyDerived => {}
AttributeKind::CfgAttrTrace(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
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::EiiImpl(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::Opaque => {}
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, ref __binding_1) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.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 {
attr_tools: ref __binding_0, lint_tools: ref __binding_1 }
=> {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.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::RustcAllowLifetimeDependentSpecialization =>
{}
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::RustcCanonicalSymbol => {}
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::RustcDumpClauses => {}
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::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::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::RustcPanicsWhenZero => {}
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::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::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::AlwaysGca => { 2usize }
AttributeKind::AutomaticallyDerived => { 3usize }
AttributeKind::CfgAttrTrace(ref __binding_0) => { 4usize }
AttributeKind::CfgTrace(ref __binding_0) => { 5usize }
AttributeKind::CfiEncoding { encoding: ref __binding_0 } =>
{
6usize
}
AttributeKind::Cold => { 7usize }
AttributeKind::CollapseDebugInfo(ref __binding_0) => {
8usize
}
AttributeKind::CompilerBuiltins => { 9usize }
AttributeKind::ConstContinue(ref __binding_0) => { 10usize }
AttributeKind::Coroutine => { 11usize }
AttributeKind::Coverage(ref __binding_0) => { 12usize }
AttributeKind::CrateName {
name: ref __binding_0,
name_span: ref __binding_1,
attr_span: ref __binding_2 } => {
13usize
}
AttributeKind::CrateType(ref __binding_0) => { 14usize }
AttributeKind::CustomMir(ref __binding_0, ref __binding_1)
=> {
15usize
}
AttributeKind::DebuggerVisualizer(ref __binding_0) => {
16usize
}
AttributeKind::DefaultLibAllocator => { 17usize }
AttributeKind::Deprecated {
deprecation: ref __binding_0, span: ref __binding_1 } => {
18usize
}
AttributeKind::DoNotRecommend => { 19usize }
AttributeKind::Doc(ref __binding_0) => { 20usize }
AttributeKind::DocComment {
style: ref __binding_0,
kind: ref __binding_1,
span: ref __binding_2,
comment: ref __binding_3 } => {
21usize
}
AttributeKind::EiiDeclaration(ref __binding_0) => {
22usize
}
AttributeKind::EiiImpl(ref __binding_0) => { 23usize }
AttributeKind::ExportName {
name: ref __binding_0, span: ref __binding_1 } => {
24usize
}
AttributeKind::ExportStable => { 25usize }
AttributeKind::Feature(ref __binding_0, ref __binding_1) =>
{
26usize
}
AttributeKind::FfiConst => { 27usize }
AttributeKind::FfiPure(ref __binding_0) => { 28usize }
AttributeKind::Fundamental => { 29usize }
AttributeKind::Ignore {
span: ref __binding_0, reason: ref __binding_1 } => {
30usize
}
AttributeKind::Inline(ref __binding_0, ref __binding_1) => {
31usize
}
AttributeKind::InstructionSet(ref __binding_0) => {
32usize
}
AttributeKind::InstrumentFn(ref __binding_0) => { 33usize }
AttributeKind::Lang(ref __binding_0) => { 34usize }
AttributeKind::Link(ref __binding_0, ref __binding_1) => {
35usize
}
AttributeKind::LinkName {
name: ref __binding_0, span: ref __binding_1 } => {
36usize
}
AttributeKind::LinkOrdinal {
ordinal: ref __binding_0, span: ref __binding_1 } => {
37usize
}
AttributeKind::LinkSection { name: ref __binding_0 } => {
38usize
}
AttributeKind::Linkage(ref __binding_0, ref __binding_1) =>
{
39usize
}
AttributeKind::LoopMatch(ref __binding_0) => { 40usize }
AttributeKind::MacroEscape => { 41usize }
AttributeKind::MacroExport {
span: ref __binding_0, local_inner_macros: ref __binding_1 }
=> {
42usize
}
AttributeKind::MacroUse {
span: ref __binding_0, arguments: ref __binding_1 } => {
43usize
}
AttributeKind::Marker => { 44usize }
AttributeKind::MayDangle(ref __binding_0) => { 45usize }
AttributeKind::MoveSizeLimit { limit: ref __binding_0 } => {
46usize
}
AttributeKind::MustNotSupend { reason: ref __binding_0 } =>
{
47usize
}
AttributeKind::MustUse {
span: ref __binding_0, reason: ref __binding_1 } => {
48usize
}
AttributeKind::Naked(ref __binding_0) => { 49usize }
AttributeKind::NeedsAllocator => { 50usize }
AttributeKind::NeedsPanicRuntime => { 51usize }
AttributeKind::NoBuiltins => { 52usize }
AttributeKind::NoCore => { 53usize }
AttributeKind::NoImplicitPrelude => { 54usize }
AttributeKind::NoLink => { 55usize }
AttributeKind::NoMain => { 56usize }
AttributeKind::NoMangle(ref __binding_0) => { 57usize }
AttributeKind::NoStd => { 58usize }
AttributeKind::NonExhaustive(ref __binding_0) => { 59usize }
AttributeKind::OnConst {
span: ref __binding_0, directive: ref __binding_1 } => {
60usize
}
AttributeKind::OnMove { directive: ref __binding_0 } => {
61usize
}
AttributeKind::OnTypeError {
span: ref __binding_0, directive: ref __binding_1 } => {
62usize
}
AttributeKind::OnUnimplemented { directive: ref __binding_0
} => {
63usize
}
AttributeKind::OnUnknown { directive: ref __binding_0 } => {
64usize
}
AttributeKind::OnUnmatchedArgs { directive: ref __binding_0
} => {
65usize
}
AttributeKind::Opaque => { 66usize }
AttributeKind::Optimize(ref __binding_0, ref __binding_1) =>
{
67usize
}
AttributeKind::PanicRuntime => { 68usize }
AttributeKind::PatchableFunctionEntry {
prefix: ref __binding_0,
entry: ref __binding_1,
section: ref __binding_2 } => {
69usize
}
AttributeKind::Path(ref __binding_0, ref __binding_1) => {
70usize
}
AttributeKind::PatternComplexityLimit {
limit: ref __binding_0 } => {
71usize
}
AttributeKind::PinV2(ref __binding_0) => { 72usize }
AttributeKind::PreludeImport => { 73usize }
AttributeKind::ProcMacro => { 74usize }
AttributeKind::ProcMacroAttribute => { 75usize }
AttributeKind::ProcMacroDerive {
trait_name: ref __binding_0, helper_attrs: ref __binding_1 }
=> {
76usize
}
AttributeKind::ProfilerRuntime => { 77usize }
AttributeKind::RecursionLimit { limit: ref __binding_0 } =>
{
78usize
}
AttributeKind::ReexportTestHarnessMain(ref __binding_0) => {
79usize
}
AttributeKind::RegisterTool {
attr_tools: ref __binding_0, lint_tools: ref __binding_1 }
=> {
80usize
}
AttributeKind::Repr {
reprs: ref __binding_0, first_span: ref __binding_1 } => {
81usize
}
AttributeKind::RustcAbi {
attr_span: ref __binding_0, kind: ref __binding_1 } => {
82usize
}
AttributeKind::RustcAlign {
align: ref __binding_0, span: ref __binding_1 } => {
83usize
}
AttributeKind::RustcAllocator => { 84usize }
AttributeKind::RustcAllocatorZeroed => { 85usize }
AttributeKind::RustcAllocatorZeroedVariant {
name: ref __binding_0 } => {
86usize
}
AttributeKind::RustcAllowConstFnUnstable(ref __binding_0,
ref __binding_1) => {
87usize
}
AttributeKind::RustcAllowIncoherentImpl(ref __binding_0) =>
{
88usize
}
AttributeKind::RustcAllowLifetimeDependentSpecialization =>
{
89usize
}
AttributeKind::RustcAsPtr => { 90usize }
AttributeKind::RustcAutodiff(ref __binding_0) => { 91usize }
AttributeKind::RustcBodyStability {
stability: ref __binding_0, span: ref __binding_1 } => {
92usize
}
AttributeKind::RustcBuiltinMacro {
builtin_name: ref __binding_0, helper_attrs: ref __binding_1
} => {
93usize
}
AttributeKind::RustcCanonicalSymbol => { 94usize }
AttributeKind::RustcCaptureAnalysis => { 95usize }
AttributeKind::RustcCguTestAttr(ref __binding_0) => {
96usize
}
AttributeKind::RustcClean(ref __binding_0) => { 97usize }
AttributeKind::RustcCoherenceIsCore => { 98usize }
AttributeKind::RustcCoinductive => { 99usize }
AttributeKind::RustcComptime(ref __binding_0) => {
100usize
}
AttributeKind::RustcConfusables {
confusables: ref __binding_0 } => {
101usize
}
AttributeKind::RustcConstStability {
stability: ref __binding_0, span: ref __binding_1 } => {
102usize
}
AttributeKind::RustcConstStableIndirect => { 103usize }
AttributeKind::RustcConversionSuggestion => { 104usize }
AttributeKind::RustcDeallocator => { 105usize }
AttributeKind::RustcDelayedBugFromInsideQuery => {
106usize
}
AttributeKind::RustcDenyExplicitImpl => { 107usize }
AttributeKind::RustcDeprecatedSafe2024 {
suggestion: ref __binding_0 } => {
108usize
}
AttributeKind::RustcDiagnosticItem(ref __binding_0) => {
109usize
}
AttributeKind::RustcDoNotConstCheck => { 110usize }
AttributeKind::RustcDocPrimitive(ref __binding_0,
ref __binding_1) => {
111usize
}
AttributeKind::RustcDummy => { 112usize }
AttributeKind::RustcDumpClauses => { 113usize }
AttributeKind::RustcDumpDefParents => { 114usize }
AttributeKind::RustcDumpDefPath(ref __binding_0) => {
115usize
}
AttributeKind::RustcDumpGenerics => { 116usize }
AttributeKind::RustcDumpHiddenTypeOfOpaques => { 117usize }
AttributeKind::RustcDumpInferredOutlives => { 118usize }
AttributeKind::RustcDumpItemBounds => { 119usize }
AttributeKind::RustcDumpLayout(ref __binding_0) => {
120usize
}
AttributeKind::RustcDumpObjectLifetimeDefaults => {
121usize
}
AttributeKind::RustcDumpSymbolName(ref __binding_0) => {
122usize
}
AttributeKind::RustcDumpUserArgs => { 123usize }
AttributeKind::RustcDumpVariances => { 124usize }
AttributeKind::RustcDumpVariancesOfOpaques => { 125usize }
AttributeKind::RustcDumpVtable(ref __binding_0) => {
126usize
}
AttributeKind::RustcDynIncompatibleTrait(ref __binding_0) =>
{
127usize
}
AttributeKind::RustcEffectiveVisibility => { 128usize }
AttributeKind::RustcEiiForeignItem => { 129usize }
AttributeKind::RustcEvaluateWhereClauses => { 130usize }
AttributeKind::RustcHasIncoherentInherentImpls => {
131usize
}
AttributeKind::RustcIfThisChanged(ref __binding_0,
ref __binding_1) => {
132usize
}
AttributeKind::RustcInheritOverflowChecks => { 133usize }
AttributeKind::RustcInsignificantDtor => { 134usize }
AttributeKind::RustcIntrinsic => { 135usize }
AttributeKind::RustcIntrinsicConstStableIndirect => {
136usize
}
AttributeKind::RustcLegacyConstGenerics {
fn_indexes: ref __binding_0, attr_span: ref __binding_1 } =>
{
137usize
}
AttributeKind::RustcLintOptDenyFieldAccess {
lint_message: ref __binding_0 } => {
138usize
}
AttributeKind::RustcLintOptTy => { 139usize }
AttributeKind::RustcLintQueryInstability => { 140usize }
AttributeKind::RustcLintUntrackedQueryInformation => {
141usize
}
AttributeKind::RustcMacroTransparency(ref __binding_0) => {
142usize
}
AttributeKind::RustcMain => { 143usize }
AttributeKind::RustcMir(ref __binding_0) => { 144usize }
AttributeKind::RustcMustImplementOneOf {
attr_span: ref __binding_0, fn_names: ref __binding_1 } => {
145usize
}
AttributeKind::RustcMustMatchExhaustively(ref __binding_0)
=> {
146usize
}
AttributeKind::RustcNeverReturnsNullPtr => { 147usize }
AttributeKind::RustcNoImplicitAutorefs => { 148usize }
AttributeKind::RustcNoImplicitBounds => { 149usize }
AttributeKind::RustcNoMirInline => { 150usize }
AttributeKind::RustcNoWritable => { 151usize }
AttributeKind::RustcNonConstTraitMethod => { 152usize }
AttributeKind::RustcNonnullOptimizationGuaranteed => {
153usize
}
AttributeKind::RustcNounwind => { 154usize }
AttributeKind::RustcObjcClass { classname: ref __binding_0 }
=> {
155usize
}
AttributeKind::RustcObjcSelector { methname: ref __binding_0
} => {
156usize
}
AttributeKind::RustcOffloadKernel => { 157usize }
AttributeKind::RustcPanicsWhenZero => { 158usize }
AttributeKind::RustcParenSugar => { 159usize }
AttributeKind::RustcPassByValue => { 160usize }
AttributeKind::RustcPassIndirectlyInNonRusticAbis(ref __binding_0)
=> {
161usize
}
AttributeKind::RustcPreserveUbChecks => { 162usize }
AttributeKind::RustcProcMacroDecls => { 163usize }
AttributeKind::RustcPubTransparent(ref __binding_0) => {
164usize
}
AttributeKind::RustcReallocator => { 165usize }
AttributeKind::RustcRegions => { 166usize }
AttributeKind::RustcScalableVector {
element_count: ref __binding_0 } => {
167usize
}
AttributeKind::RustcShouldNotBeCalledOnConstItems => {
168usize
}
AttributeKind::RustcSimdMonomorphizeLaneLimit(ref __binding_0)
=> {
169usize
}
AttributeKind::RustcSkipDuringMethodDispatch {
array: ref __binding_0, boxed_slice: ref __binding_1 } => {
170usize
}
AttributeKind::RustcSpecializationTrait => { 171usize }
AttributeKind::RustcStdInternalSymbol => { 172usize }
AttributeKind::RustcStrictCoherence(ref __binding_0) => {
173usize
}
AttributeKind::RustcTestMarker(ref __binding_0) => {
174usize
}
AttributeKind::RustcThenThisWouldNeed(ref __binding_0) => {
175usize
}
AttributeKind::RustcTrivialFieldReads => { 176usize }
AttributeKind::Sanitize {
on_set: ref __binding_0,
off_set: ref __binding_1,
rtsan: ref __binding_2,
span: ref __binding_3 } => {
177usize
}
AttributeKind::ShouldPanic { reason: ref __binding_0 } => {
178usize
}
AttributeKind::Splat(ref __binding_0) => { 179usize }
AttributeKind::Stability {
stability: ref __binding_0, span: ref __binding_1 } => {
180usize
}
AttributeKind::TargetFeature {
features: ref __binding_0,
attr_span: ref __binding_1,
was_forced: ref __binding_2 } => {
181usize
}
AttributeKind::TestRunner(ref __binding_0) => { 182usize }
AttributeKind::ThreadLocal => { 183usize }
AttributeKind::TrackCaller(ref __binding_0) => { 184usize }
AttributeKind::TypeLengthLimit { limit: ref __binding_0 } =>
{
185usize
}
AttributeKind::Unroll(ref __binding_0) => { 186usize }
AttributeKind::UnstableFeatureBound(ref __binding_0) => {
187usize
}
AttributeKind::UnstableRemoved(ref __binding_0) => {
188usize
}
AttributeKind::Used { used_by: ref __binding_0 } => {
189usize
}
AttributeKind::WindowsSubsystem(ref __binding_0) => {
190usize
}
};
::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::AlwaysGca => {}
AttributeKind::AutomaticallyDerived => {}
AttributeKind::CfgAttrTrace(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
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::EiiImpl(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::Opaque => {}
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, ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__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 {
attr_tools: ref __binding_0, lint_tools: ref __binding_1 }
=> {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__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::RustcAllowLifetimeDependentSpecialization =>
{}
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::RustcCanonicalSymbol => {}
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::RustcDumpClauses => {}
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::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::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::RustcPanicsWhenZero => {}
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::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::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::AlwaysGca }
3usize => { AttributeKind::AutomaticallyDerived }
4usize => {
AttributeKind::CfgAttrTrace(::rustc_serialize::Decodable::decode(__decoder))
}
5usize => {
AttributeKind::CfgTrace(::rustc_serialize::Decodable::decode(__decoder))
}
6usize => {
AttributeKind::CfiEncoding {
encoding: ::rustc_serialize::Decodable::decode(__decoder),
}
}
7usize => { AttributeKind::Cold }
8usize => {
AttributeKind::CollapseDebugInfo(::rustc_serialize::Decodable::decode(__decoder))
}
9usize => { AttributeKind::CompilerBuiltins }
10usize => {
AttributeKind::ConstContinue(::rustc_serialize::Decodable::decode(__decoder))
}
11usize => { AttributeKind::Coroutine }
12usize => {
AttributeKind::Coverage(::rustc_serialize::Decodable::decode(__decoder))
}
13usize => {
AttributeKind::CrateName {
name: ::rustc_serialize::Decodable::decode(__decoder),
name_span: ::rustc_serialize::Decodable::decode(__decoder),
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
14usize => {
AttributeKind::CrateType(::rustc_serialize::Decodable::decode(__decoder))
}
15usize => {
AttributeKind::CustomMir(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
16usize => {
AttributeKind::DebuggerVisualizer(::rustc_serialize::Decodable::decode(__decoder))
}
17usize => { AttributeKind::DefaultLibAllocator }
18usize => {
AttributeKind::Deprecated {
deprecation: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
19usize => { AttributeKind::DoNotRecommend }
20usize => {
AttributeKind::Doc(::rustc_serialize::Decodable::decode(__decoder))
}
21usize => {
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),
}
}
22usize => {
AttributeKind::EiiDeclaration(::rustc_serialize::Decodable::decode(__decoder))
}
23usize => {
AttributeKind::EiiImpl(::rustc_serialize::Decodable::decode(__decoder))
}
24usize => {
AttributeKind::ExportName {
name: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
25usize => { AttributeKind::ExportStable }
26usize => {
AttributeKind::Feature(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
27usize => { AttributeKind::FfiConst }
28usize => {
AttributeKind::FfiPure(::rustc_serialize::Decodable::decode(__decoder))
}
29usize => { AttributeKind::Fundamental }
30usize => {
AttributeKind::Ignore {
span: ::rustc_serialize::Decodable::decode(__decoder),
reason: ::rustc_serialize::Decodable::decode(__decoder),
}
}
31usize => {
AttributeKind::Inline(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
32usize => {
AttributeKind::InstructionSet(::rustc_serialize::Decodable::decode(__decoder))
}
33usize => {
AttributeKind::InstrumentFn(::rustc_serialize::Decodable::decode(__decoder))
}
34usize => {
AttributeKind::Lang(::rustc_serialize::Decodable::decode(__decoder))
}
35usize => {
AttributeKind::Link(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
36usize => {
AttributeKind::LinkName {
name: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
37usize => {
AttributeKind::LinkOrdinal {
ordinal: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
38usize => {
AttributeKind::LinkSection {
name: ::rustc_serialize::Decodable::decode(__decoder),
}
}
39usize => {
AttributeKind::Linkage(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
40usize => {
AttributeKind::LoopMatch(::rustc_serialize::Decodable::decode(__decoder))
}
41usize => { AttributeKind::MacroEscape }
42usize => {
AttributeKind::MacroExport {
span: ::rustc_serialize::Decodable::decode(__decoder),
local_inner_macros: ::rustc_serialize::Decodable::decode(__decoder),
}
}
43usize => {
AttributeKind::MacroUse {
span: ::rustc_serialize::Decodable::decode(__decoder),
arguments: ::rustc_serialize::Decodable::decode(__decoder),
}
}
44usize => { AttributeKind::Marker }
45usize => {
AttributeKind::MayDangle(::rustc_serialize::Decodable::decode(__decoder))
}
46usize => {
AttributeKind::MoveSizeLimit {
limit: ::rustc_serialize::Decodable::decode(__decoder),
}
}
47usize => {
AttributeKind::MustNotSupend {
reason: ::rustc_serialize::Decodable::decode(__decoder),
}
}
48usize => {
AttributeKind::MustUse {
span: ::rustc_serialize::Decodable::decode(__decoder),
reason: ::rustc_serialize::Decodable::decode(__decoder),
}
}
49usize => {
AttributeKind::Naked(::rustc_serialize::Decodable::decode(__decoder))
}
50usize => { AttributeKind::NeedsAllocator }
51usize => { AttributeKind::NeedsPanicRuntime }
52usize => { AttributeKind::NoBuiltins }
53usize => { AttributeKind::NoCore }
54usize => { AttributeKind::NoImplicitPrelude }
55usize => { AttributeKind::NoLink }
56usize => { AttributeKind::NoMain }
57usize => {
AttributeKind::NoMangle(::rustc_serialize::Decodable::decode(__decoder))
}
58usize => { AttributeKind::NoStd }
59usize => {
AttributeKind::NonExhaustive(::rustc_serialize::Decodable::decode(__decoder))
}
60usize => {
AttributeKind::OnConst {
span: ::rustc_serialize::Decodable::decode(__decoder),
directive: ::rustc_serialize::Decodable::decode(__decoder),
}
}
61usize => {
AttributeKind::OnMove {
directive: ::rustc_serialize::Decodable::decode(__decoder),
}
}
62usize => {
AttributeKind::OnTypeError {
span: ::rustc_serialize::Decodable::decode(__decoder),
directive: ::rustc_serialize::Decodable::decode(__decoder),
}
}
63usize => {
AttributeKind::OnUnimplemented {
directive: ::rustc_serialize::Decodable::decode(__decoder),
}
}
64usize => {
AttributeKind::OnUnknown {
directive: ::rustc_serialize::Decodable::decode(__decoder),
}
}
65usize => {
AttributeKind::OnUnmatchedArgs {
directive: ::rustc_serialize::Decodable::decode(__decoder),
}
}
66usize => { AttributeKind::Opaque }
67usize => {
AttributeKind::Optimize(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
68usize => { AttributeKind::PanicRuntime }
69usize => {
AttributeKind::PatchableFunctionEntry {
prefix: ::rustc_serialize::Decodable::decode(__decoder),
entry: ::rustc_serialize::Decodable::decode(__decoder),
section: ::rustc_serialize::Decodable::decode(__decoder),
}
}
70usize => {
AttributeKind::Path(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
71usize => {
AttributeKind::PatternComplexityLimit {
limit: ::rustc_serialize::Decodable::decode(__decoder),
}
}
72usize => {
AttributeKind::PinV2(::rustc_serialize::Decodable::decode(__decoder))
}
73usize => { AttributeKind::PreludeImport }
74usize => { AttributeKind::ProcMacro }
75usize => { AttributeKind::ProcMacroAttribute }
76usize => {
AttributeKind::ProcMacroDerive {
trait_name: ::rustc_serialize::Decodable::decode(__decoder),
helper_attrs: ::rustc_serialize::Decodable::decode(__decoder),
}
}
77usize => { AttributeKind::ProfilerRuntime }
78usize => {
AttributeKind::RecursionLimit {
limit: ::rustc_serialize::Decodable::decode(__decoder),
}
}
79usize => {
AttributeKind::ReexportTestHarnessMain(::rustc_serialize::Decodable::decode(__decoder))
}
80usize => {
AttributeKind::RegisterTool {
attr_tools: ::rustc_serialize::Decodable::decode(__decoder),
lint_tools: ::rustc_serialize::Decodable::decode(__decoder),
}
}
81usize => {
AttributeKind::Repr {
reprs: ::rustc_serialize::Decodable::decode(__decoder),
first_span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
82usize => {
AttributeKind::RustcAbi {
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
kind: ::rustc_serialize::Decodable::decode(__decoder),
}
}
83usize => {
AttributeKind::RustcAlign {
align: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
84usize => { AttributeKind::RustcAllocator }
85usize => { AttributeKind::RustcAllocatorZeroed }
86usize => {
AttributeKind::RustcAllocatorZeroedVariant {
name: ::rustc_serialize::Decodable::decode(__decoder),
}
}
87usize => {
AttributeKind::RustcAllowConstFnUnstable(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
88usize => {
AttributeKind::RustcAllowIncoherentImpl(::rustc_serialize::Decodable::decode(__decoder))
}
89usize => {
AttributeKind::RustcAllowLifetimeDependentSpecialization
}
90usize => { AttributeKind::RustcAsPtr }
91usize => {
AttributeKind::RustcAutodiff(::rustc_serialize::Decodable::decode(__decoder))
}
92usize => {
AttributeKind::RustcBodyStability {
stability: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
93usize => {
AttributeKind::RustcBuiltinMacro {
builtin_name: ::rustc_serialize::Decodable::decode(__decoder),
helper_attrs: ::rustc_serialize::Decodable::decode(__decoder),
}
}
94usize => { AttributeKind::RustcCanonicalSymbol }
95usize => { AttributeKind::RustcCaptureAnalysis }
96usize => {
AttributeKind::RustcCguTestAttr(::rustc_serialize::Decodable::decode(__decoder))
}
97usize => {
AttributeKind::RustcClean(::rustc_serialize::Decodable::decode(__decoder))
}
98usize => { AttributeKind::RustcCoherenceIsCore }
99usize => { AttributeKind::RustcCoinductive }
100usize => {
AttributeKind::RustcComptime(::rustc_serialize::Decodable::decode(__decoder))
}
101usize => {
AttributeKind::RustcConfusables {
confusables: ::rustc_serialize::Decodable::decode(__decoder),
}
}
102usize => {
AttributeKind::RustcConstStability {
stability: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
103usize => { AttributeKind::RustcConstStableIndirect }
104usize => { AttributeKind::RustcConversionSuggestion }
105usize => { AttributeKind::RustcDeallocator }
106usize => {
AttributeKind::RustcDelayedBugFromInsideQuery
}
107usize => { AttributeKind::RustcDenyExplicitImpl }
108usize => {
AttributeKind::RustcDeprecatedSafe2024 {
suggestion: ::rustc_serialize::Decodable::decode(__decoder),
}
}
109usize => {
AttributeKind::RustcDiagnosticItem(::rustc_serialize::Decodable::decode(__decoder))
}
110usize => { AttributeKind::RustcDoNotConstCheck }
111usize => {
AttributeKind::RustcDocPrimitive(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
112usize => { AttributeKind::RustcDummy }
113usize => { AttributeKind::RustcDumpClauses }
114usize => { AttributeKind::RustcDumpDefParents }
115usize => {
AttributeKind::RustcDumpDefPath(::rustc_serialize::Decodable::decode(__decoder))
}
116usize => { AttributeKind::RustcDumpGenerics }
117usize => { AttributeKind::RustcDumpHiddenTypeOfOpaques }
118usize => { AttributeKind::RustcDumpInferredOutlives }
119usize => { AttributeKind::RustcDumpItemBounds }
120usize => {
AttributeKind::RustcDumpLayout(::rustc_serialize::Decodable::decode(__decoder))
}
121usize => {
AttributeKind::RustcDumpObjectLifetimeDefaults
}
122usize => {
AttributeKind::RustcDumpSymbolName(::rustc_serialize::Decodable::decode(__decoder))
}
123usize => { AttributeKind::RustcDumpUserArgs }
124usize => { AttributeKind::RustcDumpVariances }
125usize => { AttributeKind::RustcDumpVariancesOfOpaques }
126usize => {
AttributeKind::RustcDumpVtable(::rustc_serialize::Decodable::decode(__decoder))
}
127usize => {
AttributeKind::RustcDynIncompatibleTrait(::rustc_serialize::Decodable::decode(__decoder))
}
128usize => { AttributeKind::RustcEffectiveVisibility }
129usize => { AttributeKind::RustcEiiForeignItem }
130usize => { AttributeKind::RustcEvaluateWhereClauses }
131usize => {
AttributeKind::RustcHasIncoherentInherentImpls
}
132usize => {
AttributeKind::RustcIfThisChanged(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
133usize => { AttributeKind::RustcInheritOverflowChecks }
134usize => { AttributeKind::RustcInsignificantDtor }
135usize => { AttributeKind::RustcIntrinsic }
136usize => {
AttributeKind::RustcIntrinsicConstStableIndirect
}
137usize => {
AttributeKind::RustcLegacyConstGenerics {
fn_indexes: ::rustc_serialize::Decodable::decode(__decoder),
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
138usize => {
AttributeKind::RustcLintOptDenyFieldAccess {
lint_message: ::rustc_serialize::Decodable::decode(__decoder),
}
}
139usize => { AttributeKind::RustcLintOptTy }
140usize => { AttributeKind::RustcLintQueryInstability }
141usize => {
AttributeKind::RustcLintUntrackedQueryInformation
}
142usize => {
AttributeKind::RustcMacroTransparency(::rustc_serialize::Decodable::decode(__decoder))
}
143usize => { AttributeKind::RustcMain }
144usize => {
AttributeKind::RustcMir(::rustc_serialize::Decodable::decode(__decoder))
}
145usize => {
AttributeKind::RustcMustImplementOneOf {
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
fn_names: ::rustc_serialize::Decodable::decode(__decoder),
}
}
146usize => {
AttributeKind::RustcMustMatchExhaustively(::rustc_serialize::Decodable::decode(__decoder))
}
147usize => { AttributeKind::RustcNeverReturnsNullPtr }
148usize => { AttributeKind::RustcNoImplicitAutorefs }
149usize => { AttributeKind::RustcNoImplicitBounds }
150usize => { AttributeKind::RustcNoMirInline }
151usize => { AttributeKind::RustcNoWritable }
152usize => { AttributeKind::RustcNonConstTraitMethod }
153usize => {
AttributeKind::RustcNonnullOptimizationGuaranteed
}
154usize => { AttributeKind::RustcNounwind }
155usize => {
AttributeKind::RustcObjcClass {
classname: ::rustc_serialize::Decodable::decode(__decoder),
}
}
156usize => {
AttributeKind::RustcObjcSelector {
methname: ::rustc_serialize::Decodable::decode(__decoder),
}
}
157usize => { AttributeKind::RustcOffloadKernel }
158usize => { AttributeKind::RustcPanicsWhenZero }
159usize => { AttributeKind::RustcParenSugar }
160usize => { AttributeKind::RustcPassByValue }
161usize => {
AttributeKind::RustcPassIndirectlyInNonRusticAbis(::rustc_serialize::Decodable::decode(__decoder))
}
162usize => { AttributeKind::RustcPreserveUbChecks }
163usize => { AttributeKind::RustcProcMacroDecls }
164usize => {
AttributeKind::RustcPubTransparent(::rustc_serialize::Decodable::decode(__decoder))
}
165usize => { AttributeKind::RustcReallocator }
166usize => { AttributeKind::RustcRegions }
167usize => {
AttributeKind::RustcScalableVector {
element_count: ::rustc_serialize::Decodable::decode(__decoder),
}
}
168usize => {
AttributeKind::RustcShouldNotBeCalledOnConstItems
}
169usize => {
AttributeKind::RustcSimdMonomorphizeLaneLimit(::rustc_serialize::Decodable::decode(__decoder))
}
170usize => {
AttributeKind::RustcSkipDuringMethodDispatch {
array: ::rustc_serialize::Decodable::decode(__decoder),
boxed_slice: ::rustc_serialize::Decodable::decode(__decoder),
}
}
171usize => { AttributeKind::RustcSpecializationTrait }
172usize => { AttributeKind::RustcStdInternalSymbol }
173usize => {
AttributeKind::RustcStrictCoherence(::rustc_serialize::Decodable::decode(__decoder))
}
174usize => {
AttributeKind::RustcTestMarker(::rustc_serialize::Decodable::decode(__decoder))
}
175usize => {
AttributeKind::RustcThenThisWouldNeed(::rustc_serialize::Decodable::decode(__decoder))
}
176usize => { AttributeKind::RustcTrivialFieldReads }
177usize => {
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),
}
}
178usize => {
AttributeKind::ShouldPanic {
reason: ::rustc_serialize::Decodable::decode(__decoder),
}
}
179usize => {
AttributeKind::Splat(::rustc_serialize::Decodable::decode(__decoder))
}
180usize => {
AttributeKind::Stability {
stability: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
181usize => {
AttributeKind::TargetFeature {
features: ::rustc_serialize::Decodable::decode(__decoder),
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
was_forced: ::rustc_serialize::Decodable::decode(__decoder),
}
}
182usize => {
AttributeKind::TestRunner(::rustc_serialize::Decodable::decode(__decoder))
}
183usize => { AttributeKind::ThreadLocal }
184usize => {
AttributeKind::TrackCaller(::rustc_serialize::Decodable::decode(__decoder))
}
185usize => {
AttributeKind::TypeLengthLimit {
limit: ::rustc_serialize::Decodable::decode(__decoder),
}
}
186usize => {
AttributeKind::Unroll(::rustc_serialize::Decodable::decode(__decoder))
}
187usize => {
AttributeKind::UnstableFeatureBound(::rustc_serialize::Decodable::decode(__decoder))
}
188usize => {
AttributeKind::UnstableRemoved(::rustc_serialize::Decodable::decode(__decoder))
}
189usize => {
AttributeKind::Used {
used_by: ::rustc_serialize::Decodable::decode(__decoder),
}
}
190usize => {
AttributeKind::WindowsSubsystem(::rustc_serialize::Decodable::decode(__decoder))
}
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `AttributeKind`, expected 0..191, 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::AlwaysGca => { __p.word("AlwaysGca") }
Self::AutomaticallyDerived => {
__p.word("AutomaticallyDerived")
}
Self::CfgAttrTrace(f0) => {
__p.word("CfgAttrTrace");
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::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::EiiImpl(f0) => {
__p.word("EiiImpl");
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::Opaque => { __p.word("Opaque") }
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, f1) => {
__p.word("Path");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::PatternComplexityLimit { 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 { attr_tools, lint_tools } => {
__p.word("RegisterTool");
if true && !attr_tools.should_render() &&
!lint_tools.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if attr_tools.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_tools");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_tools.print_attribute(__p);
if lint_tools.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("lint_tools");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
lint_tools.print_attribute(__p);
__p.word("}");
}
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::RustcAllowLifetimeDependentSpecialization => {
__p.word("RustcAllowLifetimeDependentSpecialization")
}
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::RustcCanonicalSymbol => {
__p.word("RustcCanonicalSymbol")
}
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::RustcDumpClauses => { __p.word("RustcDumpClauses") }
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::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::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::RustcPanicsWhenZero => {
__p.word("RustcPanicsWhenZero")
}
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::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::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)]
780pub enum AttributeKind {
781 AllowInternalUnsafe(Span),
784
785 AllowInternalUnstable(ThinVec<(Symbol, Span)>, Span),
787
788 AlwaysGca,
790
791 AutomaticallyDerived,
793
794 CfgAttrTrace(ThinVec<(CfgEntry, Span)>),
796
797 CfgTrace(ThinVec<(CfgEntry, Span)>),
799
800 CfiEncoding {
802 encoding: Symbol,
803 },
804
805 Cold,
807
808 CollapseDebugInfo(CollapseMacroDebuginfo),
810
811 CompilerBuiltins,
813
814 ConstContinue(Span),
816
817 Coroutine,
819
820 Coverage(CoverageAttrKind),
822
823 CrateName {
825 name: Symbol,
826 name_span: Span,
827 attr_span: Span,
828 },
829
830 CrateType(ThinVec<CrateType>),
832
833 CustomMir(Option<(MirDialect, Span)>, Option<(MirPhase, Span)>),
835
836 DebuggerVisualizer(ThinVec<DebugVisualizer>),
838
839 DefaultLibAllocator,
841
842 Deprecated {
844 deprecation: Deprecation,
845 span: Span,
846 },
847
848 DoNotRecommend,
850
851 Doc(Box<DocAttribute>),
855
856 DocComment {
859 style: AttrStyle,
860 kind: DocFragmentKind,
861 span: Span,
862 comment: Symbol,
863 },
864
865 EiiDeclaration(EiiDecl),
867
868 EiiImpl(Box<EiiImpl>),
870
871 ExportName {
873 name: Symbol,
876 span: Span,
877 },
878
879 ExportStable,
881
882 Feature(ThinVec<Ident>, Span),
884
885 FfiConst,
887
888 FfiPure(Span),
890
891 Fundamental,
893
894 Ignore {
896 span: Span,
897 reason: Option<Symbol>,
899 },
900
901 Inline(InlineAttr, Span),
903
904 InstructionSet(InstructionSetAttr),
906
907 InstrumentFn(InstrumentFnAttr),
909
910 Lang(LangItem),
912
913 Link(ThinVec<LinkEntry>, Span),
915
916 LinkName {
918 name: Symbol,
919 span: Span,
920 },
921
922 LinkOrdinal {
924 ordinal: u16,
925 span: Span,
926 },
927
928 LinkSection {
930 name: Symbol,
931 },
932
933 Linkage(Linkage, Span),
935
936 LoopMatch(Span),
938
939 MacroEscape,
941
942 MacroExport {
944 span: Span,
945 local_inner_macros: bool,
946 },
947
948 MacroUse {
950 span: Span,
951 arguments: MacroUseArgs,
952 },
953
954 Marker,
956
957 MayDangle(Span),
959
960 MoveSizeLimit {
962 limit: Limit,
963 },
964
965 MustNotSupend {
967 reason: Option<Symbol>,
968 },
969
970 MustUse {
972 span: Span,
974 reason: Option<Symbol>,
976 },
977
978 Naked(Span),
980
981 NeedsAllocator,
983
984 NeedsPanicRuntime,
986
987 NoBuiltins,
989
990 NoCore,
992
993 NoImplicitPrelude,
995
996 NoLink,
998
999 NoMain,
1001
1002 NoMangle(Span),
1004
1005 NoStd,
1007
1008 NonExhaustive(Span),
1010
1011 OnConst {
1013 span: Span,
1015 directive: Option<Box<Directive>>,
1017 },
1018
1019 OnMove {
1021 directive: Option<Box<Directive>>,
1022 },
1023
1024 OnTypeError {
1026 span: Span,
1027 directive: Option<Box<Directive>>,
1028 },
1029
1030 OnUnimplemented {
1032 directive: Option<Box<Directive>>,
1034 },
1035
1036 OnUnknown {
1038 directive: Option<Box<Directive>>,
1040 },
1041
1042 OnUnmatchedArgs {
1044 directive: Option<Box<Directive>>,
1046 },
1047
1048 Opaque,
1050
1051 Optimize(OptimizeAttr, Span),
1053
1054 PanicRuntime,
1056
1057 PatchableFunctionEntry {
1059 prefix: Option<u8>,
1060 entry: Option<u8>,
1061 section: Option<Symbol>,
1062 },
1063
1064 Path(Symbol, Span),
1066
1067 PatternComplexityLimit {
1069 limit: Limit,
1070 },
1071
1072 PinV2(Span),
1074
1075 PreludeImport,
1077
1078 ProcMacro,
1080
1081 ProcMacroAttribute,
1083
1084 ProcMacroDerive {
1086 trait_name: Symbol,
1087 helper_attrs: ThinVec<Symbol>,
1088 },
1089
1090 ProfilerRuntime,
1092
1093 RecursionLimit {
1095 limit: Limit,
1096 },
1097
1098 ReexportTestHarnessMain(Symbol),
1100
1101 RegisterTool {
1103 attr_tools: ThinVec<Ident>,
1104 lint_tools: ThinVec<Ident>,
1105 },
1106
1107 Repr {
1109 reprs: ThinVec<(ReprAttr, Span)>,
1110 first_span: Span,
1111 },
1112
1113 RustcAbi {
1115 attr_span: Span,
1116 kind: RustcAbiAttrKind,
1117 },
1118
1119 RustcAlign {
1122 align: Align,
1123 span: Span,
1124 },
1125
1126 RustcAllocator,
1128
1129 RustcAllocatorZeroed,
1131
1132 RustcAllocatorZeroedVariant {
1134 name: Symbol,
1135 },
1136
1137 RustcAllowConstFnUnstable(ThinVec<Symbol>, Span),
1139
1140 RustcAllowIncoherentImpl(Span),
1142
1143 RustcAllowLifetimeDependentSpecialization,
1145
1146 RustcAsPtr,
1148
1149 RustcAutodiff(Option<Box<RustcAutodiff>>),
1151
1152 RustcBodyStability {
1154 stability: DefaultBodyStability,
1155 span: Span,
1157 },
1158 RustcBuiltinMacro {
1160 builtin_name: Option<Symbol>,
1161 helper_attrs: ThinVec<Symbol>,
1162 },
1163
1164 RustcCanonicalSymbol,
1166
1167 RustcCaptureAnalysis,
1169
1170 RustcCguTestAttr(ThinVec<(Span, CguFields)>),
1172
1173 RustcClean(ThinVec<RustcCleanAttribute>),
1175
1176 RustcCoherenceIsCore,
1178
1179 RustcCoinductive,
1181
1182 RustcComptime(Span),
1184
1185 RustcConfusables {
1187 confusables: ThinVec<Symbol>,
1188 },
1189 RustcConstStability {
1191 stability: PartialConstStability,
1192 span: Span,
1195 },
1196
1197 RustcConstStableIndirect,
1199
1200 RustcConversionSuggestion,
1202
1203 RustcDeallocator,
1205
1206 RustcDelayedBugFromInsideQuery,
1208
1209 RustcDenyExplicitImpl,
1211
1212 RustcDeprecatedSafe2024 {
1214 suggestion: Symbol,
1215 },
1216 RustcDiagnosticItem(Symbol),
1218
1219 RustcDoNotConstCheck,
1221
1222 RustcDocPrimitive(Span, Symbol),
1224
1225 RustcDummy,
1227
1228 RustcDumpClauses,
1230
1231 RustcDumpDefParents,
1233
1234 RustcDumpDefPath(Span),
1236
1237 RustcDumpGenerics,
1239
1240 RustcDumpHiddenTypeOfOpaques,
1242
1243 RustcDumpInferredOutlives,
1245
1246 RustcDumpItemBounds,
1248
1249 RustcDumpLayout(ThinVec<RustcDumpLayoutKind>),
1251
1252 RustcDumpObjectLifetimeDefaults,
1254
1255 RustcDumpSymbolName(Span),
1257
1258 RustcDumpUserArgs,
1260
1261 RustcDumpVariances,
1263
1264 RustcDumpVariancesOfOpaques,
1266
1267 RustcDumpVtable(Span),
1269
1270 RustcDynIncompatibleTrait(Span),
1272
1273 RustcEffectiveVisibility,
1275
1276 RustcEiiForeignItem,
1278
1279 RustcEvaluateWhereClauses,
1281
1282 RustcHasIncoherentInherentImpls,
1283
1284 RustcIfThisChanged(Span, Option<Symbol>),
1286
1287 RustcInheritOverflowChecks,
1289
1290 RustcInsignificantDtor,
1292
1293 RustcIntrinsic,
1295
1296 RustcIntrinsicConstStableIndirect,
1298
1299 RustcLegacyConstGenerics {
1301 fn_indexes: ThinVec<(usize, Span)>,
1302 attr_span: Span,
1303 },
1304
1305 RustcLintOptDenyFieldAccess {
1307 lint_message: Symbol,
1308 },
1309
1310 RustcLintOptTy,
1312
1313 RustcLintQueryInstability,
1315
1316 RustcLintUntrackedQueryInformation,
1318
1319 RustcMacroTransparency(Transparency),
1321
1322 RustcMain,
1324
1325 RustcMir(ThinVec<RustcMirKind>),
1327
1328 RustcMustImplementOneOf {
1330 attr_span: Span,
1331 fn_names: ThinVec<Ident>,
1332 },
1333
1334 RustcMustMatchExhaustively(Span),
1336
1337 RustcNeverReturnsNullPtr,
1339
1340 RustcNoImplicitAutorefs,
1342
1343 RustcNoImplicitBounds,
1345
1346 RustcNoMirInline,
1348
1349 RustcNoWritable,
1351
1352 RustcNonConstTraitMethod,
1354
1355 RustcNonnullOptimizationGuaranteed,
1357
1358 RustcNounwind,
1360
1361 RustcObjcClass {
1363 classname: Symbol,
1364 },
1365
1366 RustcObjcSelector {
1368 methname: Symbol,
1369 },
1370
1371 RustcOffloadKernel,
1373
1374 RustcPanicsWhenZero,
1376
1377 RustcParenSugar,
1379
1380 RustcPassByValue,
1382
1383 RustcPassIndirectlyInNonRusticAbis(Span),
1385
1386 RustcPreserveUbChecks,
1388
1389 RustcProcMacroDecls,
1391
1392 RustcPubTransparent(Span),
1394
1395 RustcReallocator,
1397
1398 RustcRegions,
1400
1401 RustcScalableVector {
1403 element_count: Option<u16>,
1406 },
1407
1408 RustcShouldNotBeCalledOnConstItems,
1410
1411 RustcSimdMonomorphizeLaneLimit(Limit),
1413
1414 RustcSkipDuringMethodDispatch {
1416 array: bool,
1417 boxed_slice: bool,
1418 },
1419
1420 RustcSpecializationTrait,
1422
1423 RustcStdInternalSymbol,
1425
1426 RustcStrictCoherence(Span),
1428
1429 RustcTestMarker(Symbol),
1431
1432 RustcThenThisWouldNeed(ThinVec<Ident>),
1434
1435 RustcTrivialFieldReads,
1437
1438 Sanitize {
1444 on_set: SanitizerSet,
1445 off_set: SanitizerSet,
1446 rtsan: Option<RtsanSetting>,
1447 span: Span,
1448 },
1449
1450 ShouldPanic {
1452 reason: Option<Symbol>,
1453 },
1454
1455 Splat(Span),
1457
1458 Stability {
1460 stability: Stability,
1461 span: Span,
1463 },
1464
1465 TargetFeature {
1468 features: ThinVec<(Symbol, Span)>,
1469 attr_span: Span,
1470 was_forced: bool,
1471 },
1472
1473 TestRunner(Path),
1475
1476 ThreadLocal,
1478
1479 TrackCaller(Span),
1481
1482 TypeLengthLimit {
1484 limit: Limit,
1485 },
1486
1487 Unroll(UnrollAttr),
1490
1491 UnstableFeatureBound(ThinVec<(Symbol, Span)>),
1493
1494 UnstableRemoved(ThinVec<UnstableRemovedFeature>),
1496
1497 Used {
1499 used_by: UsedBy,
1500 },
1501
1502 WindowsSubsystem(WindowsSubsystemKind),
1504 }