1use std::borrow::Cow;
2use std::fmt;
3use std::path::PathBuf;
4
5pub use ReprAttr::*;
6use rustc_abi::Align;
7pub use rustc_ast::attr::data_structures::*;
8use rustc_ast::expand::autodiff_attrs::{DiffActivity, DiffMode};
9use rustc_ast::expand::typetree::TypeTree;
10use rustc_ast::token::DocFragmentKind;
11use rustc_ast::{AttrStyle, Path, ast};
12use rustc_data_structures::fx::FxIndexMap;
13use rustc_error_messages::{DiagArgValue, IntoDiagArg};
14use rustc_hir::LangItem;
15use rustc_macros::{Decodable, Encodable, PrintAttribute, StableHash};
16use rustc_span::def_id::DefId;
17use rustc_span::hygiene::Transparency;
18use rustc_span::{ErrorGuaranteed, Ident, Span, Symbol};
19pub use rustc_target::spec::SanitizerSet;
20use thin_vec::ThinVec;
21
22use crate::attrs::diagnostic::*;
23use crate::attrs::pretty_printing::PrintAttribute;
24use crate::limit::Limit;
25use crate::{DefaultBodyStability, PartialConstStability, RustcVersion, Stability};
26
27#[derive(#[automatically_derived]
impl ::core::marker::Copy for EiiImplResolution { }Copy, #[automatically_derived]
impl ::core::clone::Clone for EiiImplResolution {
#[inline]
fn clone(&self) -> EiiImplResolution {
let _: ::core::clone::AssertParamIsClone<DefId>;
let _: ::core::clone::AssertParamIsClone<EiiDecl>;
let _: ::core::clone::AssertParamIsClone<ErrorGuaranteed>;
*self
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for EiiImplResolution {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
EiiImplResolution::Macro(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Macro",
&__self_0),
EiiImplResolution::Known(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Known",
&__self_0),
EiiImplResolution::Error(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Error",
&__self_0),
}
}
}Debug, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
EiiImplResolution {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
EiiImplResolution::Macro(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
EiiImplResolution::Known(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
EiiImplResolution::Error(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for EiiImplResolution {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
EiiImplResolution::Macro(ref __binding_0) => { 0usize }
EiiImplResolution::Known(ref __binding_0) => { 1usize }
EiiImplResolution::Error(ref __binding_0) => { 2usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
EiiImplResolution::Macro(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
EiiImplResolution::Known(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
EiiImplResolution::Error(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for EiiImplResolution {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => {
EiiImplResolution::Macro(::rustc_serialize::Decodable::decode(__decoder))
}
1usize => {
EiiImplResolution::Known(::rustc_serialize::Decodable::decode(__decoder))
}
2usize => {
EiiImplResolution::Error(::rustc_serialize::Decodable::decode(__decoder))
}
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `EiiImplResolution`, expected 0..3, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for EiiImplResolution {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Macro(f0) => {
__p.word("Macro");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Known(f0) => {
__p.word("Known");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Error(f0) => {
__p.word("Error");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
}
}
}
};PrintAttribute)]
28pub enum EiiImplResolution {
29 Macro(DefId),
33 Known(EiiDecl),
36 Error(ErrorGuaranteed),
38}
39
40#[derive(#[automatically_derived]
impl ::core::marker::Copy for EiiImpl { }Copy, #[automatically_derived]
impl ::core::clone::Clone for EiiImpl {
#[inline]
fn clone(&self) -> EiiImpl {
let _: ::core::clone::AssertParamIsClone<EiiImplResolution>;
let _: ::core::clone::AssertParamIsClone<bool>;
let _: ::core::clone::AssertParamIsClone<Span>;
*self
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for EiiImpl {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field5_finish(f, "EiiImpl",
"resolution", &self.resolution, "impl_marked_unsafe",
&self.impl_marked_unsafe, "span", &self.span, "inner_span",
&self.inner_span, "is_default", &&self.is_default)
}
}Debug, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for EiiImpl {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
match *self {
EiiImpl {
resolution: ref __binding_0,
impl_marked_unsafe: ref __binding_1,
span: ref __binding_2,
inner_span: ref __binding_3,
is_default: ref __binding_4 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
{ __binding_3.stable_hash(__hcx, __hasher); }
{ __binding_4.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for EiiImpl {
fn encode(&self, __encoder: &mut __E) {
match *self {
EiiImpl {
resolution: ref __binding_0,
impl_marked_unsafe: ref __binding_1,
span: ref __binding_2,
inner_span: ref __binding_3,
is_default: ref __binding_4 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_3,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_4,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for EiiImpl {
fn decode(__decoder: &mut __D) -> Self {
EiiImpl {
resolution: ::rustc_serialize::Decodable::decode(__decoder),
impl_marked_unsafe: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
inner_span: ::rustc_serialize::Decodable::decode(__decoder),
is_default: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for EiiImpl {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
let Self {
resolution, impl_marked_unsafe, span, inner_span, is_default
} = self;
__p.word("EiiImpl");
if true && !resolution.should_render() &&
!impl_marked_unsafe.should_render() && !span.should_render()
&& !inner_span.should_render() &&
!is_default.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if resolution.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("resolution");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
resolution.print_attribute(__p);
if impl_marked_unsafe.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("impl_marked_unsafe");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
impl_marked_unsafe.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
if inner_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("inner_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
inner_span.print_attribute(__p);
if is_default.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("is_default");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
is_default.print_attribute(__p);
__p.word("}");
}
}
};PrintAttribute)]
41pub struct EiiImpl {
42 pub resolution: EiiImplResolution,
43 pub impl_marked_unsafe: bool,
44 pub span: Span,
45 pub inner_span: Span,
46 pub is_default: bool,
47}
48
49#[derive(#[automatically_derived]
impl ::core::marker::Copy for EiiDecl { }Copy, #[automatically_derived]
impl ::core::clone::Clone for EiiDecl {
#[inline]
fn clone(&self) -> EiiDecl {
let _: ::core::clone::AssertParamIsClone<DefId>;
let _: ::core::clone::AssertParamIsClone<bool>;
let _: ::core::clone::AssertParamIsClone<Ident>;
*self
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for EiiDecl {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field3_finish(f, "EiiDecl",
"foreign_item", &self.foreign_item, "impl_unsafe",
&self.impl_unsafe, "name", &&self.name)
}
}Debug, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for EiiDecl {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
match *self {
EiiDecl {
foreign_item: ref __binding_0,
impl_unsafe: ref __binding_1,
name: ref __binding_2 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for EiiDecl {
fn encode(&self, __encoder: &mut __E) {
match *self {
EiiDecl {
foreign_item: ref __binding_0,
impl_unsafe: ref __binding_1,
name: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for EiiDecl {
fn decode(__decoder: &mut __D) -> Self {
EiiDecl {
foreign_item: ::rustc_serialize::Decodable::decode(__decoder),
impl_unsafe: ::rustc_serialize::Decodable::decode(__decoder),
name: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for EiiDecl {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
let Self { foreign_item, impl_unsafe, name } = self;
__p.word("EiiDecl");
if true && !foreign_item.should_render() &&
!impl_unsafe.should_render() && !name.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if foreign_item.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("foreign_item");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
foreign_item.print_attribute(__p);
if impl_unsafe.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("impl_unsafe");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
impl_unsafe.print_attribute(__p);
if name.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("name");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
name.print_attribute(__p);
__p.word("}");
}
}
};PrintAttribute)]
50pub struct EiiDecl {
51 pub foreign_item: DefId,
52 pub impl_unsafe: bool,
54 pub name: Ident,
55}
56
57#[derive(#[automatically_derived]
impl ::core::marker::Copy for CguKind { }Copy, #[automatically_derived]
impl ::core::clone::Clone for CguKind {
#[inline]
fn clone(&self) -> CguKind { *self }
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for CguKind {
#[inline]
fn eq(&self, other: &CguKind) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for CguKind {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
CguKind::No => { 0usize }
CguKind::PreDashLto => { 1usize }
CguKind::PostDashLto => { 2usize }
CguKind::Any => { 3usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
CguKind::No => {}
CguKind::PreDashLto => {}
CguKind::PostDashLto => {}
CguKind::Any => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for CguKind {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { CguKind::No }
1usize => { CguKind::PreDashLto }
2usize => { CguKind::PostDashLto }
3usize => { CguKind::Any }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `CguKind`, expected 0..4, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::fmt::Debug for CguKind {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
CguKind::No => "No",
CguKind::PreDashLto => "PreDashLto",
CguKind::PostDashLto => "PostDashLto",
CguKind::Any => "Any",
})
}
}Debug, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for CguKind {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
CguKind::No => {}
CguKind::PreDashLto => {}
CguKind::PostDashLto => {}
CguKind::Any => {}
}
}
}
};StableHash, const _: () =
{
#[allow(unused)]
impl PrintAttribute for CguKind {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::No => { __p.word("No") }
Self::PreDashLto => { __p.word("PreDashLto") }
Self::PostDashLto => { __p.word("PostDashLto") }
Self::Any => { __p.word("Any") }
}
}
}
};PrintAttribute)]
58pub enum CguKind {
59 No,
60 PreDashLto,
61 PostDashLto,
62 Any,
63}
64
65#[derive(#[automatically_derived]
impl ::core::marker::Copy for CguFields { }Copy, #[automatically_derived]
impl ::core::clone::Clone for CguFields {
#[inline]
fn clone(&self) -> CguFields {
let _: ::core::clone::AssertParamIsClone<Symbol>;
let _: ::core::clone::AssertParamIsClone<CguKind>;
*self
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for CguFields {
#[inline]
fn eq(&self, other: &CguFields) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr &&
match (self, other) {
(CguFields::PartitionReused { cfg: __self_0, module: __self_1
}, CguFields::PartitionReused {
cfg: __arg1_0, module: __arg1_1 }) =>
__self_0 == __arg1_0 && __self_1 == __arg1_1,
(CguFields::PartitionCodegened {
cfg: __self_0, module: __self_1 },
CguFields::PartitionCodegened {
cfg: __arg1_0, module: __arg1_1 }) =>
__self_0 == __arg1_0 && __self_1 == __arg1_1,
(CguFields::ExpectedCguReuse {
cfg: __self_0, module: __self_1, kind: __self_2 },
CguFields::ExpectedCguReuse {
cfg: __arg1_0, module: __arg1_1, kind: __arg1_2 }) =>
__self_0 == __arg1_0 && __self_1 == __arg1_1 &&
__self_2 == __arg1_2,
_ => unsafe { ::core::intrinsics::unreachable() }
}
}
}PartialEq, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for CguFields {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
CguFields::PartitionReused {
cfg: ref __binding_0, module: ref __binding_1 } => {
0usize
}
CguFields::PartitionCodegened {
cfg: ref __binding_0, module: ref __binding_1 } => {
1usize
}
CguFields::ExpectedCguReuse {
cfg: ref __binding_0,
module: ref __binding_1,
kind: ref __binding_2 } => {
2usize
}
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
CguFields::PartitionReused {
cfg: ref __binding_0, module: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
CguFields::PartitionCodegened {
cfg: ref __binding_0, module: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
CguFields::ExpectedCguReuse {
cfg: ref __binding_0,
module: ref __binding_1,
kind: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for CguFields {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => {
CguFields::PartitionReused {
cfg: ::rustc_serialize::Decodable::decode(__decoder),
module: ::rustc_serialize::Decodable::decode(__decoder),
}
}
1usize => {
CguFields::PartitionCodegened {
cfg: ::rustc_serialize::Decodable::decode(__decoder),
module: ::rustc_serialize::Decodable::decode(__decoder),
}
}
2usize => {
CguFields::ExpectedCguReuse {
cfg: ::rustc_serialize::Decodable::decode(__decoder),
module: ::rustc_serialize::Decodable::decode(__decoder),
kind: ::rustc_serialize::Decodable::decode(__decoder),
}
}
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `CguFields`, expected 0..3, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::fmt::Debug for CguFields {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
CguFields::PartitionReused { cfg: __self_0, module: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"PartitionReused", "cfg", __self_0, "module", &__self_1),
CguFields::PartitionCodegened { cfg: __self_0, module: __self_1 }
=>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"PartitionCodegened", "cfg", __self_0, "module", &__self_1),
CguFields::ExpectedCguReuse {
cfg: __self_0, module: __self_1, kind: __self_2 } =>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"ExpectedCguReuse", "cfg", __self_0, "module", __self_1,
"kind", &__self_2),
}
}
}Debug, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for CguFields {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
CguFields::PartitionReused {
cfg: ref __binding_0, module: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
CguFields::PartitionCodegened {
cfg: ref __binding_0, module: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
CguFields::ExpectedCguReuse {
cfg: ref __binding_0,
module: ref __binding_1,
kind: ref __binding_2 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
#[allow(unused)]
impl PrintAttribute for CguFields {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::PartitionReused { cfg, module } => {
__p.word("PartitionReused");
if true && !cfg.should_render() && !module.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if cfg.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("cfg");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
cfg.print_attribute(__p);
if module.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("module");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
module.print_attribute(__p);
__p.word("}");
}
Self::PartitionCodegened { cfg, module } => {
__p.word("PartitionCodegened");
if true && !cfg.should_render() && !module.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if cfg.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("cfg");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
cfg.print_attribute(__p);
if module.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("module");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
module.print_attribute(__p);
__p.word("}");
}
Self::ExpectedCguReuse { cfg, module, kind } => {
__p.word("ExpectedCguReuse");
if true && !cfg.should_render() && !module.should_render()
&& !kind.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if cfg.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("cfg");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
cfg.print_attribute(__p);
if module.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("module");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
module.print_attribute(__p);
if kind.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("kind");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
kind.print_attribute(__p);
__p.word("}");
}
}
}
}
};PrintAttribute)]
66pub enum CguFields {
67 PartitionReused { cfg: Symbol, module: Symbol },
68 PartitionCodegened { cfg: Symbol, module: Symbol },
69 ExpectedCguReuse { cfg: Symbol, module: Symbol, kind: CguKind },
70}
71
72#[derive(#[automatically_derived]
impl ::core::marker::Copy for DivergingFallbackBehavior { }Copy, #[automatically_derived]
impl ::core::clone::Clone for DivergingFallbackBehavior {
#[inline]
fn clone(&self) -> DivergingFallbackBehavior { *self }
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for DivergingFallbackBehavior {
#[inline]
fn eq(&self, other: &DivergingFallbackBehavior) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, #[automatically_derived]
impl ::core::fmt::Debug for DivergingFallbackBehavior {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
DivergingFallbackBehavior::ToUnit => "ToUnit",
DivergingFallbackBehavior::ToNever => "ToNever",
DivergingFallbackBehavior::NoFallback => "NoFallback",
})
}
}Debug, const _: () =
{
#[allow(unused)]
impl PrintAttribute for DivergingFallbackBehavior {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::ToUnit => { __p.word("ToUnit") }
Self::ToNever => { __p.word("ToNever") }
Self::NoFallback => { __p.word("NoFallback") }
}
}
}
};PrintAttribute)]
73#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
DivergingFallbackBehavior {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
DivergingFallbackBehavior::ToUnit => {}
DivergingFallbackBehavior::ToNever => {}
DivergingFallbackBehavior::NoFallback => {}
}
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for DivergingFallbackBehavior {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
DivergingFallbackBehavior::ToUnit => { 0usize }
DivergingFallbackBehavior::ToNever => { 1usize }
DivergingFallbackBehavior::NoFallback => { 2usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
DivergingFallbackBehavior::ToUnit => {}
DivergingFallbackBehavior::ToNever => {}
DivergingFallbackBehavior::NoFallback => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for DivergingFallbackBehavior {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { DivergingFallbackBehavior::ToUnit }
1usize => { DivergingFallbackBehavior::ToNever }
2usize => { DivergingFallbackBehavior::NoFallback }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `DivergingFallbackBehavior`, expected 0..3, actual {0}",
n));
}
}
}
}
};Decodable)]
74pub enum DivergingFallbackBehavior {
75 ToUnit,
77 ToNever,
80 NoFallback,
82}
83
84#[derive(#[automatically_derived]
impl ::core::marker::Copy for DivergingBlockBehavior { }Copy, #[automatically_derived]
impl ::core::clone::Clone for DivergingBlockBehavior {
#[inline]
fn clone(&self) -> DivergingBlockBehavior { *self }
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for DivergingBlockBehavior {
#[inline]
fn eq(&self, other: &DivergingBlockBehavior) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, #[automatically_derived]
impl ::core::fmt::Debug for DivergingBlockBehavior {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
DivergingBlockBehavior::Never => "Never",
DivergingBlockBehavior::Unit => "Unit",
})
}
}Debug, const _: () =
{
#[allow(unused)]
impl PrintAttribute for DivergingBlockBehavior {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Never => { __p.word("Never") }
Self::Unit => { __p.word("Unit") }
}
}
}
};PrintAttribute, #[automatically_derived]
impl ::core::default::Default for DivergingBlockBehavior {
#[inline]
fn default() -> DivergingBlockBehavior { Self::Never }
}Default)]
85#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
DivergingBlockBehavior {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
DivergingBlockBehavior::Never => {}
DivergingBlockBehavior::Unit => {}
}
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for DivergingBlockBehavior {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
DivergingBlockBehavior::Never => { 0usize }
DivergingBlockBehavior::Unit => { 1usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
DivergingBlockBehavior::Never => {}
DivergingBlockBehavior::Unit => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for DivergingBlockBehavior {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { DivergingBlockBehavior::Never }
1usize => { DivergingBlockBehavior::Unit }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `DivergingBlockBehavior`, expected 0..2, actual {0}",
n));
}
}
}
}
};Decodable)]
86pub enum DivergingBlockBehavior {
87 #[default]
95 Never,
96
97 Unit,
106}
107
108#[derive(#[automatically_derived]
impl ::core::marker::Copy for InlineAttr { }Copy, #[automatically_derived]
impl ::core::clone::Clone for InlineAttr {
#[inline]
fn clone(&self) -> InlineAttr {
let _: ::core::clone::AssertParamIsClone<Span>;
let _: ::core::clone::AssertParamIsClone<Option<Symbol>>;
*self
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for InlineAttr {
#[inline]
fn eq(&self, other: &InlineAttr) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr &&
match (self, other) {
(InlineAttr::Force { attr_span: __self_0, reason: __self_1 },
InlineAttr::Force { attr_span: __arg1_0, reason: __arg1_1 })
=> __self_0 == __arg1_0 && __self_1 == __arg1_1,
_ => true,
}
}
}PartialEq, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for InlineAttr {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
InlineAttr::None => { 0usize }
InlineAttr::Hint => { 1usize }
InlineAttr::Always => { 2usize }
InlineAttr::Never => { 3usize }
InlineAttr::Force {
attr_span: ref __binding_0, reason: ref __binding_1 } => {
4usize
}
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
InlineAttr::None => {}
InlineAttr::Hint => {}
InlineAttr::Always => {}
InlineAttr::Never => {}
InlineAttr::Force {
attr_span: ref __binding_0, reason: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for InlineAttr {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { InlineAttr::None }
1usize => { InlineAttr::Hint }
2usize => { InlineAttr::Always }
3usize => { InlineAttr::Never }
4usize => {
InlineAttr::Force {
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
reason: ::rustc_serialize::Decodable::decode(__decoder),
}
}
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `InlineAttr`, expected 0..5, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::fmt::Debug for InlineAttr {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
InlineAttr::None => ::core::fmt::Formatter::write_str(f, "None"),
InlineAttr::Hint => ::core::fmt::Formatter::write_str(f, "Hint"),
InlineAttr::Always =>
::core::fmt::Formatter::write_str(f, "Always"),
InlineAttr::Never =>
::core::fmt::Formatter::write_str(f, "Never"),
InlineAttr::Force { attr_span: __self_0, reason: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f, "Force",
"attr_span", __self_0, "reason", &__self_1),
}
}
}Debug, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for InlineAttr {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
InlineAttr::None => {}
InlineAttr::Hint => {}
InlineAttr::Always => {}
InlineAttr::Never => {}
InlineAttr::Force {
attr_span: ref __binding_0, reason: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
#[allow(unused)]
impl PrintAttribute for InlineAttr {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::None => { __p.word("None") }
Self::Hint => { __p.word("Hint") }
Self::Always => { __p.word("Always") }
Self::Never => { __p.word("Never") }
Self::Force { attr_span, reason } => {
__p.word("Force");
if true && !attr_span.should_render() &&
!reason.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if attr_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_span.print_attribute(__p);
if reason.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("reason");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
reason.print_attribute(__p);
__p.word("}");
}
}
}
}
};PrintAttribute)]
109pub enum InlineAttr {
110 None,
111 Hint,
112 Always,
113 Never,
114 Force {
118 attr_span: Span,
119 reason: Option<Symbol>,
120 },
121}
122
123impl InlineAttr {
124 pub fn always(&self) -> bool {
125 match self {
126 InlineAttr::Always | InlineAttr::Force { .. } => true,
127 InlineAttr::None | InlineAttr::Hint | InlineAttr::Never => false,
128 }
129 }
130}
131
132#[derive(#[automatically_derived]
impl ::core::marker::Copy for UnrollAttr { }Copy, #[automatically_derived]
impl ::core::clone::Clone for UnrollAttr {
#[inline]
fn clone(&self) -> UnrollAttr {
let _: ::core::clone::AssertParamIsClone<u32>;
*self
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for UnrollAttr {
#[inline]
fn eq(&self, other: &UnrollAttr) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr &&
match (self, other) {
(UnrollAttr::Count(__self_0), UnrollAttr::Count(__arg1_0)) =>
__self_0 == __arg1_0,
_ => true,
}
}
}PartialEq, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for UnrollAttr {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
UnrollAttr::Hint => { 0usize }
UnrollAttr::Full => { 1usize }
UnrollAttr::Never => { 2usize }
UnrollAttr::Count(ref __binding_0) => { 3usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
UnrollAttr::Hint => {}
UnrollAttr::Full => {}
UnrollAttr::Never => {}
UnrollAttr::Count(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for UnrollAttr {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { UnrollAttr::Hint }
1usize => { UnrollAttr::Full }
2usize => { UnrollAttr::Never }
3usize => {
UnrollAttr::Count(::rustc_serialize::Decodable::decode(__decoder))
}
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `UnrollAttr`, expected 0..4, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::fmt::Debug for UnrollAttr {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
UnrollAttr::Hint => ::core::fmt::Formatter::write_str(f, "Hint"),
UnrollAttr::Full => ::core::fmt::Formatter::write_str(f, "Full"),
UnrollAttr::Never =>
::core::fmt::Formatter::write_str(f, "Never"),
UnrollAttr::Count(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Count",
&__self_0),
}
}
}Debug, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for UnrollAttr {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
UnrollAttr::Hint => {}
UnrollAttr::Full => {}
UnrollAttr::Never => {}
UnrollAttr::Count(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
#[allow(unused)]
impl PrintAttribute for UnrollAttr {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Hint => { __p.word("Hint") }
Self::Full => { __p.word("Full") }
Self::Never => { __p.word("Never") }
Self::Count(f0) => {
__p.word("Count");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
}
}
}
};PrintAttribute)]
133pub enum UnrollAttr {
134 Hint,
135 Full,
136 Never,
137 Count(u32),
138}
139
140#[derive(#[automatically_derived]
impl ::core::marker::Copy for InstructionSetAttr { }Copy, #[automatically_derived]
impl ::core::clone::Clone for InstructionSetAttr {
#[inline]
fn clone(&self) -> InstructionSetAttr { *self }
}Clone, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for InstructionSetAttr {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
InstructionSetAttr::ArmA32 => { 0usize }
InstructionSetAttr::ArmT32 => { 1usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
InstructionSetAttr::ArmA32 => {}
InstructionSetAttr::ArmT32 => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for InstructionSetAttr {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { InstructionSetAttr::ArmA32 }
1usize => { InstructionSetAttr::ArmT32 }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `InstructionSetAttr`, expected 0..2, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::fmt::Debug for InstructionSetAttr {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
InstructionSetAttr::ArmA32 => "ArmA32",
InstructionSetAttr::ArmT32 => "ArmT32",
})
}
}Debug, #[automatically_derived]
impl ::core::cmp::PartialEq for InstructionSetAttr {
#[inline]
fn eq(&self, other: &InstructionSetAttr) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, #[automatically_derived]
impl ::core::cmp::Eq for InstructionSetAttr {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {}
}Eq, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
InstructionSetAttr {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
InstructionSetAttr::ArmA32 => {}
InstructionSetAttr::ArmT32 => {}
}
}
}
};StableHash, const _: () =
{
#[allow(unused)]
impl PrintAttribute for InstructionSetAttr {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::ArmA32 => { __p.word("ArmA32") }
Self::ArmT32 => { __p.word("ArmT32") }
}
}
}
};PrintAttribute)]
141pub enum InstructionSetAttr {
142 ArmA32,
143 ArmT32,
144}
145
146#[derive(#[automatically_derived]
impl ::core::marker::Copy for InstrumentFnAttr { }Copy, #[automatically_derived]
impl ::core::clone::Clone for InstrumentFnAttr {
#[inline]
fn clone(&self) -> InstrumentFnAttr { *self }
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for InstrumentFnAttr {
#[inline]
fn eq(&self, other: &InstrumentFnAttr) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for InstrumentFnAttr {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
InstrumentFnAttr::On => { 0usize }
InstrumentFnAttr::Off => { 1usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
InstrumentFnAttr::On => {}
InstrumentFnAttr::Off => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for InstrumentFnAttr {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { InstrumentFnAttr::On }
1usize => { InstrumentFnAttr::Off }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `InstrumentFnAttr`, expected 0..2, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::fmt::Debug for InstrumentFnAttr {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
InstrumentFnAttr::On => "On",
InstrumentFnAttr::Off => "Off",
})
}
}Debug, #[automatically_derived]
impl ::core::cmp::Eq for InstrumentFnAttr {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {}
}Eq, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
InstrumentFnAttr {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
InstrumentFnAttr::On => {}
InstrumentFnAttr::Off => {}
}
}
}
};StableHash, const _: () =
{
#[allow(unused)]
impl PrintAttribute for InstrumentFnAttr {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::On => { __p.word("On") }
Self::Off => { __p.word("Off") }
}
}
}
};PrintAttribute)]
147pub enum InstrumentFnAttr {
148 On,
150 Off,
152}
153
154#[derive(#[automatically_derived]
impl ::core::marker::Copy for OptimizeAttr { }Copy, #[automatically_derived]
impl ::core::clone::Clone for OptimizeAttr {
#[inline]
fn clone(&self) -> OptimizeAttr { *self }
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for OptimizeAttr {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
OptimizeAttr::Default => "Default",
OptimizeAttr::DoNotOptimize => "DoNotOptimize",
OptimizeAttr::Speed => "Speed",
OptimizeAttr::Size => "Size",
})
}
}Debug, #[automatically_derived]
impl ::core::cmp::PartialEq for OptimizeAttr {
#[inline]
fn eq(&self, other: &OptimizeAttr) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, #[automatically_derived]
impl ::core::cmp::Eq for OptimizeAttr {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {}
}Eq, #[automatically_derived]
impl ::core::default::Default for OptimizeAttr {
#[inline]
fn default() -> OptimizeAttr { Self::Default }
}Default, const _: () =
{
#[allow(unused)]
impl PrintAttribute for OptimizeAttr {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Default => { __p.word("Default") }
Self::DoNotOptimize => { __p.word("DoNotOptimize") }
Self::Speed => { __p.word("Speed") }
Self::Size => { __p.word("Size") }
}
}
}
};PrintAttribute)]
155#[derive(const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for OptimizeAttr {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
OptimizeAttr::Default => { 0usize }
OptimizeAttr::DoNotOptimize => { 1usize }
OptimizeAttr::Speed => { 2usize }
OptimizeAttr::Size => { 3usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
OptimizeAttr::Default => {}
OptimizeAttr::DoNotOptimize => {}
OptimizeAttr::Speed => {}
OptimizeAttr::Size => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for OptimizeAttr {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { OptimizeAttr::Default }
1usize => { OptimizeAttr::DoNotOptimize }
2usize => { OptimizeAttr::Speed }
3usize => { OptimizeAttr::Size }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `OptimizeAttr`, expected 0..4, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for OptimizeAttr
{
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
OptimizeAttr::Default => {}
OptimizeAttr::DoNotOptimize => {}
OptimizeAttr::Speed => {}
OptimizeAttr::Size => {}
}
}
}
};StableHash)]
156pub enum OptimizeAttr {
157 #[default]
159 Default,
160 DoNotOptimize,
162 Speed,
164 Size,
166}
167
168impl OptimizeAttr {
169 pub fn do_not_optimize(&self) -> bool {
170 #[allow(non_exhaustive_omitted_patterns)] match self {
Self::DoNotOptimize => true,
_ => false,
}matches!(self, Self::DoNotOptimize)
171 }
172}
173
174#[derive(#[automatically_derived]
impl ::core::cmp::PartialEq for ReprAttr {
#[inline]
fn eq(&self, other: &ReprAttr) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr &&
match (self, other) {
(ReprAttr::ReprInt(__self_0), ReprAttr::ReprInt(__arg1_0)) =>
__self_0 == __arg1_0,
(ReprAttr::ReprPacked(__self_0),
ReprAttr::ReprPacked(__arg1_0)) => __self_0 == __arg1_0,
(ReprAttr::ReprAlign(__self_0), ReprAttr::ReprAlign(__arg1_0))
=> __self_0 == __arg1_0,
_ => true,
}
}
}PartialEq, #[automatically_derived]
impl ::core::fmt::Debug for ReprAttr {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
ReprAttr::ReprInt(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"ReprInt", &__self_0),
ReprAttr::ReprRust =>
::core::fmt::Formatter::write_str(f, "ReprRust"),
ReprAttr::ReprC => ::core::fmt::Formatter::write_str(f, "ReprC"),
ReprAttr::ReprPacked(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"ReprPacked", &__self_0),
ReprAttr::ReprSimd =>
::core::fmt::Formatter::write_str(f, "ReprSimd"),
ReprAttr::ReprTransparent =>
::core::fmt::Formatter::write_str(f, "ReprTransparent"),
ReprAttr::ReprAlign(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"ReprAlign", &__self_0),
}
}
}Debug, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for ReprAttr {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
ReprAttr::ReprInt(ref __binding_0) => { 0usize }
ReprAttr::ReprRust => { 1usize }
ReprAttr::ReprC => { 2usize }
ReprAttr::ReprPacked(ref __binding_0) => { 3usize }
ReprAttr::ReprSimd => { 4usize }
ReprAttr::ReprTransparent => { 5usize }
ReprAttr::ReprAlign(ref __binding_0) => { 6usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
ReprAttr::ReprInt(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
ReprAttr::ReprRust => {}
ReprAttr::ReprC => {}
ReprAttr::ReprPacked(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
ReprAttr::ReprSimd => {}
ReprAttr::ReprTransparent => {}
ReprAttr::ReprAlign(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for ReprAttr {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => {
ReprAttr::ReprInt(::rustc_serialize::Decodable::decode(__decoder))
}
1usize => { ReprAttr::ReprRust }
2usize => { ReprAttr::ReprC }
3usize => {
ReprAttr::ReprPacked(::rustc_serialize::Decodable::decode(__decoder))
}
4usize => { ReprAttr::ReprSimd }
5usize => { ReprAttr::ReprTransparent }
6usize => {
ReprAttr::ReprAlign(::rustc_serialize::Decodable::decode(__decoder))
}
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `ReprAttr`, expected 0..7, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::marker::Copy for ReprAttr { }Copy, #[automatically_derived]
impl ::core::clone::Clone for ReprAttr {
#[inline]
fn clone(&self) -> ReprAttr {
let _: ::core::clone::AssertParamIsClone<IntType>;
let _: ::core::clone::AssertParamIsClone<Align>;
*self
}
}Clone, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for ReprAttr {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
ReprAttr::ReprInt(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
ReprAttr::ReprRust => {}
ReprAttr::ReprC => {}
ReprAttr::ReprPacked(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
ReprAttr::ReprSimd => {}
ReprAttr::ReprTransparent => {}
ReprAttr::ReprAlign(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
#[allow(unused)]
impl PrintAttribute for ReprAttr {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::ReprInt(f0) => {
__p.word("ReprInt");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::ReprRust => { __p.word("ReprRust") }
Self::ReprC => { __p.word("ReprC") }
Self::ReprPacked(f0) => {
__p.word("ReprPacked");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::ReprSimd => { __p.word("ReprSimd") }
Self::ReprTransparent => { __p.word("ReprTransparent") }
Self::ReprAlign(f0) => {
__p.word("ReprAlign");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
}
}
}
};PrintAttribute)]
175pub enum ReprAttr {
176 ReprInt(IntType),
177 ReprRust,
178 ReprC,
179 ReprPacked(Align),
180 ReprSimd,
181 ReprTransparent,
182 ReprAlign(Align),
183}
184
185pub enum TransparencyError {
186 UnknownTransparency(Symbol, Span),
187 MultipleTransparencyAttrs(Span, Span),
188}
189
190#[derive(#[automatically_derived]
impl ::core::cmp::Eq for IntType {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<ast::IntTy>;
let _: ::core::cmp::AssertParamIsEq<ast::UintTy>;
}
}Eq, #[automatically_derived]
impl ::core::cmp::PartialEq for IntType {
#[inline]
fn eq(&self, other: &IntType) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr &&
match (self, other) {
(IntType::SignedInt(__self_0), IntType::SignedInt(__arg1_0))
=> __self_0 == __arg1_0,
(IntType::UnsignedInt(__self_0),
IntType::UnsignedInt(__arg1_0)) => __self_0 == __arg1_0,
_ => unsafe { ::core::intrinsics::unreachable() }
}
}
}PartialEq, #[automatically_derived]
impl ::core::fmt::Debug for IntType {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
IntType::SignedInt(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"SignedInt", &__self_0),
IntType::UnsignedInt(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"UnsignedInt", &__self_0),
}
}
}Debug, #[automatically_derived]
impl ::core::marker::Copy for IntType { }Copy, #[automatically_derived]
impl ::core::clone::Clone for IntType {
#[inline]
fn clone(&self) -> IntType {
let _: ::core::clone::AssertParamIsClone<ast::IntTy>;
let _: ::core::clone::AssertParamIsClone<ast::UintTy>;
*self
}
}Clone)]
191#[derive(const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for IntType {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
IntType::SignedInt(ref __binding_0) => { 0usize }
IntType::UnsignedInt(ref __binding_0) => { 1usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
IntType::SignedInt(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
IntType::UnsignedInt(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for IntType {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => {
IntType::SignedInt(::rustc_serialize::Decodable::decode(__decoder))
}
1usize => {
IntType::UnsignedInt(::rustc_serialize::Decodable::decode(__decoder))
}
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `IntType`, expected 0..2, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for IntType {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
IntType::SignedInt(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
IntType::UnsignedInt(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
#[allow(unused)]
impl PrintAttribute for IntType {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::SignedInt(f0) => {
__p.word("SignedInt");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::UnsignedInt(f0) => {
__p.word("UnsignedInt");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
}
}
}
};PrintAttribute)]
192pub enum IntType {
193 SignedInt(ast::IntTy),
194 UnsignedInt(ast::UintTy),
195}
196
197#[derive(#[automatically_derived]
impl ::core::marker::Copy for Deprecation { }Copy, #[automatically_derived]
impl ::core::fmt::Debug for Deprecation {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field3_finish(f, "Deprecation",
"since", &self.since, "note", &self.note, "suggestion",
&&self.suggestion)
}
}Debug, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for Deprecation {
fn encode(&self, __encoder: &mut __E) {
match *self {
Deprecation {
since: ref __binding_0,
note: ref __binding_1,
suggestion: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for Deprecation {
fn decode(__decoder: &mut __D) -> Self {
Deprecation {
since: ::rustc_serialize::Decodable::decode(__decoder),
note: ::rustc_serialize::Decodable::decode(__decoder),
suggestion: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, #[automatically_derived]
impl ::core::clone::Clone for Deprecation {
#[inline]
fn clone(&self) -> Deprecation {
let _: ::core::clone::AssertParamIsClone<DeprecatedSince>;
let _: ::core::clone::AssertParamIsClone<Option<Ident>>;
let _: ::core::clone::AssertParamIsClone<Option<Symbol>>;
*self
}
}Clone, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for Deprecation
{
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
match *self {
Deprecation {
since: ref __binding_0,
note: ref __binding_1,
suggestion: ref __binding_2 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
#[allow(unused)]
impl PrintAttribute for Deprecation {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
let Self { since, note, suggestion } = self;
__p.word("Deprecation");
if true && !since.should_render() && !note.should_render() &&
!suggestion.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if since.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("since");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
since.print_attribute(__p);
if note.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("note");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
note.print_attribute(__p);
if suggestion.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("suggestion");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
suggestion.print_attribute(__p);
__p.word("}");
}
}
};PrintAttribute)]
198pub struct Deprecation {
199 pub since: DeprecatedSince,
200 pub note: Option<Ident>,
202 pub suggestion: Option<Symbol>,
206}
207
208#[derive(#[automatically_derived]
impl ::core::marker::Copy for DeprecatedSince { }Copy, #[automatically_derived]
impl ::core::fmt::Debug for DeprecatedSince {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
DeprecatedSince::RustcVersion(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcVersion", &__self_0),
DeprecatedSince::Future =>
::core::fmt::Formatter::write_str(f, "Future"),
DeprecatedSince::NonStandard(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"NonStandard", &__self_0),
DeprecatedSince::Unspecified =>
::core::fmt::Formatter::write_str(f, "Unspecified"),
DeprecatedSince::Err =>
::core::fmt::Formatter::write_str(f, "Err"),
}
}
}Debug, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for DeprecatedSince {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
DeprecatedSince::RustcVersion(ref __binding_0) => { 0usize }
DeprecatedSince::Future => { 1usize }
DeprecatedSince::NonStandard(ref __binding_0) => { 2usize }
DeprecatedSince::Unspecified => { 3usize }
DeprecatedSince::Err => { 4usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
DeprecatedSince::RustcVersion(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
DeprecatedSince::Future => {}
DeprecatedSince::NonStandard(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
DeprecatedSince::Unspecified => {}
DeprecatedSince::Err => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for DeprecatedSince {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => {
DeprecatedSince::RustcVersion(::rustc_serialize::Decodable::decode(__decoder))
}
1usize => { DeprecatedSince::Future }
2usize => {
DeprecatedSince::NonStandard(::rustc_serialize::Decodable::decode(__decoder))
}
3usize => { DeprecatedSince::Unspecified }
4usize => { DeprecatedSince::Err }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `DeprecatedSince`, expected 0..5, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::clone::Clone for DeprecatedSince {
#[inline]
fn clone(&self) -> DeprecatedSince {
let _: ::core::clone::AssertParamIsClone<RustcVersion>;
let _: ::core::clone::AssertParamIsClone<Symbol>;
*self
}
}Clone, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
DeprecatedSince {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
DeprecatedSince::RustcVersion(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
DeprecatedSince::Future => {}
DeprecatedSince::NonStandard(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
DeprecatedSince::Unspecified => {}
DeprecatedSince::Err => {}
}
}
}
};StableHash, const _: () =
{
#[allow(unused)]
impl PrintAttribute for DeprecatedSince {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::RustcVersion(f0) => {
__p.word("RustcVersion");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Future => { __p.word("Future") }
Self::NonStandard(f0) => {
__p.word("NonStandard");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Unspecified => { __p.word("Unspecified") }
Self::Err => { __p.word("Err") }
}
}
}
};PrintAttribute)]
210pub enum DeprecatedSince {
211 RustcVersion(RustcVersion),
212 Future,
214 NonStandard(Symbol),
217 Unspecified,
219 Err,
222}
223
224#[derive(#[automatically_derived]
impl ::core::marker::Copy for CoverageAttrKind { }Copy, #[automatically_derived]
impl ::core::fmt::Debug for CoverageAttrKind {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
CoverageAttrKind::On => "On",
CoverageAttrKind::Off => "Off",
})
}
}Debug, #[automatically_derived]
impl ::core::cmp::Eq for CoverageAttrKind {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {}
}Eq, #[automatically_derived]
impl ::core::cmp::PartialEq for CoverageAttrKind {
#[inline]
fn eq(&self, other: &CoverageAttrKind) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for CoverageAttrKind {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
CoverageAttrKind::On => { 0usize }
CoverageAttrKind::Off => { 1usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
CoverageAttrKind::On => {}
CoverageAttrKind::Off => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for CoverageAttrKind {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { CoverageAttrKind::On }
1usize => { CoverageAttrKind::Off }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `CoverageAttrKind`, expected 0..2, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::clone::Clone for CoverageAttrKind {
#[inline]
fn clone(&self) -> CoverageAttrKind { *self }
}Clone)]
226#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
CoverageAttrKind {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
CoverageAttrKind::On => {}
CoverageAttrKind::Off => {}
}
}
}
};StableHash, const _: () =
{
#[allow(unused)]
impl PrintAttribute for CoverageAttrKind {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::On => { __p.word("On") }
Self::Off => { __p.word("Off") }
}
}
}
};PrintAttribute)]
227pub enum CoverageAttrKind {
228 On,
229 Off,
230}
231
232#[derive(#[automatically_derived]
impl ::core::marker::Copy for RustcAbiAttrKind { }Copy, #[automatically_derived]
impl ::core::fmt::Debug for RustcAbiAttrKind {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
RustcAbiAttrKind::Debug => "Debug",
RustcAbiAttrKind::AssertEq => "AssertEq",
})
}
}Debug, #[automatically_derived]
impl ::core::cmp::Eq for RustcAbiAttrKind {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {}
}Eq, #[automatically_derived]
impl ::core::cmp::PartialEq for RustcAbiAttrKind {
#[inline]
fn eq(&self, other: &RustcAbiAttrKind) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for RustcAbiAttrKind {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
RustcAbiAttrKind::Debug => { 0usize }
RustcAbiAttrKind::AssertEq => { 1usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
RustcAbiAttrKind::Debug => {}
RustcAbiAttrKind::AssertEq => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for RustcAbiAttrKind {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { RustcAbiAttrKind::Debug }
1usize => { RustcAbiAttrKind::AssertEq }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `RustcAbiAttrKind`, expected 0..2, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::clone::Clone for RustcAbiAttrKind {
#[inline]
fn clone(&self) -> RustcAbiAttrKind { *self }
}Clone)]
234#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
RustcAbiAttrKind {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
RustcAbiAttrKind::Debug => {}
RustcAbiAttrKind::AssertEq => {}
}
}
}
};StableHash, const _: () =
{
#[allow(unused)]
impl PrintAttribute for RustcAbiAttrKind {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Debug => { __p.word("Debug") }
Self::AssertEq => { __p.word("AssertEq") }
}
}
}
};PrintAttribute)]
235pub enum RustcAbiAttrKind {
236 Debug,
237 AssertEq,
238}
239
240impl Deprecation {
241 pub fn is_in_effect(&self) -> bool {
245 match self.since {
246 DeprecatedSince::RustcVersion(since) => since <= RustcVersion::CURRENT,
247 DeprecatedSince::Future => false,
248 DeprecatedSince::NonStandard(_) => true,
250 DeprecatedSince::Unspecified | DeprecatedSince::Err => true,
252 }
253 }
254
255 pub fn is_since_rustc_version(&self) -> bool {
256 #[allow(non_exhaustive_omitted_patterns)] match self.since {
DeprecatedSince::RustcVersion(_) => true,
_ => false,
}matches!(self.since, DeprecatedSince::RustcVersion(_))
257 }
258}
259
260#[derive(const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for UsedBy {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
UsedBy::Default => { 0usize }
UsedBy::Compiler => { 1usize }
UsedBy::Linker => { 2usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
UsedBy::Default => {}
UsedBy::Compiler => {}
UsedBy::Linker => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for UsedBy {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { UsedBy::Default }
1usize => { UsedBy::Compiler }
2usize => { UsedBy::Linker }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `UsedBy`, expected 0..3, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::marker::Copy for UsedBy { }Copy, #[automatically_derived]
impl ::core::clone::Clone for UsedBy {
#[inline]
fn clone(&self) -> UsedBy { *self }
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for UsedBy {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
UsedBy::Default => "Default",
UsedBy::Compiler => "Compiler",
UsedBy::Linker => "Linker",
})
}
}Debug, #[automatically_derived]
impl ::core::cmp::PartialEq for UsedBy {
#[inline]
fn eq(&self, other: &UsedBy) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, #[automatically_derived]
impl ::core::cmp::Eq for UsedBy {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {}
}Eq, #[automatically_derived]
impl ::core::hash::Hash for UsedBy {
#[inline]
fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) {
let __self_discr = ::core::intrinsics::discriminant_value(self);
::core::hash::Hash::hash(&__self_discr, state)
}
}Hash)]
265#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for UsedBy {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
UsedBy::Default => {}
UsedBy::Compiler => {}
UsedBy::Linker => {}
}
}
}
};StableHash, const _: () =
{
#[allow(unused)]
impl PrintAttribute for UsedBy {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Default => { __p.word("Default") }
Self::Compiler => { __p.word("Compiler") }
Self::Linker => { __p.word("Linker") }
}
}
}
};PrintAttribute)]
266pub enum UsedBy {
267 Default,
268 Compiler,
269 Linker,
270}
271
272#[derive(const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for MacroUseArgs {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
MacroUseArgs::UseAll => { 0usize }
MacroUseArgs::UseSpecific(ref __binding_0) => { 1usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
MacroUseArgs::UseAll => {}
MacroUseArgs::UseSpecific(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for MacroUseArgs {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { MacroUseArgs::UseAll }
1usize => {
MacroUseArgs::UseSpecific(::rustc_serialize::Decodable::decode(__decoder))
}
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `MacroUseArgs`, expected 0..2, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::clone::Clone for MacroUseArgs {
#[inline]
fn clone(&self) -> MacroUseArgs {
match self {
MacroUseArgs::UseAll => MacroUseArgs::UseAll,
MacroUseArgs::UseSpecific(__self_0) =>
MacroUseArgs::UseSpecific(::core::clone::Clone::clone(__self_0)),
}
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for MacroUseArgs {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
MacroUseArgs::UseAll =>
::core::fmt::Formatter::write_str(f, "UseAll"),
MacroUseArgs::UseSpecific(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"UseSpecific", &__self_0),
}
}
}Debug, #[automatically_derived]
impl ::core::cmp::PartialEq for MacroUseArgs {
#[inline]
fn eq(&self, other: &MacroUseArgs) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr &&
match (self, other) {
(MacroUseArgs::UseSpecific(__self_0),
MacroUseArgs::UseSpecific(__arg1_0)) =>
__self_0 == __arg1_0,
_ => true,
}
}
}PartialEq, #[automatically_derived]
impl ::core::cmp::Eq for MacroUseArgs {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<ThinVec<Ident>>;
}
}Eq, #[automatically_derived]
impl ::core::hash::Hash for MacroUseArgs {
#[inline]
fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) {
let __self_discr = ::core::intrinsics::discriminant_value(self);
::core::hash::Hash::hash(&__self_discr, state);
match self {
MacroUseArgs::UseSpecific(__self_0) =>
::core::hash::Hash::hash(__self_0, state),
_ => {}
}
}
}Hash)]
273#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for MacroUseArgs
{
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
MacroUseArgs::UseAll => {}
MacroUseArgs::UseSpecific(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
#[allow(unused)]
impl PrintAttribute for MacroUseArgs {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::UseAll => { __p.word("UseAll") }
Self::UseSpecific(f0) => {
__p.word("UseSpecific");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
}
}
}
};PrintAttribute)]
274pub enum MacroUseArgs {
275 UseAll,
276 UseSpecific(ThinVec<Ident>),
277}
278
279impl Default for MacroUseArgs {
280 fn default() -> Self {
281 Self::UseSpecific(ThinVec::new())
282 }
283}
284
285#[derive(#[automatically_derived]
impl<ScopeId: ::core::fmt::Debug> ::core::fmt::Debug for
StrippedCfgItem<ScopeId> {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field3_finish(f,
"StrippedCfgItem", "parent_scope", &self.parent_scope, "ident",
&self.ident, "cfg", &&self.cfg)
}
}Debug, #[automatically_derived]
impl<ScopeId: ::core::clone::Clone> ::core::clone::Clone for
StrippedCfgItem<ScopeId> {
#[inline]
fn clone(&self) -> StrippedCfgItem<ScopeId> {
StrippedCfgItem {
parent_scope: ::core::clone::Clone::clone(&self.parent_scope),
ident: ::core::clone::Clone::clone(&self.ident),
cfg: ::core::clone::Clone::clone(&self.cfg),
}
}
}Clone, const _: () =
{
impl<ScopeId, __E: ::rustc_span::SpanEncoder>
::rustc_serialize::Encodable<__E> for StrippedCfgItem<ScopeId>
where ScopeId: ::rustc_serialize::Encodable<__E> {
fn encode(&self, __encoder: &mut __E) {
match *self {
StrippedCfgItem {
parent_scope: ref __binding_0,
ident: ref __binding_1,
cfg: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<ScopeId, __D: ::rustc_span::SpanDecoder>
::rustc_serialize::Decodable<__D> for StrippedCfgItem<ScopeId>
where ScopeId: ::rustc_serialize::Decodable<__D> {
fn decode(__decoder: &mut __D) -> Self {
StrippedCfgItem {
parent_scope: ::rustc_serialize::Decodable::decode(__decoder),
ident: ::rustc_serialize::Decodable::decode(__decoder),
cfg: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, const _: () =
{
impl<ScopeId> ::rustc_data_structures::stable_hash::StableHash for
StrippedCfgItem<ScopeId> where
ScopeId: ::rustc_data_structures::stable_hash::StableHash {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
match *self {
StrippedCfgItem {
parent_scope: ref __binding_0,
ident: ref __binding_1,
cfg: ref __binding_2 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash)]
286pub struct StrippedCfgItem<ScopeId = DefId> {
287 pub parent_scope: ScopeId,
288 pub ident: Ident,
289 pub cfg: (CfgEntry, Span),
290}
291
292impl<ScopeId> StrippedCfgItem<ScopeId> {
293 pub fn map_scope_id<New>(self, f: impl FnOnce(ScopeId) -> New) -> StrippedCfgItem<New> {
294 StrippedCfgItem { parent_scope: f(self.parent_scope), ident: self.ident, cfg: self.cfg }
295 }
296}
297
298#[derive(const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for Linkage {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
Linkage::AvailableExternally => { 0usize }
Linkage::Common => { 1usize }
Linkage::ExternalWeak => { 2usize }
Linkage::External => { 3usize }
Linkage::Internal => { 4usize }
Linkage::LinkOnceAny => { 5usize }
Linkage::LinkOnceODR => { 6usize }
Linkage::WeakAny => { 7usize }
Linkage::WeakODR => { 8usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
Linkage::AvailableExternally => {}
Linkage::Common => {}
Linkage::ExternalWeak => {}
Linkage::External => {}
Linkage::Internal => {}
Linkage::LinkOnceAny => {}
Linkage::LinkOnceODR => {}
Linkage::WeakAny => {}
Linkage::WeakODR => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for Linkage {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { Linkage::AvailableExternally }
1usize => { Linkage::Common }
2usize => { Linkage::ExternalWeak }
3usize => { Linkage::External }
4usize => { Linkage::Internal }
5usize => { Linkage::LinkOnceAny }
6usize => { Linkage::LinkOnceODR }
7usize => { Linkage::WeakAny }
8usize => { Linkage::WeakODR }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `Linkage`, expected 0..9, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::clone::Clone for Linkage {
#[inline]
fn clone(&self) -> Linkage { *self }
}Clone, #[automatically_derived]
impl ::core::marker::Copy for Linkage { }Copy, #[automatically_derived]
impl ::core::fmt::Debug for Linkage {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
Linkage::AvailableExternally => "AvailableExternally",
Linkage::Common => "Common",
Linkage::ExternalWeak => "ExternalWeak",
Linkage::External => "External",
Linkage::Internal => "Internal",
Linkage::LinkOnceAny => "LinkOnceAny",
Linkage::LinkOnceODR => "LinkOnceODR",
Linkage::WeakAny => "WeakAny",
Linkage::WeakODR => "WeakODR",
})
}
}Debug, #[automatically_derived]
impl ::core::cmp::PartialEq for Linkage {
#[inline]
fn eq(&self, other: &Linkage) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, #[automatically_derived]
impl ::core::cmp::Eq for Linkage {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {}
}Eq, #[automatically_derived]
impl ::core::hash::Hash for Linkage {
#[inline]
fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) {
let __self_discr = ::core::intrinsics::discriminant_value(self);
::core::hash::Hash::hash(&__self_discr, state)
}
}Hash)]
303#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for Linkage {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
Linkage::AvailableExternally => {}
Linkage::Common => {}
Linkage::ExternalWeak => {}
Linkage::External => {}
Linkage::Internal => {}
Linkage::LinkOnceAny => {}
Linkage::LinkOnceODR => {}
Linkage::WeakAny => {}
Linkage::WeakODR => {}
}
}
}
};StableHash, const _: () =
{
#[allow(unused)]
impl PrintAttribute for Linkage {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::AvailableExternally => {
__p.word("AvailableExternally")
}
Self::Common => { __p.word("Common") }
Self::ExternalWeak => { __p.word("ExternalWeak") }
Self::External => { __p.word("External") }
Self::Internal => { __p.word("Internal") }
Self::LinkOnceAny => { __p.word("LinkOnceAny") }
Self::LinkOnceODR => { __p.word("LinkOnceODR") }
Self::WeakAny => { __p.word("WeakAny") }
Self::WeakODR => { __p.word("WeakODR") }
}
}
}
};PrintAttribute)]
304pub enum Linkage {
305 AvailableExternally,
306 Common,
307 ExternalWeak,
308 External,
309 Internal,
310 LinkOnceAny,
311 LinkOnceODR,
312 WeakAny,
313 WeakODR,
314}
315
316#[derive(#[automatically_derived]
impl ::core::clone::Clone for MirDialect {
#[inline]
fn clone(&self) -> MirDialect { *self }
}Clone, #[automatically_derived]
impl ::core::marker::Copy for MirDialect { }Copy, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for MirDialect {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { MirDialect::Analysis }
1usize => { MirDialect::Built }
2usize => { MirDialect::Runtime }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `MirDialect`, expected 0..3, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::fmt::Debug for MirDialect {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
MirDialect::Analysis => "Analysis",
MirDialect::Built => "Built",
MirDialect::Runtime => "Runtime",
})
}
}Debug, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for MirDialect {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
MirDialect::Analysis => { 0usize }
MirDialect::Built => { 1usize }
MirDialect::Runtime => { 2usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
MirDialect::Analysis => {}
MirDialect::Built => {}
MirDialect::Runtime => {}
}
}
}
};Encodable, #[automatically_derived]
impl ::core::cmp::PartialEq for MirDialect {
#[inline]
fn eq(&self, other: &MirDialect) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq)]
317#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for MirDialect {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
MirDialect::Analysis => {}
MirDialect::Built => {}
MirDialect::Runtime => {}
}
}
}
};StableHash, const _: () =
{
#[allow(unused)]
impl PrintAttribute for MirDialect {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Analysis => { __p.word("Analysis") }
Self::Built => { __p.word("Built") }
Self::Runtime => { __p.word("Runtime") }
}
}
}
};PrintAttribute)]
318pub enum MirDialect {
319 Analysis,
320 Built,
321 Runtime,
322}
323
324impl IntoDiagArg for MirDialect {
325 fn into_diag_arg(self, _path: &mut Option<PathBuf>) -> DiagArgValue {
326 let arg = match self {
327 MirDialect::Analysis => "analysis",
328 MirDialect::Built => "built",
329 MirDialect::Runtime => "runtime",
330 };
331 DiagArgValue::Str(Cow::Borrowed(arg))
332 }
333}
334
335#[derive(#[automatically_derived]
impl ::core::clone::Clone for MirPhase {
#[inline]
fn clone(&self) -> MirPhase { *self }
}Clone, #[automatically_derived]
impl ::core::marker::Copy for MirPhase { }Copy, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for MirPhase {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { MirPhase::Initial }
1usize => { MirPhase::PostCleanup }
2usize => { MirPhase::Optimized }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `MirPhase`, expected 0..3, actual {0}",
n));
}
}
}
}
};Decodable, #[automatically_derived]
impl ::core::fmt::Debug for MirPhase {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
MirPhase::Initial => "Initial",
MirPhase::PostCleanup => "PostCleanup",
MirPhase::Optimized => "Optimized",
})
}
}Debug, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for MirPhase {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
MirPhase::Initial => { 0usize }
MirPhase::PostCleanup => { 1usize }
MirPhase::Optimized => { 2usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
MirPhase::Initial => {}
MirPhase::PostCleanup => {}
MirPhase::Optimized => {}
}
}
}
};Encodable, #[automatically_derived]
impl ::core::cmp::PartialEq for MirPhase {
#[inline]
fn eq(&self, other: &MirPhase) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq)]
336#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for MirPhase {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
MirPhase::Initial => {}
MirPhase::PostCleanup => {}
MirPhase::Optimized => {}
}
}
}
};StableHash, const _: () =
{
#[allow(unused)]
impl PrintAttribute for MirPhase {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Initial => { __p.word("Initial") }
Self::PostCleanup => { __p.word("PostCleanup") }
Self::Optimized => { __p.word("Optimized") }
}
}
}
};PrintAttribute)]
337pub enum MirPhase {
338 Initial,
339 PostCleanup,
340 Optimized,
341}
342
343impl IntoDiagArg for MirPhase {
344 fn into_diag_arg(self, _path: &mut Option<PathBuf>) -> DiagArgValue {
345 let arg = match self {
346 MirPhase::Initial => "initial",
347 MirPhase::PostCleanup => "post-cleanup",
348 MirPhase::Optimized => "optimized",
349 };
350 DiagArgValue::Str(Cow::Borrowed(arg))
351 }
352}
353
354#[derive(#[automatically_derived]
impl ::core::marker::Copy for PeImportNameType { }Copy, #[automatically_derived]
impl ::core::clone::Clone for PeImportNameType {
#[inline]
fn clone(&self) -> PeImportNameType {
let _: ::core::clone::AssertParamIsClone<u16>;
*self
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for PeImportNameType {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
PeImportNameType::Ordinal(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"Ordinal", &__self_0),
PeImportNameType::Decorated =>
::core::fmt::Formatter::write_str(f, "Decorated"),
PeImportNameType::NoPrefix =>
::core::fmt::Formatter::write_str(f, "NoPrefix"),
PeImportNameType::Undecorated =>
::core::fmt::Formatter::write_str(f, "Undecorated"),
}
}
}Debug, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for PeImportNameType {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
PeImportNameType::Ordinal(ref __binding_0) => { 0usize }
PeImportNameType::Decorated => { 1usize }
PeImportNameType::NoPrefix => { 2usize }
PeImportNameType::Undecorated => { 3usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
PeImportNameType::Ordinal(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
PeImportNameType::Decorated => {}
PeImportNameType::NoPrefix => {}
PeImportNameType::Undecorated => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for PeImportNameType {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => {
PeImportNameType::Ordinal(::rustc_serialize::Decodable::decode(__decoder))
}
1usize => { PeImportNameType::Decorated }
2usize => { PeImportNameType::NoPrefix }
3usize => { PeImportNameType::Undecorated }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `PeImportNameType`, expected 0..4, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
PeImportNameType {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
PeImportNameType::Ordinal(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
PeImportNameType::Decorated => {}
PeImportNameType::NoPrefix => {}
PeImportNameType::Undecorated => {}
}
}
}
};StableHash, #[automatically_derived]
impl ::core::cmp::PartialEq for PeImportNameType {
#[inline]
fn eq(&self, other: &PeImportNameType) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr &&
match (self, other) {
(PeImportNameType::Ordinal(__self_0),
PeImportNameType::Ordinal(__arg1_0)) =>
__self_0 == __arg1_0,
_ => true,
}
}
}PartialEq, #[automatically_derived]
impl ::core::cmp::Eq for PeImportNameType {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<u16>;
}
}Eq, const _: () =
{
#[allow(unused)]
impl PrintAttribute for PeImportNameType {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Ordinal(f0) => {
__p.word("Ordinal");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Decorated => { __p.word("Decorated") }
Self::NoPrefix => { __p.word("NoPrefix") }
Self::Undecorated => { __p.word("Undecorated") }
}
}
}
};PrintAttribute)]
357pub enum PeImportNameType {
358 Ordinal(u16),
361 Decorated,
364 NoPrefix,
367 Undecorated,
371}
372
373#[derive(
374 #[automatically_derived]
impl ::core::marker::Copy for NativeLibKind { }Copy,
375 #[automatically_derived]
impl ::core::clone::Clone for NativeLibKind {
#[inline]
fn clone(&self) -> NativeLibKind {
let _: ::core::clone::AssertParamIsClone<Option<bool>>;
let _: ::core::clone::AssertParamIsClone<Option<bool>>;
let _: ::core::clone::AssertParamIsClone<Option<bool>>;
let _: ::core::clone::AssertParamIsClone<Option<bool>>;
let _: ::core::clone::AssertParamIsClone<Option<bool>>;
let _: ::core::clone::AssertParamIsClone<Option<bool>>;
*self
}
}Clone,
376 #[automatically_derived]
impl ::core::fmt::Debug for NativeLibKind {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
NativeLibKind::Static {
bundle: __self_0,
whole_archive: __self_1,
export_symbols: __self_2 } =>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"Static", "bundle", __self_0, "whole_archive", __self_1,
"export_symbols", &__self_2),
NativeLibKind::Dylib { as_needed: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f, "Dylib",
"as_needed", &__self_0),
NativeLibKind::RawDylib { as_needed: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"RawDylib", "as_needed", &__self_0),
NativeLibKind::Framework { as_needed: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"Framework", "as_needed", &__self_0),
NativeLibKind::LinkArg =>
::core::fmt::Formatter::write_str(f, "LinkArg"),
NativeLibKind::WasmImportModule =>
::core::fmt::Formatter::write_str(f, "WasmImportModule"),
NativeLibKind::Unspecified =>
::core::fmt::Formatter::write_str(f, "Unspecified"),
}
}
}Debug,
377 #[automatically_derived]
impl ::core::cmp::PartialEq for NativeLibKind {
#[inline]
fn eq(&self, other: &NativeLibKind) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr &&
match (self, other) {
(NativeLibKind::Static {
bundle: __self_0,
whole_archive: __self_1,
export_symbols: __self_2 }, NativeLibKind::Static {
bundle: __arg1_0,
whole_archive: __arg1_1,
export_symbols: __arg1_2 }) =>
__self_0 == __arg1_0 && __self_1 == __arg1_1 &&
__self_2 == __arg1_2,
(NativeLibKind::Dylib { as_needed: __self_0 },
NativeLibKind::Dylib { as_needed: __arg1_0 }) =>
__self_0 == __arg1_0,
(NativeLibKind::RawDylib { as_needed: __self_0 },
NativeLibKind::RawDylib { as_needed: __arg1_0 }) =>
__self_0 == __arg1_0,
(NativeLibKind::Framework { as_needed: __self_0 },
NativeLibKind::Framework { as_needed: __arg1_0 }) =>
__self_0 == __arg1_0,
_ => true,
}
}
}PartialEq,
378 #[automatically_derived]
impl ::core::cmp::Eq for NativeLibKind {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<Option<bool>>;
let _: ::core::cmp::AssertParamIsEq<Option<bool>>;
let _: ::core::cmp::AssertParamIsEq<Option<bool>>;
let _: ::core::cmp::AssertParamIsEq<Option<bool>>;
let _: ::core::cmp::AssertParamIsEq<Option<bool>>;
let _: ::core::cmp::AssertParamIsEq<Option<bool>>;
}
}Eq,
379 #[automatically_derived]
impl ::core::cmp::PartialOrd for NativeLibKind {
#[inline]
fn partial_cmp(&self, other: &NativeLibKind)
-> ::core::option::Option<::core::cmp::Ordering> {
::core::option::Option::Some(::core::cmp::Ord::cmp(self, other))
}
}PartialOrd,
380 #[automatically_derived]
impl ::core::cmp::Ord for NativeLibKind {
#[inline]
fn cmp(&self, other: &NativeLibKind) -> ::core::cmp::Ordering {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
match ::core::cmp::Ord::cmp(&__self_discr, &__arg1_discr) {
::core::cmp::Ordering::Equal =>
match (self, other) {
(NativeLibKind::Static {
bundle: __self_0,
whole_archive: __self_1,
export_symbols: __self_2 }, NativeLibKind::Static {
bundle: __arg1_0,
whole_archive: __arg1_1,
export_symbols: __arg1_2 }) =>
match ::core::cmp::Ord::cmp(__self_0, __arg1_0) {
::core::cmp::Ordering::Equal =>
match ::core::cmp::Ord::cmp(__self_1, __arg1_1) {
::core::cmp::Ordering::Equal =>
::core::cmp::Ord::cmp(__self_2, __arg1_2),
cmp => cmp,
},
cmp => cmp,
},
(NativeLibKind::Dylib { as_needed: __self_0 },
NativeLibKind::Dylib { as_needed: __arg1_0 }) =>
::core::cmp::Ord::cmp(__self_0, __arg1_0),
(NativeLibKind::RawDylib { as_needed: __self_0 },
NativeLibKind::RawDylib { as_needed: __arg1_0 }) =>
::core::cmp::Ord::cmp(__self_0, __arg1_0),
(NativeLibKind::Framework { as_needed: __self_0 },
NativeLibKind::Framework { as_needed: __arg1_0 }) =>
::core::cmp::Ord::cmp(__self_0, __arg1_0),
_ => ::core::cmp::Ordering::Equal,
},
cmp => cmp,
}
}
}Ord,
381 #[automatically_derived]
impl ::core::hash::Hash for NativeLibKind {
#[inline]
fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) {
let __self_discr = ::core::intrinsics::discriminant_value(self);
::core::hash::Hash::hash(&__self_discr, state);
match self {
NativeLibKind::Static {
bundle: __self_0,
whole_archive: __self_1,
export_symbols: __self_2 } => {
::core::hash::Hash::hash(__self_0, state);
::core::hash::Hash::hash(__self_1, state);
::core::hash::Hash::hash(__self_2, state)
}
NativeLibKind::Dylib { as_needed: __self_0 } =>
::core::hash::Hash::hash(__self_0, state),
NativeLibKind::RawDylib { as_needed: __self_0 } =>
::core::hash::Hash::hash(__self_0, state),
NativeLibKind::Framework { as_needed: __self_0 } =>
::core::hash::Hash::hash(__self_0, state),
_ => {}
}
}
}Hash,
382 const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for NativeLibKind {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
NativeLibKind::Static {
bundle: ref __binding_0,
whole_archive: ref __binding_1,
export_symbols: ref __binding_2 } => {
0usize
}
NativeLibKind::Dylib { as_needed: ref __binding_0 } => {
1usize
}
NativeLibKind::RawDylib { as_needed: ref __binding_0 } => {
2usize
}
NativeLibKind::Framework { as_needed: ref __binding_0 } => {
3usize
}
NativeLibKind::LinkArg => { 4usize }
NativeLibKind::WasmImportModule => { 5usize }
NativeLibKind::Unspecified => { 6usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
NativeLibKind::Static {
bundle: ref __binding_0,
whole_archive: ref __binding_1,
export_symbols: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
NativeLibKind::Dylib { as_needed: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
NativeLibKind::RawDylib { as_needed: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
NativeLibKind::Framework { as_needed: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
NativeLibKind::LinkArg => {}
NativeLibKind::WasmImportModule => {}
NativeLibKind::Unspecified => {}
}
}
}
};Encodable,
383 const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for NativeLibKind {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => {
NativeLibKind::Static {
bundle: ::rustc_serialize::Decodable::decode(__decoder),
whole_archive: ::rustc_serialize::Decodable::decode(__decoder),
export_symbols: ::rustc_serialize::Decodable::decode(__decoder),
}
}
1usize => {
NativeLibKind::Dylib {
as_needed: ::rustc_serialize::Decodable::decode(__decoder),
}
}
2usize => {
NativeLibKind::RawDylib {
as_needed: ::rustc_serialize::Decodable::decode(__decoder),
}
}
3usize => {
NativeLibKind::Framework {
as_needed: ::rustc_serialize::Decodable::decode(__decoder),
}
}
4usize => { NativeLibKind::LinkArg }
5usize => { NativeLibKind::WasmImportModule }
6usize => { NativeLibKind::Unspecified }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `NativeLibKind`, expected 0..7, actual {0}",
n));
}
}
}
}
};Decodable,
384 const _: () =
{
#[allow(unused)]
impl PrintAttribute for NativeLibKind {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Static { bundle, whole_archive, export_symbols } => {
__p.word("Static");
if true && !bundle.should_render() &&
!whole_archive.should_render() &&
!export_symbols.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if bundle.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("bundle");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
bundle.print_attribute(__p);
if whole_archive.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("whole_archive");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
whole_archive.print_attribute(__p);
if export_symbols.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("export_symbols");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
export_symbols.print_attribute(__p);
__p.word("}");
}
Self::Dylib { as_needed } => {
__p.word("Dylib");
if true && !as_needed.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if as_needed.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("as_needed");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
as_needed.print_attribute(__p);
__p.word("}");
}
Self::RawDylib { as_needed } => {
__p.word("RawDylib");
if true && !as_needed.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if as_needed.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("as_needed");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
as_needed.print_attribute(__p);
__p.word("}");
}
Self::Framework { as_needed } => {
__p.word("Framework");
if true && !as_needed.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if as_needed.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("as_needed");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
as_needed.print_attribute(__p);
__p.word("}");
}
Self::LinkArg => { __p.word("LinkArg") }
Self::WasmImportModule => { __p.word("WasmImportModule") }
Self::Unspecified => { __p.word("Unspecified") }
}
}
}
};PrintAttribute
385)]
386#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
NativeLibKind {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
NativeLibKind::Static {
bundle: ref __binding_0,
whole_archive: ref __binding_1,
export_symbols: ref __binding_2 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
}
NativeLibKind::Dylib { as_needed: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
NativeLibKind::RawDylib { as_needed: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
NativeLibKind::Framework { as_needed: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
NativeLibKind::LinkArg => {}
NativeLibKind::WasmImportModule => {}
NativeLibKind::Unspecified => {}
}
}
}
};StableHash)]
387pub enum NativeLibKind {
388 Static {
390 bundle: Option<bool>,
392 whole_archive: Option<bool>,
394 export_symbols: Option<bool>,
396 },
397 Dylib {
400 as_needed: Option<bool>,
402 },
403 RawDylib {
406 as_needed: Option<bool>,
408 },
409 Framework {
411 as_needed: Option<bool>,
413 },
414 LinkArg,
417
418 WasmImportModule,
420
421 Unspecified,
423}
424
425impl NativeLibKind {
426 pub fn has_modifiers(&self) -> bool {
427 match self {
428 NativeLibKind::Static { bundle, whole_archive, export_symbols } => {
429 bundle.is_some() || whole_archive.is_some() || export_symbols.is_some()
430 }
431 NativeLibKind::Dylib { as_needed }
432 | NativeLibKind::Framework { as_needed }
433 | NativeLibKind::RawDylib { as_needed } => as_needed.is_some(),
434 NativeLibKind::Unspecified
435 | NativeLibKind::LinkArg
436 | NativeLibKind::WasmImportModule => false,
437 }
438 }
439
440 pub fn is_statically_included(&self) -> bool {
441 #[allow(non_exhaustive_omitted_patterns)] match self {
NativeLibKind::Static { .. } => true,
_ => false,
}matches!(self, NativeLibKind::Static { .. })
442 }
443
444 pub fn is_dllimport(&self) -> bool {
445 #[allow(non_exhaustive_omitted_patterns)] match self {
NativeLibKind::Dylib { .. } | NativeLibKind::RawDylib { .. } |
NativeLibKind::Unspecified => true,
_ => false,
}matches!(
446 self,
447 NativeLibKind::Dylib { .. }
448 | NativeLibKind::RawDylib { .. }
449 | NativeLibKind::Unspecified
450 )
451 }
452}
453
454#[derive(#[automatically_derived]
impl ::core::fmt::Debug for LinkEntry {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
let names: &'static _ =
&["span", "kind", "name", "cfg", "verbatim", "import_name_type"];
let values: &[&dyn ::core::fmt::Debug] =
&[&self.span, &self.kind, &self.name, &self.cfg, &self.verbatim,
&&self.import_name_type];
::core::fmt::Formatter::debug_struct_fields_finish(f, "LinkEntry",
names, values)
}
}Debug, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for LinkEntry {
fn encode(&self, __encoder: &mut __E) {
match *self {
LinkEntry {
span: ref __binding_0,
kind: ref __binding_1,
name: ref __binding_2,
cfg: ref __binding_3,
verbatim: ref __binding_4,
import_name_type: ref __binding_5 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_3,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_4,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_5,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for LinkEntry {
fn decode(__decoder: &mut __D) -> Self {
LinkEntry {
span: ::rustc_serialize::Decodable::decode(__decoder),
kind: ::rustc_serialize::Decodable::decode(__decoder),
name: ::rustc_serialize::Decodable::decode(__decoder),
cfg: ::rustc_serialize::Decodable::decode(__decoder),
verbatim: ::rustc_serialize::Decodable::decode(__decoder),
import_name_type: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, #[automatically_derived]
impl ::core::clone::Clone for LinkEntry {
#[inline]
fn clone(&self) -> LinkEntry {
LinkEntry {
span: ::core::clone::Clone::clone(&self.span),
kind: ::core::clone::Clone::clone(&self.kind),
name: ::core::clone::Clone::clone(&self.name),
cfg: ::core::clone::Clone::clone(&self.cfg),
verbatim: ::core::clone::Clone::clone(&self.verbatim),
import_name_type: ::core::clone::Clone::clone(&self.import_name_type),
}
}
}Clone, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for LinkEntry {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
match *self {
LinkEntry {
span: ref __binding_0,
kind: ref __binding_1,
name: ref __binding_2,
cfg: ref __binding_3,
verbatim: ref __binding_4,
import_name_type: ref __binding_5 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
{ __binding_3.stable_hash(__hcx, __hasher); }
{ __binding_4.stable_hash(__hcx, __hasher); }
{ __binding_5.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
#[allow(unused)]
impl PrintAttribute for LinkEntry {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
let Self { span, kind, name, cfg, verbatim, import_name_type
} = self;
__p.word("LinkEntry");
if true && !span.should_render() && !kind.should_render() &&
!name.should_render() && !cfg.should_render() &&
!verbatim.should_render() &&
!import_name_type.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
if kind.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("kind");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
kind.print_attribute(__p);
if name.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("name");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
name.print_attribute(__p);
if cfg.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("cfg");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
cfg.print_attribute(__p);
if verbatim.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("verbatim");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
verbatim.print_attribute(__p);
if import_name_type.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("import_name_type");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
import_name_type.print_attribute(__p);
__p.word("}");
}
}
};PrintAttribute)]
455pub struct LinkEntry {
456 pub span: Span,
457 pub kind: NativeLibKind,
458 pub name: Symbol,
459 pub cfg: Option<CfgEntry>,
460 pub verbatim: Option<bool>,
461 pub import_name_type: Option<(PeImportNameType, Span)>,
462}
463
464#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
DebuggerVisualizerType {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
DebuggerVisualizerType::Natvis => {}
DebuggerVisualizerType::GdbPrettyPrinter => {}
}
}
}
};StableHash, const _: () =
{
#[allow(unused)]
impl PrintAttribute for DebuggerVisualizerType {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Natvis => { __p.word("Natvis") }
Self::GdbPrettyPrinter => { __p.word("GdbPrettyPrinter") }
}
}
}
};PrintAttribute)]
465#[derive(#[automatically_derived]
impl ::core::marker::Copy for DebuggerVisualizerType { }Copy, #[automatically_derived]
impl ::core::cmp::PartialEq for DebuggerVisualizerType {
#[inline]
fn eq(&self, other: &DebuggerVisualizerType) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, #[automatically_derived]
impl ::core::cmp::PartialOrd for DebuggerVisualizerType {
#[inline]
fn partial_cmp(&self, other: &DebuggerVisualizerType)
-> ::core::option::Option<::core::cmp::Ordering> {
::core::option::Option::Some(::core::cmp::Ord::cmp(self, other))
}
}PartialOrd, #[automatically_derived]
impl ::core::clone::Clone for DebuggerVisualizerType {
#[inline]
fn clone(&self) -> DebuggerVisualizerType { *self }
}Clone, #[automatically_derived]
impl ::core::cmp::Ord for DebuggerVisualizerType {
#[inline]
fn cmp(&self, other: &DebuggerVisualizerType) -> ::core::cmp::Ordering {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
::core::cmp::Ord::cmp(&__self_discr, &__arg1_discr)
}
}Ord, #[automatically_derived]
impl ::core::cmp::Eq for DebuggerVisualizerType {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {}
}Eq, #[automatically_derived]
impl ::core::hash::Hash for DebuggerVisualizerType {
#[inline]
fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) {
let __self_discr = ::core::intrinsics::discriminant_value(self);
::core::hash::Hash::hash(&__self_discr, state)
}
}Hash, #[automatically_derived]
impl ::core::fmt::Debug for DebuggerVisualizerType {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
DebuggerVisualizerType::Natvis => "Natvis",
DebuggerVisualizerType::GdbPrettyPrinter =>
"GdbPrettyPrinter",
})
}
}Debug, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for DebuggerVisualizerType {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
DebuggerVisualizerType::Natvis => { 0usize }
DebuggerVisualizerType::GdbPrettyPrinter => { 1usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
DebuggerVisualizerType::Natvis => {}
DebuggerVisualizerType::GdbPrettyPrinter => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for DebuggerVisualizerType {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { DebuggerVisualizerType::Natvis }
1usize => { DebuggerVisualizerType::GdbPrettyPrinter }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `DebuggerVisualizerType`, expected 0..2, actual {0}",
n));
}
}
}
}
};Decodable)]
466pub enum DebuggerVisualizerType {
467 Natvis,
468 GdbPrettyPrinter,
469}
470
471#[derive(#[automatically_derived]
impl ::core::fmt::Debug for DebugVisualizer {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field3_finish(f,
"DebugVisualizer", "span", &self.span, "visualizer_type",
&self.visualizer_type, "path", &&self.path)
}
}Debug, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for DebugVisualizer {
fn encode(&self, __encoder: &mut __E) {
match *self {
DebugVisualizer {
span: ref __binding_0,
visualizer_type: ref __binding_1,
path: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for DebugVisualizer {
fn decode(__decoder: &mut __D) -> Self {
DebugVisualizer {
span: ::rustc_serialize::Decodable::decode(__decoder),
visualizer_type: ::rustc_serialize::Decodable::decode(__decoder),
path: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, #[automatically_derived]
impl ::core::clone::Clone for DebugVisualizer {
#[inline]
fn clone(&self) -> DebugVisualizer {
DebugVisualizer {
span: ::core::clone::Clone::clone(&self.span),
visualizer_type: ::core::clone::Clone::clone(&self.visualizer_type),
path: ::core::clone::Clone::clone(&self.path),
}
}
}Clone, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
DebugVisualizer {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
match *self {
DebugVisualizer {
span: ref __binding_0,
visualizer_type: ref __binding_1,
path: ref __binding_2 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
#[allow(unused)]
impl PrintAttribute for DebugVisualizer {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
let Self { span, visualizer_type, path } = self;
__p.word("DebugVisualizer");
if true && !span.should_render() &&
!visualizer_type.should_render() && !path.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
if visualizer_type.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("visualizer_type");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
visualizer_type.print_attribute(__p);
if path.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("path");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
path.print_attribute(__p);
__p.word("}");
}
}
};PrintAttribute)]
472pub struct DebugVisualizer {
473 pub span: Span,
474 pub visualizer_type: DebuggerVisualizerType,
475 pub path: Symbol,
476}
477
478#[derive(#[automatically_derived]
impl ::core::clone::Clone for RtsanSetting {
#[inline]
fn clone(&self) -> RtsanSetting { *self }
}Clone, #[automatically_derived]
impl ::core::marker::Copy for RtsanSetting { }Copy, #[automatically_derived]
impl ::core::fmt::Debug for RtsanSetting {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
RtsanSetting::Nonblocking => "Nonblocking",
RtsanSetting::Blocking => "Blocking",
RtsanSetting::Caller => "Caller",
})
}
}Debug, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for RtsanSetting {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { RtsanSetting::Nonblocking }
1usize => { RtsanSetting::Blocking }
2usize => { RtsanSetting::Caller }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `RtsanSetting`, expected 0..3, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for RtsanSetting {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
RtsanSetting::Nonblocking => { 0usize }
RtsanSetting::Blocking => { 1usize }
RtsanSetting::Caller => { 2usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
RtsanSetting::Nonblocking => {}
RtsanSetting::Blocking => {}
RtsanSetting::Caller => {}
}
}
}
};Encodable, #[automatically_derived]
impl ::core::cmp::Eq for RtsanSetting {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {}
}Eq, #[automatically_derived]
impl ::core::cmp::PartialEq for RtsanSetting {
#[inline]
fn eq(&self, other: &RtsanSetting) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq)]
479#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for RtsanSetting
{
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
RtsanSetting::Nonblocking => {}
RtsanSetting::Blocking => {}
RtsanSetting::Caller => {}
}
}
}
};StableHash, const _: () =
{
#[allow(unused)]
impl PrintAttribute for RtsanSetting {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Nonblocking => { __p.word("Nonblocking") }
Self::Blocking => { __p.word("Blocking") }
Self::Caller => { __p.word("Caller") }
}
}
}
};PrintAttribute)]
480#[derive_const(#[automatically_derived]
impl const ::core::default::Default for RtsanSetting {
#[inline]
fn default() -> RtsanSetting { Self::Caller }
}Default)]
481pub enum RtsanSetting {
482 Nonblocking,
483 Blocking,
484 #[default]
485 Caller,
486}
487
488#[derive(#[automatically_derived]
impl ::core::cmp::Eq for WindowsSubsystemKind {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {}
}Eq, #[automatically_derived]
impl ::core::cmp::PartialEq for WindowsSubsystemKind {
#[inline]
fn eq(&self, other: &WindowsSubsystemKind) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, #[automatically_derived]
impl ::core::fmt::Debug for WindowsSubsystemKind {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
WindowsSubsystemKind::Console => "Console",
WindowsSubsystemKind::Windows => "Windows",
})
}
}Debug, #[automatically_derived]
impl ::core::marker::Copy for WindowsSubsystemKind { }Copy, #[automatically_derived]
impl ::core::clone::Clone for WindowsSubsystemKind {
#[inline]
fn clone(&self) -> WindowsSubsystemKind { *self }
}Clone)]
489#[derive(const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for WindowsSubsystemKind {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
WindowsSubsystemKind::Console => { 0usize }
WindowsSubsystemKind::Windows => { 1usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
WindowsSubsystemKind::Console => {}
WindowsSubsystemKind::Windows => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for WindowsSubsystemKind {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { WindowsSubsystemKind::Console }
1usize => { WindowsSubsystemKind::Windows }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `WindowsSubsystemKind`, expected 0..2, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
WindowsSubsystemKind {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
WindowsSubsystemKind::Console => {}
WindowsSubsystemKind::Windows => {}
}
}
}
};StableHash, const _: () =
{
#[allow(unused)]
impl PrintAttribute for WindowsSubsystemKind {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Console => { __p.word("Console") }
Self::Windows => { __p.word("Windows") }
}
}
}
};PrintAttribute)]
490pub enum WindowsSubsystemKind {
491 Console,
492 Windows,
493}
494
495impl WindowsSubsystemKind {
496 pub fn as_str(&self) -> &'static str {
497 match self {
498 WindowsSubsystemKind::Console => "console",
499 WindowsSubsystemKind::Windows => "windows",
500 }
501 }
502}
503
504#[derive(#[automatically_derived]
impl ::core::marker::Copy for DocInline { }Copy, #[automatically_derived]
impl ::core::clone::Clone for DocInline {
#[inline]
fn clone(&self) -> DocInline { *self }
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for DocInline {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
DocInline::Inline => "Inline",
DocInline::NoInline => "NoInline",
})
}
}Debug, #[automatically_derived]
impl ::core::cmp::PartialEq for DocInline {
#[inline]
fn eq(&self, other: &DocInline) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq)]
505#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for DocInline {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
DocInline::Inline => {}
DocInline::NoInline => {}
}
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for DocInline {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
DocInline::Inline => { 0usize }
DocInline::NoInline => { 1usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
DocInline::Inline => {}
DocInline::NoInline => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for DocInline {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { DocInline::Inline }
1usize => { DocInline::NoInline }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `DocInline`, expected 0..2, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for DocInline {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Inline => { __p.word("Inline") }
Self::NoInline => { __p.word("NoInline") }
}
}
}
};PrintAttribute)]
506pub enum DocInline {
507 Inline,
508 NoInline,
509}
510
511#[derive(#[automatically_derived]
impl ::core::marker::Copy for HideOrShow { }Copy, #[automatically_derived]
impl ::core::clone::Clone for HideOrShow {
#[inline]
fn clone(&self) -> HideOrShow { *self }
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for HideOrShow {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
HideOrShow::Hide => "Hide",
HideOrShow::Show => "Show",
})
}
}Debug, #[automatically_derived]
impl ::core::cmp::PartialEq for HideOrShow {
#[inline]
fn eq(&self, other: &HideOrShow) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq)]
512#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for HideOrShow {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self { HideOrShow::Hide => {} HideOrShow::Show => {} }
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for HideOrShow {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
HideOrShow::Hide => { 0usize }
HideOrShow::Show => { 1usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self { HideOrShow::Hide => {} HideOrShow::Show => {} }
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for HideOrShow {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { HideOrShow::Hide }
1usize => { HideOrShow::Show }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `HideOrShow`, expected 0..2, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for HideOrShow {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Hide => { __p.word("Hide") }
Self::Show => { __p.word("Show") }
}
}
}
};PrintAttribute)]
513pub enum HideOrShow {
514 Hide,
515 Show,
516}
517
518#[derive(#[automatically_derived]
impl ::core::clone::Clone for CfgInfo {
#[inline]
fn clone(&self) -> CfgInfo {
CfgInfo {
name: ::core::clone::Clone::clone(&self.name),
name_span: ::core::clone::Clone::clone(&self.name_span),
value: ::core::clone::Clone::clone(&self.value),
}
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for CfgInfo {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field3_finish(f, "CfgInfo",
"name", &self.name, "name_span", &self.name_span, "value",
&&self.value)
}
}Debug, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for CfgInfo {
#[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 {
CfgInfo {
name: ref __binding_0,
name_span: ref __binding_1,
value: 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 CfgInfo {
fn encode(&self, __encoder: &mut __E) {
match *self {
CfgInfo {
name: ref __binding_0,
name_span: ref __binding_1,
value: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for CfgInfo {
fn decode(__decoder: &mut __D) -> Self {
CfgInfo {
name: ::rustc_serialize::Decodable::decode(__decoder),
name_span: ::rustc_serialize::Decodable::decode(__decoder),
value: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for CfgInfo {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
let Self { name, name_span, value } = self;
__p.word("CfgInfo");
if true && !name.should_render() && !name_span.should_render()
&& !value.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if name.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("name");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
name.print_attribute(__p);
if name_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("name_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
name_span.print_attribute(__p);
if value.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("value");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
value.print_attribute(__p);
__p.word("}");
}
}
};PrintAttribute)]
519pub struct CfgInfo {
520 pub name: Symbol,
521 pub name_span: Span,
522 pub value: Option<(Symbol, Span)>,
523}
524
525impl CfgInfo {
526 pub fn span_for_name_and_value(&self) -> Span {
527 if let Some((_, value_span)) = self.value {
528 self.name_span.with_hi(value_span.hi())
529 } else {
530 self.name_span
531 }
532 }
533}
534
535#[derive(#[automatically_derived]
impl ::core::clone::Clone for CfgHideShow {
#[inline]
fn clone(&self) -> CfgHideShow {
CfgHideShow {
kind: ::core::clone::Clone::clone(&self.kind),
values: ::core::clone::Clone::clone(&self.values),
}
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for CfgHideShow {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field2_finish(f, "CfgHideShow",
"kind", &self.kind, "values", &&self.values)
}
}Debug, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for CfgHideShow
{
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
match *self {
CfgHideShow { kind: ref __binding_0, values: ref __binding_1
} => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for CfgHideShow {
fn encode(&self, __encoder: &mut __E) {
match *self {
CfgHideShow { kind: ref __binding_0, values: ref __binding_1
} => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for CfgHideShow {
fn decode(__decoder: &mut __D) -> Self {
CfgHideShow {
kind: ::rustc_serialize::Decodable::decode(__decoder),
values: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for CfgHideShow {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
let Self { kind, values } = self;
__p.word("CfgHideShow");
if true && !kind.should_render() && !values.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if kind.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("kind");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
kind.print_attribute(__p);
if values.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("values");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
values.print_attribute(__p);
__p.word("}");
}
}
};PrintAttribute)]
536pub struct CfgHideShow {
537 pub kind: HideOrShow,
538 pub values: ThinVec<CfgInfo>,
539}
540
541#[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)]
542pub struct DocAttribute {
543 pub first_span: Span,
544
545 pub aliases: FxIndexMap<Symbol, Span>,
546 pub hidden: Option<Span>,
547 pub inline: ThinVec<(DocInline, Span)>,
550
551 pub cfg: ThinVec<CfgEntry>,
553 pub auto_cfg: ThinVec<(CfgHideShow, Span)>,
554 pub auto_cfg_change: ThinVec<(bool, Span)>,
556
557 pub fake_variadic: Option<Span>,
559 pub keyword: Option<(Symbol, Span)>,
560 pub attribute: Option<(Symbol, Span)>,
561 pub masked: Option<Span>,
562 pub notable_trait: Option<Span>,
563 pub search_unbox: Option<Span>,
564
565 pub html_favicon_url: Option<(Symbol, Span)>,
567 pub html_logo_url: Option<(Symbol, Span)>,
568 pub html_playground_url: Option<(Symbol, Span)>,
569 pub html_root_url: Option<(Symbol, Span)>,
570 pub html_no_source: Option<Span>,
571 pub issue_tracker_base_url: Option<(Symbol, Span)>,
572 pub rust_logo: Option<Span>,
573
574 pub test_attrs: ThinVec<Span>,
576 pub no_crate_inject: Option<Span>,
577}
578
579impl<E: rustc_span::SpanEncoder> rustc_serialize::Encodable<E> for DocAttribute {
580 fn encode(&self, encoder: &mut E) {
581 let DocAttribute {
582 first_span,
583 aliases,
584 hidden,
585 inline,
586 cfg,
587 auto_cfg,
588 auto_cfg_change,
589 fake_variadic,
590 keyword,
591 attribute,
592 masked,
593 notable_trait,
594 search_unbox,
595 html_favicon_url,
596 html_logo_url,
597 html_playground_url,
598 html_root_url,
599 html_no_source,
600 issue_tracker_base_url,
601 rust_logo,
602 test_attrs,
603 no_crate_inject,
604 } = self;
605 rustc_serialize::Encodable::<E>::encode(first_span, encoder);
606 rustc_serialize::Encodable::<E>::encode(aliases, encoder);
607 rustc_serialize::Encodable::<E>::encode(hidden, encoder);
608
609 let inline: ThinVec<_> =
613 inline.iter().filter(|(i, _)| *i != DocInline::Inline).cloned().collect();
614 rustc_serialize::Encodable::<E>::encode(&inline, encoder);
615
616 rustc_serialize::Encodable::<E>::encode(cfg, encoder);
617 rustc_serialize::Encodable::<E>::encode(auto_cfg, encoder);
618 rustc_serialize::Encodable::<E>::encode(auto_cfg_change, encoder);
619 rustc_serialize::Encodable::<E>::encode(fake_variadic, encoder);
620 rustc_serialize::Encodable::<E>::encode(keyword, encoder);
621 rustc_serialize::Encodable::<E>::encode(attribute, encoder);
622 rustc_serialize::Encodable::<E>::encode(masked, encoder);
623 rustc_serialize::Encodable::<E>::encode(notable_trait, encoder);
624 rustc_serialize::Encodable::<E>::encode(search_unbox, encoder);
625 rustc_serialize::Encodable::<E>::encode(html_favicon_url, encoder);
626 rustc_serialize::Encodable::<E>::encode(html_logo_url, encoder);
627 rustc_serialize::Encodable::<E>::encode(html_playground_url, encoder);
628 rustc_serialize::Encodable::<E>::encode(html_root_url, encoder);
629 rustc_serialize::Encodable::<E>::encode(html_no_source, encoder);
630 rustc_serialize::Encodable::<E>::encode(issue_tracker_base_url, encoder);
631 rustc_serialize::Encodable::<E>::encode(rust_logo, encoder);
632 rustc_serialize::Encodable::<E>::encode(test_attrs, encoder);
633 rustc_serialize::Encodable::<E>::encode(no_crate_inject, encoder);
634 }
635}
636
637#[derive(#[automatically_derived]
impl ::core::marker::Copy for CollapseMacroDebuginfo { }Copy, #[automatically_derived]
impl ::core::clone::Clone for CollapseMacroDebuginfo {
#[inline]
fn clone(&self) -> CollapseMacroDebuginfo { *self }
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for CollapseMacroDebuginfo {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
CollapseMacroDebuginfo::No => "No",
CollapseMacroDebuginfo::Unspecified => "Unspecified",
CollapseMacroDebuginfo::External => "External",
CollapseMacroDebuginfo::Yes => "Yes",
})
}
}Debug, #[automatically_derived]
impl ::core::hash::Hash for CollapseMacroDebuginfo {
#[inline]
fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) {
let __self_discr = ::core::intrinsics::discriminant_value(self);
::core::hash::Hash::hash(&__self_discr, state)
}
}Hash, #[automatically_derived]
impl ::core::cmp::PartialEq for CollapseMacroDebuginfo {
#[inline]
fn eq(&self, other: &CollapseMacroDebuginfo) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq)]
645#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
CollapseMacroDebuginfo {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
CollapseMacroDebuginfo::No => {}
CollapseMacroDebuginfo::Unspecified => {}
CollapseMacroDebuginfo::External => {}
CollapseMacroDebuginfo::Yes => {}
}
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for CollapseMacroDebuginfo {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
CollapseMacroDebuginfo::No => { 0usize }
CollapseMacroDebuginfo::Unspecified => { 1usize }
CollapseMacroDebuginfo::External => { 2usize }
CollapseMacroDebuginfo::Yes => { 3usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
CollapseMacroDebuginfo::No => {}
CollapseMacroDebuginfo::Unspecified => {}
CollapseMacroDebuginfo::External => {}
CollapseMacroDebuginfo::Yes => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for CollapseMacroDebuginfo {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { CollapseMacroDebuginfo::No }
1usize => { CollapseMacroDebuginfo::Unspecified }
2usize => { CollapseMacroDebuginfo::External }
3usize => { CollapseMacroDebuginfo::Yes }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `CollapseMacroDebuginfo`, expected 0..4, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for CollapseMacroDebuginfo {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::No => { __p.word("No") }
Self::Unspecified => { __p.word("Unspecified") }
Self::External => { __p.word("External") }
Self::Yes => { __p.word("Yes") }
}
}
}
};PrintAttribute)]
646pub enum CollapseMacroDebuginfo {
647 No = 0,
649 Unspecified = 1,
651 External = 2,
653 Yes = 3,
655}
656
657#[derive(#[automatically_derived]
impl ::core::marker::Copy for CrateType { }Copy, #[automatically_derived]
impl ::core::clone::Clone for CrateType {
#[inline]
fn clone(&self) -> CrateType { *self }
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for CrateType {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
CrateType::Executable => "Executable",
CrateType::Dylib => "Dylib",
CrateType::Rlib => "Rlib",
CrateType::StaticLib => "StaticLib",
CrateType::Cdylib => "Cdylib",
CrateType::ProcMacro => "ProcMacro",
CrateType::Sdylib => "Sdylib",
})
}
}Debug, #[automatically_derived]
impl ::core::hash::Hash for CrateType {
#[inline]
fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) {
let __self_discr = ::core::intrinsics::discriminant_value(self);
::core::hash::Hash::hash(&__self_discr, state)
}
}Hash, #[automatically_derived]
impl ::core::cmp::PartialEq for CrateType {
#[inline]
fn eq(&self, other: &CrateType) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, #[automatically_derived]
impl ::core::default::Default for CrateType {
#[inline]
fn default() -> CrateType { Self::Rlib }
}Default, #[automatically_derived]
impl ::core::cmp::PartialOrd for CrateType {
#[inline]
fn partial_cmp(&self, other: &CrateType)
-> ::core::option::Option<::core::cmp::Ordering> {
::core::option::Option::Some(::core::cmp::Ord::cmp(self, other))
}
}PartialOrd, #[automatically_derived]
impl ::core::cmp::Eq for CrateType {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {}
}Eq, #[automatically_derived]
impl ::core::cmp::Ord for CrateType {
#[inline]
fn cmp(&self, other: &CrateType) -> ::core::cmp::Ordering {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
::core::cmp::Ord::cmp(&__self_discr, &__arg1_discr)
}
}Ord)]
659#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for CrateType {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
CrateType::Executable => {}
CrateType::Dylib => {}
CrateType::Rlib => {}
CrateType::StaticLib => {}
CrateType::Cdylib => {}
CrateType::ProcMacro => {}
CrateType::Sdylib => {}
}
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for CrateType {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
CrateType::Executable => { 0usize }
CrateType::Dylib => { 1usize }
CrateType::Rlib => { 2usize }
CrateType::StaticLib => { 3usize }
CrateType::Cdylib => { 4usize }
CrateType::ProcMacro => { 5usize }
CrateType::Sdylib => { 6usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
CrateType::Executable => {}
CrateType::Dylib => {}
CrateType::Rlib => {}
CrateType::StaticLib => {}
CrateType::Cdylib => {}
CrateType::ProcMacro => {}
CrateType::Sdylib => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for CrateType {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { CrateType::Executable }
1usize => { CrateType::Dylib }
2usize => { CrateType::Rlib }
3usize => { CrateType::StaticLib }
4usize => { CrateType::Cdylib }
5usize => { CrateType::ProcMacro }
6usize => { CrateType::Sdylib }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `CrateType`, expected 0..7, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for CrateType {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Executable => { __p.word("Executable") }
Self::Dylib => { __p.word("Dylib") }
Self::Rlib => { __p.word("Rlib") }
Self::StaticLib => { __p.word("StaticLib") }
Self::Cdylib => { __p.word("Cdylib") }
Self::ProcMacro => { __p.word("ProcMacro") }
Self::Sdylib => { __p.word("Sdylib") }
}
}
}
};PrintAttribute)]
660pub enum CrateType {
661 Executable,
663 Dylib,
665 #[default]
667 Rlib,
668 StaticLib,
670 Cdylib,
672 ProcMacro,
674 Sdylib,
677}
678
679impl CrateType {
680 pub fn all() -> &'static [(Symbol, Self)] {
682 if true {
match (&CrateType::default(), &CrateType::Rlib) {
(left_val, right_val) => {
if !(*left_val == *right_val) {
let kind = ::core::panicking::AssertKind::Eq;
::core::panicking::assert_failed(kind, &*left_val,
&*right_val, ::core::option::Option::None);
}
}
};
};debug_assert_eq!(CrateType::default(), CrateType::Rlib);
683 &[
684 (rustc_span::sym::lib, CrateType::Rlib),
685 (rustc_span::sym::rlib, CrateType::Rlib),
686 (rustc_span::sym::dylib, CrateType::Dylib),
687 (rustc_span::sym::cdylib, CrateType::Cdylib),
688 (rustc_span::sym::staticlib, CrateType::StaticLib),
689 (rustc_span::sym::proc_dash_macro, CrateType::ProcMacro),
690 (rustc_span::sym::bin, CrateType::Executable),
691 (rustc_span::sym::sdylib, CrateType::Sdylib),
692 ]
693 }
694
695 pub fn all_stable() -> &'static [(Symbol, Self)] {
698 if true {
match (&CrateType::default(), &CrateType::Rlib) {
(left_val, right_val) => {
if !(*left_val == *right_val) {
let kind = ::core::panicking::AssertKind::Eq;
::core::panicking::assert_failed(kind, &*left_val,
&*right_val, ::core::option::Option::None);
}
}
};
};debug_assert_eq!(CrateType::default(), CrateType::Rlib);
699 &[
700 (rustc_span::sym::lib, CrateType::Rlib),
701 (rustc_span::sym::rlib, CrateType::Rlib),
702 (rustc_span::sym::dylib, CrateType::Dylib),
703 (rustc_span::sym::cdylib, CrateType::Cdylib),
704 (rustc_span::sym::staticlib, CrateType::StaticLib),
705 (rustc_span::sym::proc_dash_macro, CrateType::ProcMacro),
706 (rustc_span::sym::bin, CrateType::Executable),
707 ]
708 }
709
710 pub fn has_metadata(self) -> bool {
711 match self {
712 CrateType::Rlib | CrateType::Dylib | CrateType::ProcMacro => true,
713 CrateType::Executable
714 | CrateType::Cdylib
715 | CrateType::StaticLib
716 | CrateType::Sdylib => false,
717 }
718 }
719}
720
721impl TryFrom<Symbol> for CrateType {
722 type Error = ();
723
724 fn try_from(value: Symbol) -> Result<Self, Self::Error> {
725 Ok(match value {
726 rustc_span::sym::bin => CrateType::Executable,
727 rustc_span::sym::dylib => CrateType::Dylib,
728 rustc_span::sym::staticlib => CrateType::StaticLib,
729 rustc_span::sym::cdylib => CrateType::Cdylib,
730 rustc_span::sym::rlib => CrateType::Rlib,
731 rustc_span::sym::lib => CrateType::default(),
732 rustc_span::sym::proc_dash_macro => CrateType::ProcMacro,
733 rustc_span::sym::sdylib => CrateType::Sdylib,
734 _ => return Err(()),
735 })
736 }
737}
738
739impl std::fmt::Display for CrateType {
740 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
741 match *self {
742 CrateType::Executable => "bin".fmt(f),
743 CrateType::Dylib => "dylib".fmt(f),
744 CrateType::Rlib => "rlib".fmt(f),
745 CrateType::StaticLib => "staticlib".fmt(f),
746 CrateType::Cdylib => "cdylib".fmt(f),
747 CrateType::ProcMacro => "proc-macro".fmt(f),
748 CrateType::Sdylib => "sdylib".fmt(f),
749 }
750 }
751}
752
753impl IntoDiagArg for CrateType {
754 fn into_diag_arg(self, _: &mut Option<std::path::PathBuf>) -> DiagArgValue {
755 self.to_string().into_diag_arg(&mut None)
756 }
757}
758
759#[derive(#[automatically_derived]
impl ::core::clone::Clone for RustcDumpLayoutKind {
#[inline]
fn clone(&self) -> RustcDumpLayoutKind {
match self {
RustcDumpLayoutKind::Align => RustcDumpLayoutKind::Align,
RustcDumpLayoutKind::BackendRepr =>
RustcDumpLayoutKind::BackendRepr,
RustcDumpLayoutKind::Debug => RustcDumpLayoutKind::Debug,
RustcDumpLayoutKind::HomogenousAggregate =>
RustcDumpLayoutKind::HomogenousAggregate,
RustcDumpLayoutKind::Size => RustcDumpLayoutKind::Size,
}
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for RustcDumpLayoutKind {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
RustcDumpLayoutKind::Align => "Align",
RustcDumpLayoutKind::BackendRepr => "BackendRepr",
RustcDumpLayoutKind::Debug => "Debug",
RustcDumpLayoutKind::HomogenousAggregate =>
"HomogenousAggregate",
RustcDumpLayoutKind::Size => "Size",
})
}
}Debug, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
RustcDumpLayoutKind {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
RustcDumpLayoutKind::Align => {}
RustcDumpLayoutKind::BackendRepr => {}
RustcDumpLayoutKind::Debug => {}
RustcDumpLayoutKind::HomogenousAggregate => {}
RustcDumpLayoutKind::Size => {}
}
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for RustcDumpLayoutKind {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
RustcDumpLayoutKind::Align => { 0usize }
RustcDumpLayoutKind::BackendRepr => { 1usize }
RustcDumpLayoutKind::Debug => { 2usize }
RustcDumpLayoutKind::HomogenousAggregate => { 3usize }
RustcDumpLayoutKind::Size => { 4usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
RustcDumpLayoutKind::Align => {}
RustcDumpLayoutKind::BackendRepr => {}
RustcDumpLayoutKind::Debug => {}
RustcDumpLayoutKind::HomogenousAggregate => {}
RustcDumpLayoutKind::Size => {}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for RustcDumpLayoutKind {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { RustcDumpLayoutKind::Align }
1usize => { RustcDumpLayoutKind::BackendRepr }
2usize => { RustcDumpLayoutKind::Debug }
3usize => { RustcDumpLayoutKind::HomogenousAggregate }
4usize => { RustcDumpLayoutKind::Size }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `RustcDumpLayoutKind`, expected 0..5, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for RustcDumpLayoutKind {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::Align => { __p.word("Align") }
Self::BackendRepr => { __p.word("BackendRepr") }
Self::Debug => { __p.word("Debug") }
Self::HomogenousAggregate => {
__p.word("HomogenousAggregate")
}
Self::Size => { __p.word("Size") }
}
}
}
};PrintAttribute)]
760pub enum RustcDumpLayoutKind {
761 Align,
762 BackendRepr,
763 Debug,
764 HomogenousAggregate,
765 Size,
766}
767
768#[derive(#[automatically_derived]
impl ::core::clone::Clone for RustcMirKind {
#[inline]
fn clone(&self) -> RustcMirKind {
match self {
RustcMirKind::PeekMaybeInit => RustcMirKind::PeekMaybeInit,
RustcMirKind::PeekMaybeUninit => RustcMirKind::PeekMaybeUninit,
RustcMirKind::PeekLiveness => RustcMirKind::PeekLiveness,
RustcMirKind::StopAfterDataflow =>
RustcMirKind::StopAfterDataflow,
RustcMirKind::BorrowckGraphvizPostflow { path: __self_0 } =>
RustcMirKind::BorrowckGraphvizPostflow {
path: ::core::clone::Clone::clone(__self_0),
},
RustcMirKind::BorrowckGraphvizFormat { format: __self_0 } =>
RustcMirKind::BorrowckGraphvizFormat {
format: ::core::clone::Clone::clone(__self_0),
},
}
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for RustcMirKind {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
RustcMirKind::PeekMaybeInit =>
::core::fmt::Formatter::write_str(f, "PeekMaybeInit"),
RustcMirKind::PeekMaybeUninit =>
::core::fmt::Formatter::write_str(f, "PeekMaybeUninit"),
RustcMirKind::PeekLiveness =>
::core::fmt::Formatter::write_str(f, "PeekLiveness"),
RustcMirKind::StopAfterDataflow =>
::core::fmt::Formatter::write_str(f, "StopAfterDataflow"),
RustcMirKind::BorrowckGraphvizPostflow { path: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"BorrowckGraphvizPostflow", "path", &__self_0),
RustcMirKind::BorrowckGraphvizFormat { format: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"BorrowckGraphvizFormat", "format", &__self_0),
}
}
}Debug, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for RustcMirKind
{
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
RustcMirKind::PeekMaybeInit => {}
RustcMirKind::PeekMaybeUninit => {}
RustcMirKind::PeekLiveness => {}
RustcMirKind::StopAfterDataflow => {}
RustcMirKind::BorrowckGraphvizPostflow {
path: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
RustcMirKind::BorrowckGraphvizFormat {
format: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for RustcMirKind {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
RustcMirKind::PeekMaybeInit => { 0usize }
RustcMirKind::PeekMaybeUninit => { 1usize }
RustcMirKind::PeekLiveness => { 2usize }
RustcMirKind::StopAfterDataflow => { 3usize }
RustcMirKind::BorrowckGraphvizPostflow {
path: ref __binding_0 } => {
4usize
}
RustcMirKind::BorrowckGraphvizFormat {
format: ref __binding_0 } => {
5usize
}
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
RustcMirKind::PeekMaybeInit => {}
RustcMirKind::PeekMaybeUninit => {}
RustcMirKind::PeekLiveness => {}
RustcMirKind::StopAfterDataflow => {}
RustcMirKind::BorrowckGraphvizPostflow {
path: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
RustcMirKind::BorrowckGraphvizFormat {
format: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for RustcMirKind {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { RustcMirKind::PeekMaybeInit }
1usize => { RustcMirKind::PeekMaybeUninit }
2usize => { RustcMirKind::PeekLiveness }
3usize => { RustcMirKind::StopAfterDataflow }
4usize => {
RustcMirKind::BorrowckGraphvizPostflow {
path: ::rustc_serialize::Decodable::decode(__decoder),
}
}
5usize => {
RustcMirKind::BorrowckGraphvizFormat {
format: ::rustc_serialize::Decodable::decode(__decoder),
}
}
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `RustcMirKind`, expected 0..6, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for RustcMirKind {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::PeekMaybeInit => { __p.word("PeekMaybeInit") }
Self::PeekMaybeUninit => { __p.word("PeekMaybeUninit") }
Self::PeekLiveness => { __p.word("PeekLiveness") }
Self::StopAfterDataflow => { __p.word("StopAfterDataflow") }
Self::BorrowckGraphvizPostflow { path } => {
__p.word("BorrowckGraphvizPostflow");
if true && !path.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if path.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("path");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
path.print_attribute(__p);
__p.word("}");
}
Self::BorrowckGraphvizFormat { format } => {
__p.word("BorrowckGraphvizFormat");
if true && !format.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if format.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("format");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
format.print_attribute(__p);
__p.word("}");
}
}
}
}
};PrintAttribute, #[automatically_derived]
impl ::core::cmp::PartialEq for RustcMirKind {
#[inline]
fn eq(&self, other: &RustcMirKind) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr &&
match (self, other) {
(RustcMirKind::BorrowckGraphvizPostflow { path: __self_0 },
RustcMirKind::BorrowckGraphvizPostflow { path: __arg1_0 })
=> __self_0 == __arg1_0,
(RustcMirKind::BorrowckGraphvizFormat { format: __self_0 },
RustcMirKind::BorrowckGraphvizFormat { format: __arg1_0 })
=> __self_0 == __arg1_0,
_ => true,
}
}
}PartialEq, #[automatically_derived]
impl ::core::cmp::Eq for RustcMirKind {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<PathBuf>;
let _: ::core::cmp::AssertParamIsEq<BorrowckGraphvizFormatKind>;
}
}Eq)]
769pub enum RustcMirKind {
770 PeekMaybeInit,
771 PeekMaybeUninit,
772 PeekLiveness,
773 StopAfterDataflow,
774 BorrowckGraphvizPostflow { path: PathBuf },
775 BorrowckGraphvizFormat { format: BorrowckGraphvizFormatKind },
776}
777
778#[derive(#[automatically_derived]
impl ::core::clone::Clone for BorrowckGraphvizFormatKind {
#[inline]
fn clone(&self) -> BorrowckGraphvizFormatKind {
BorrowckGraphvizFormatKind::TwoPhase
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for BorrowckGraphvizFormatKind {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f, "TwoPhase")
}
}Debug, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
BorrowckGraphvizFormatKind {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self { BorrowckGraphvizFormatKind::TwoPhase => {} }
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for BorrowckGraphvizFormatKind {
fn encode(&self, __encoder: &mut __E) {
match *self { BorrowckGraphvizFormatKind::TwoPhase => {} }
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for BorrowckGraphvizFormatKind {
fn decode(__decoder: &mut __D) -> Self {
BorrowckGraphvizFormatKind::TwoPhase
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for BorrowckGraphvizFormatKind {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self { Self::TwoPhase => { __p.word("TwoPhase") } }
}
}
};PrintAttribute, #[automatically_derived]
impl ::core::cmp::PartialEq for BorrowckGraphvizFormatKind {
#[inline]
fn eq(&self, other: &BorrowckGraphvizFormatKind) -> bool { true }
}PartialEq, #[automatically_derived]
impl ::core::cmp::Eq for BorrowckGraphvizFormatKind {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {}
}Eq)]
779pub enum BorrowckGraphvizFormatKind {
780 TwoPhase,
781}
782
783#[derive(#[automatically_derived]
impl ::core::clone::Clone for RustcCleanAttribute {
#[inline]
fn clone(&self) -> RustcCleanAttribute {
RustcCleanAttribute {
span: ::core::clone::Clone::clone(&self.span),
cfg: ::core::clone::Clone::clone(&self.cfg),
except: ::core::clone::Clone::clone(&self.except),
loaded_from_disk: ::core::clone::Clone::clone(&self.loaded_from_disk),
}
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for RustcCleanAttribute {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field4_finish(f,
"RustcCleanAttribute", "span", &self.span, "cfg", &self.cfg,
"except", &self.except, "loaded_from_disk",
&&self.loaded_from_disk)
}
}Debug, #[automatically_derived]
impl ::core::cmp::PartialEq for RustcCleanAttribute {
#[inline]
fn eq(&self, other: &RustcCleanAttribute) -> bool {
self.span == other.span && self.cfg == other.cfg &&
self.except == other.except &&
self.loaded_from_disk == other.loaded_from_disk
}
}PartialEq, #[automatically_derived]
impl ::core::cmp::Eq for RustcCleanAttribute {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<Span>;
let _: ::core::cmp::AssertParamIsEq<Symbol>;
let _: ::core::cmp::AssertParamIsEq<Option<RustcCleanQueries>>;
let _: ::core::cmp::AssertParamIsEq<Option<RustcCleanQueries>>;
}
}Eq)]
784#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
RustcCleanAttribute {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
match *self {
RustcCleanAttribute {
span: ref __binding_0,
cfg: ref __binding_1,
except: ref __binding_2,
loaded_from_disk: ref __binding_3 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
{ __binding_3.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for RustcCleanAttribute {
fn encode(&self, __encoder: &mut __E) {
match *self {
RustcCleanAttribute {
span: ref __binding_0,
cfg: ref __binding_1,
except: ref __binding_2,
loaded_from_disk: ref __binding_3 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_3,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for RustcCleanAttribute {
fn decode(__decoder: &mut __D) -> Self {
RustcCleanAttribute {
span: ::rustc_serialize::Decodable::decode(__decoder),
cfg: ::rustc_serialize::Decodable::decode(__decoder),
except: ::rustc_serialize::Decodable::decode(__decoder),
loaded_from_disk: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for RustcCleanAttribute {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
let Self { span, cfg, except, loaded_from_disk } = self;
__p.word("RustcCleanAttribute");
if true && !span.should_render() && !cfg.should_render() &&
!except.should_render() && !loaded_from_disk.should_render()
{
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
if cfg.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("cfg");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
cfg.print_attribute(__p);
if except.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("except");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
except.print_attribute(__p);
if loaded_from_disk.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("loaded_from_disk");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
loaded_from_disk.print_attribute(__p);
__p.word("}");
}
}
};PrintAttribute)]
785pub struct RustcCleanAttribute {
786 pub span: Span,
787 pub cfg: Symbol,
788 pub except: Option<RustcCleanQueries>,
789 pub loaded_from_disk: Option<RustcCleanQueries>,
790}
791
792#[derive(#[automatically_derived]
impl ::core::clone::Clone for RustcCleanQueries {
#[inline]
fn clone(&self) -> RustcCleanQueries {
RustcCleanQueries {
entries: ::core::clone::Clone::clone(&self.entries),
span: ::core::clone::Clone::clone(&self.span),
}
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for RustcCleanQueries {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcCleanQueries", "entries", &self.entries, "span",
&&self.span)
}
}Debug, #[automatically_derived]
impl ::core::cmp::PartialEq for RustcCleanQueries {
#[inline]
fn eq(&self, other: &RustcCleanQueries) -> bool {
self.entries == other.entries && self.span == other.span
}
}PartialEq, #[automatically_derived]
impl ::core::cmp::Eq for RustcCleanQueries {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<ThinVec<Symbol>>;
let _: ::core::cmp::AssertParamIsEq<Span>;
}
}Eq)]
794#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
RustcCleanQueries {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
match *self {
RustcCleanQueries {
entries: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for RustcCleanQueries {
fn encode(&self, __encoder: &mut __E) {
match *self {
RustcCleanQueries {
entries: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for RustcCleanQueries {
fn decode(__decoder: &mut __D) -> Self {
RustcCleanQueries {
entries: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for RustcCleanQueries {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
let Self { entries, span } = self;
__p.word("RustcCleanQueries");
if true && !entries.should_render() && !span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if entries.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("entries");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
entries.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
}
};PrintAttribute)]
795pub struct RustcCleanQueries {
796 pub entries: ThinVec<Symbol>,
797 pub span: Span,
798}
799
800#[derive(#[automatically_derived]
impl ::core::clone::Clone for RustcAutodiff {
#[inline]
fn clone(&self) -> RustcAutodiff {
RustcAutodiff {
mode: ::core::clone::Clone::clone(&self.mode),
width: ::core::clone::Clone::clone(&self.width),
input_activity: ::core::clone::Clone::clone(&self.input_activity),
ret_activity: ::core::clone::Clone::clone(&self.ret_activity),
}
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for RustcAutodiff {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field4_finish(f, "RustcAutodiff",
"mode", &self.mode, "width", &self.width, "input_activity",
&self.input_activity, "ret_activity", &&self.ret_activity)
}
}Debug, #[automatically_derived]
impl ::core::cmp::PartialEq for RustcAutodiff {
#[inline]
fn eq(&self, other: &RustcAutodiff) -> bool {
self.width == other.width && self.mode == other.mode &&
self.input_activity == other.input_activity &&
self.ret_activity == other.ret_activity
}
}PartialEq, #[automatically_derived]
impl ::core::cmp::Eq for RustcAutodiff {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<DiffMode>;
let _: ::core::cmp::AssertParamIsEq<u32>;
let _: ::core::cmp::AssertParamIsEq<ThinVec<DiffActivity>>;
let _: ::core::cmp::AssertParamIsEq<DiffActivity>;
}
}Eq)]
801#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
RustcAutodiff {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
match *self {
RustcAutodiff {
mode: ref __binding_0,
width: ref __binding_1,
input_activity: ref __binding_2,
ret_activity: ref __binding_3 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
{ __binding_3.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for RustcAutodiff {
fn encode(&self, __encoder: &mut __E) {
match *self {
RustcAutodiff {
mode: ref __binding_0,
width: ref __binding_1,
input_activity: ref __binding_2,
ret_activity: ref __binding_3 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_3,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for RustcAutodiff {
fn decode(__decoder: &mut __D) -> Self {
RustcAutodiff {
mode: ::rustc_serialize::Decodable::decode(__decoder),
width: ::rustc_serialize::Decodable::decode(__decoder),
input_activity: ::rustc_serialize::Decodable::decode(__decoder),
ret_activity: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for RustcAutodiff {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
let Self { mode, width, input_activity, ret_activity } = self;
__p.word("RustcAutodiff");
if true && !mode.should_render() && !width.should_render() &&
!input_activity.should_render() &&
!ret_activity.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if mode.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("mode");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
mode.print_attribute(__p);
if width.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("width");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
width.print_attribute(__p);
if input_activity.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("input_activity");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
input_activity.print_attribute(__p);
if ret_activity.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("ret_activity");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
ret_activity.print_attribute(__p);
__p.word("}");
}
}
};PrintAttribute)]
802pub struct RustcAutodiff {
803 pub mode: DiffMode,
807 pub width: u32,
818 pub input_activity: ThinVec<DiffActivity>,
819 pub ret_activity: DiffActivity,
820}
821
822impl RustcAutodiff {
823 pub fn has_primal_ret(&self) -> bool {
824 #[allow(non_exhaustive_omitted_patterns)] match self.ret_activity {
DiffActivity::Active | DiffActivity::Dual => true,
_ => false,
}matches!(self.ret_activity, DiffActivity::Active | DiffActivity::Dual)
825 }
826}
827
828impl RustcAutodiff {
829 pub fn has_ret_activity(&self) -> bool {
830 self.ret_activity != DiffActivity::None
831 }
832 pub fn has_active_only_ret(&self) -> bool {
833 self.ret_activity == DiffActivity::ActiveOnly
834 }
835
836 pub fn error() -> Self {
837 RustcAutodiff {
838 mode: DiffMode::Error,
839 width: 0,
840 ret_activity: DiffActivity::None,
841 input_activity: ThinVec::new(),
842 }
843 }
844
845 pub fn source() -> Self {
846 RustcAutodiff {
847 mode: DiffMode::Source,
848 width: 0,
849 ret_activity: DiffActivity::None,
850 input_activity: ThinVec::new(),
851 }
852 }
853
854 pub fn is_active(&self) -> bool {
855 self.mode != DiffMode::Error
856 }
857
858 pub fn is_source(&self) -> bool {
859 self.mode == DiffMode::Source
860 }
861 pub fn apply_autodiff(&self) -> bool {
862 !#[allow(non_exhaustive_omitted_patterns)] match self.mode {
DiffMode::Error | DiffMode::Source => true,
_ => false,
}matches!(self.mode, DiffMode::Error | DiffMode::Source)
863 }
864
865 pub fn into_item(
866 self,
867 source: String,
868 target: String,
869 inputs: Vec<TypeTree>,
870 output: TypeTree,
871 ) -> AutoDiffItem {
872 AutoDiffItem { source, target, inputs, output, attrs: self }
873 }
874}
875
876#[derive(#[automatically_derived]
impl ::core::clone::Clone for AutoDiffItem {
#[inline]
fn clone(&self) -> AutoDiffItem {
AutoDiffItem {
source: ::core::clone::Clone::clone(&self.source),
target: ::core::clone::Clone::clone(&self.target),
attrs: ::core::clone::Clone::clone(&self.attrs),
inputs: ::core::clone::Clone::clone(&self.inputs),
output: ::core::clone::Clone::clone(&self.output),
}
}
}Clone, #[automatically_derived]
impl ::core::cmp::Eq for AutoDiffItem {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<String>;
let _: ::core::cmp::AssertParamIsEq<RustcAutodiff>;
let _: ::core::cmp::AssertParamIsEq<Vec<TypeTree>>;
let _: ::core::cmp::AssertParamIsEq<TypeTree>;
}
}Eq, #[automatically_derived]
impl ::core::cmp::PartialEq for AutoDiffItem {
#[inline]
fn eq(&self, other: &AutoDiffItem) -> bool {
self.source == other.source && self.target == other.target &&
self.attrs == other.attrs && self.inputs == other.inputs &&
self.output == other.output
}
}PartialEq, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for AutoDiffItem {
fn encode(&self, __encoder: &mut __E) {
match *self {
AutoDiffItem {
source: ref __binding_0,
target: ref __binding_1,
attrs: ref __binding_2,
inputs: ref __binding_3,
output: ref __binding_4 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_3,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_4,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for AutoDiffItem {
fn decode(__decoder: &mut __D) -> Self {
AutoDiffItem {
source: ::rustc_serialize::Decodable::decode(__decoder),
target: ::rustc_serialize::Decodable::decode(__decoder),
attrs: ::rustc_serialize::Decodable::decode(__decoder),
inputs: ::rustc_serialize::Decodable::decode(__decoder),
output: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, #[automatically_derived]
impl ::core::fmt::Debug for AutoDiffItem {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field5_finish(f, "AutoDiffItem",
"source", &self.source, "target", &self.target, "attrs",
&self.attrs, "inputs", &self.inputs, "output", &&self.output)
}
}Debug, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for AutoDiffItem
{
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
match *self {
AutoDiffItem {
source: ref __binding_0,
target: ref __binding_1,
attrs: ref __binding_2,
inputs: ref __binding_3,
output: ref __binding_4 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
{ __binding_3.stable_hash(__hcx, __hasher); }
{ __binding_4.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash)]
878pub struct AutoDiffItem {
879 pub source: String,
881 pub target: String,
883 pub attrs: RustcAutodiff,
884 pub inputs: Vec<TypeTree>,
885 pub output: TypeTree,
886}
887
888impl fmt::Display for AutoDiffItem {
889 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
890 f.write_fmt(format_args!("Differentiating {0} -> {1}", self.source,
self.target))write!(f, "Differentiating {} -> {}", self.source, self.target)?;
891 f.write_fmt(format_args!(" with attributes: {0:?}", self.attrs))write!(f, " with attributes: {:?}", self.attrs)?;
892 f.write_fmt(format_args!(" with inputs: {0:?}", self.inputs))write!(f, " with inputs: {:?}", self.inputs)?;
893 f.write_fmt(format_args!(" with output: {0:?}", self.output))write!(f, " with output: {:?}", self.output)
894 }
895}
896
897#[derive(#[automatically_derived]
impl ::core::clone::Clone for UnstableRemovedFeature {
#[inline]
fn clone(&self) -> UnstableRemovedFeature {
UnstableRemovedFeature {
feature: ::core::clone::Clone::clone(&self.feature),
reason: ::core::clone::Clone::clone(&self.reason),
link: ::core::clone::Clone::clone(&self.link),
since: ::core::clone::Clone::clone(&self.since),
}
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for UnstableRemovedFeature {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field4_finish(f,
"UnstableRemovedFeature", "feature", &self.feature, "reason",
&self.reason, "link", &self.link, "since", &&self.since)
}
}Debug, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
UnstableRemovedFeature {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
match *self {
UnstableRemovedFeature {
feature: ref __binding_0,
reason: ref __binding_1,
link: ref __binding_2,
since: ref __binding_3 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
{ __binding_3.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for UnstableRemovedFeature {
fn encode(&self, __encoder: &mut __E) {
match *self {
UnstableRemovedFeature {
feature: ref __binding_0,
reason: ref __binding_1,
link: ref __binding_2,
since: ref __binding_3 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_3,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for UnstableRemovedFeature {
fn decode(__decoder: &mut __D) -> Self {
UnstableRemovedFeature {
feature: ::rustc_serialize::Decodable::decode(__decoder),
reason: ::rustc_serialize::Decodable::decode(__decoder),
link: ::rustc_serialize::Decodable::decode(__decoder),
since: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for UnstableRemovedFeature {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
let Self { feature, reason, link, since } = self;
__p.word("UnstableRemovedFeature");
if true && !feature.should_render() && !reason.should_render()
&& !link.should_render() && !since.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if feature.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("feature");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
feature.print_attribute(__p);
if reason.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("reason");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
reason.print_attribute(__p);
if link.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("link");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
link.print_attribute(__p);
if since.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("since");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
since.print_attribute(__p);
__p.word("}");
}
}
};PrintAttribute)]
898pub struct UnstableRemovedFeature {
899 pub feature: Symbol,
900 pub reason: Symbol,
901 pub link: Symbol,
902 pub since: RustcVersion,
903}
904
905#[derive(#[automatically_derived]
impl ::core::clone::Clone for AttributeKind {
#[inline]
fn clone(&self) -> AttributeKind {
match self {
AttributeKind::AllowInternalUnsafe(__self_0) =>
AttributeKind::AllowInternalUnsafe(::core::clone::Clone::clone(__self_0)),
AttributeKind::AllowInternalUnstable(__self_0, __self_1) =>
AttributeKind::AllowInternalUnstable(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::AutomaticallyDerived =>
AttributeKind::AutomaticallyDerived,
AttributeKind::CfgAttrTrace => AttributeKind::CfgAttrTrace,
AttributeKind::CfgTrace(__self_0) =>
AttributeKind::CfgTrace(::core::clone::Clone::clone(__self_0)),
AttributeKind::CfiEncoding { encoding: __self_0 } =>
AttributeKind::CfiEncoding {
encoding: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::Cold => AttributeKind::Cold,
AttributeKind::CollapseDebugInfo(__self_0) =>
AttributeKind::CollapseDebugInfo(::core::clone::Clone::clone(__self_0)),
AttributeKind::CompilerBuiltins =>
AttributeKind::CompilerBuiltins,
AttributeKind::ConstContinue(__self_0) =>
AttributeKind::ConstContinue(::core::clone::Clone::clone(__self_0)),
AttributeKind::Coroutine => AttributeKind::Coroutine,
AttributeKind::Coverage(__self_0) =>
AttributeKind::Coverage(::core::clone::Clone::clone(__self_0)),
AttributeKind::CrateName {
name: __self_0, name_span: __self_1, attr_span: __self_2 } =>
AttributeKind::CrateName {
name: ::core::clone::Clone::clone(__self_0),
name_span: ::core::clone::Clone::clone(__self_1),
attr_span: ::core::clone::Clone::clone(__self_2),
},
AttributeKind::CrateType(__self_0) =>
AttributeKind::CrateType(::core::clone::Clone::clone(__self_0)),
AttributeKind::CustomMir(__self_0, __self_1) =>
AttributeKind::CustomMir(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::DebuggerVisualizer(__self_0) =>
AttributeKind::DebuggerVisualizer(::core::clone::Clone::clone(__self_0)),
AttributeKind::DefaultLibAllocator =>
AttributeKind::DefaultLibAllocator,
AttributeKind::Deprecated { deprecation: __self_0, span: __self_1
} =>
AttributeKind::Deprecated {
deprecation: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::DoNotRecommend => AttributeKind::DoNotRecommend,
AttributeKind::Doc(__self_0) =>
AttributeKind::Doc(::core::clone::Clone::clone(__self_0)),
AttributeKind::DocComment {
style: __self_0,
kind: __self_1,
span: __self_2,
comment: __self_3 } =>
AttributeKind::DocComment {
style: ::core::clone::Clone::clone(__self_0),
kind: ::core::clone::Clone::clone(__self_1),
span: ::core::clone::Clone::clone(__self_2),
comment: ::core::clone::Clone::clone(__self_3),
},
AttributeKind::EiiDeclaration(__self_0) =>
AttributeKind::EiiDeclaration(::core::clone::Clone::clone(__self_0)),
AttributeKind::EiiImpls(__self_0) =>
AttributeKind::EiiImpls(::core::clone::Clone::clone(__self_0)),
AttributeKind::ExportName { name: __self_0, span: __self_1 } =>
AttributeKind::ExportName {
name: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::ExportStable => AttributeKind::ExportStable,
AttributeKind::Feature(__self_0, __self_1) =>
AttributeKind::Feature(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::FfiConst => AttributeKind::FfiConst,
AttributeKind::FfiPure(__self_0) =>
AttributeKind::FfiPure(::core::clone::Clone::clone(__self_0)),
AttributeKind::Fundamental => AttributeKind::Fundamental,
AttributeKind::Ignore { span: __self_0, reason: __self_1 } =>
AttributeKind::Ignore {
span: ::core::clone::Clone::clone(__self_0),
reason: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::Inline(__self_0, __self_1) =>
AttributeKind::Inline(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::InstructionSet(__self_0) =>
AttributeKind::InstructionSet(::core::clone::Clone::clone(__self_0)),
AttributeKind::InstrumentFn(__self_0) =>
AttributeKind::InstrumentFn(::core::clone::Clone::clone(__self_0)),
AttributeKind::Lang(__self_0) =>
AttributeKind::Lang(::core::clone::Clone::clone(__self_0)),
AttributeKind::Link(__self_0, __self_1) =>
AttributeKind::Link(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::LinkName { name: __self_0, span: __self_1 } =>
AttributeKind::LinkName {
name: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::LinkOrdinal { ordinal: __self_0, span: __self_1 }
=>
AttributeKind::LinkOrdinal {
ordinal: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::LinkSection { name: __self_0 } =>
AttributeKind::LinkSection {
name: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::Linkage(__self_0, __self_1) =>
AttributeKind::Linkage(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::LoopMatch(__self_0) =>
AttributeKind::LoopMatch(::core::clone::Clone::clone(__self_0)),
AttributeKind::MacroEscape => AttributeKind::MacroEscape,
AttributeKind::MacroExport {
span: __self_0, local_inner_macros: __self_1 } =>
AttributeKind::MacroExport {
span: ::core::clone::Clone::clone(__self_0),
local_inner_macros: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::MacroUse { span: __self_0, arguments: __self_1 } =>
AttributeKind::MacroUse {
span: ::core::clone::Clone::clone(__self_0),
arguments: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::Marker => AttributeKind::Marker,
AttributeKind::MayDangle(__self_0) =>
AttributeKind::MayDangle(::core::clone::Clone::clone(__self_0)),
AttributeKind::MoveSizeLimit { limit: __self_0 } =>
AttributeKind::MoveSizeLimit {
limit: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::MustNotSupend { reason: __self_0 } =>
AttributeKind::MustNotSupend {
reason: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::MustUse { span: __self_0, reason: __self_1 } =>
AttributeKind::MustUse {
span: ::core::clone::Clone::clone(__self_0),
reason: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::Naked(__self_0) =>
AttributeKind::Naked(::core::clone::Clone::clone(__self_0)),
AttributeKind::NeedsAllocator => AttributeKind::NeedsAllocator,
AttributeKind::NeedsPanicRuntime =>
AttributeKind::NeedsPanicRuntime,
AttributeKind::NoBuiltins => AttributeKind::NoBuiltins,
AttributeKind::NoCore => AttributeKind::NoCore,
AttributeKind::NoImplicitPrelude =>
AttributeKind::NoImplicitPrelude,
AttributeKind::NoLink => AttributeKind::NoLink,
AttributeKind::NoMain => AttributeKind::NoMain,
AttributeKind::NoMangle(__self_0) =>
AttributeKind::NoMangle(::core::clone::Clone::clone(__self_0)),
AttributeKind::NoStd => AttributeKind::NoStd,
AttributeKind::NonExhaustive(__self_0) =>
AttributeKind::NonExhaustive(::core::clone::Clone::clone(__self_0)),
AttributeKind::OnConst { span: __self_0, directive: __self_1 } =>
AttributeKind::OnConst {
span: ::core::clone::Clone::clone(__self_0),
directive: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::OnMove { directive: __self_0 } =>
AttributeKind::OnMove {
directive: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::OnTypeError { span: __self_0, directive: __self_1 }
=>
AttributeKind::OnTypeError {
span: ::core::clone::Clone::clone(__self_0),
directive: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::OnUnimplemented { directive: __self_0 } =>
AttributeKind::OnUnimplemented {
directive: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::OnUnknown { directive: __self_0 } =>
AttributeKind::OnUnknown {
directive: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::OnUnmatchedArgs { directive: __self_0 } =>
AttributeKind::OnUnmatchedArgs {
directive: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::Optimize(__self_0, __self_1) =>
AttributeKind::Optimize(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::PanicRuntime => AttributeKind::PanicRuntime,
AttributeKind::PatchableFunctionEntry {
prefix: __self_0, entry: __self_1 } =>
AttributeKind::PatchableFunctionEntry {
prefix: ::core::clone::Clone::clone(__self_0),
entry: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::Path(__self_0) =>
AttributeKind::Path(::core::clone::Clone::clone(__self_0)),
AttributeKind::PatternComplexityLimit { limit: __self_0 } =>
AttributeKind::PatternComplexityLimit {
limit: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::PinV2(__self_0) =>
AttributeKind::PinV2(::core::clone::Clone::clone(__self_0)),
AttributeKind::PreludeImport => AttributeKind::PreludeImport,
AttributeKind::ProcMacro => AttributeKind::ProcMacro,
AttributeKind::ProcMacroAttribute =>
AttributeKind::ProcMacroAttribute,
AttributeKind::ProcMacroDerive {
trait_name: __self_0, helper_attrs: __self_1 } =>
AttributeKind::ProcMacroDerive {
trait_name: ::core::clone::Clone::clone(__self_0),
helper_attrs: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::ProfilerRuntime => AttributeKind::ProfilerRuntime,
AttributeKind::RecursionLimit { limit: __self_0 } =>
AttributeKind::RecursionLimit {
limit: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::ReexportTestHarnessMain(__self_0) =>
AttributeKind::ReexportTestHarnessMain(::core::clone::Clone::clone(__self_0)),
AttributeKind::RegisterTool(__self_0) =>
AttributeKind::RegisterTool(::core::clone::Clone::clone(__self_0)),
AttributeKind::Repr { reprs: __self_0, first_span: __self_1 } =>
AttributeKind::Repr {
reprs: ::core::clone::Clone::clone(__self_0),
first_span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcAbi { attr_span: __self_0, kind: __self_1 } =>
AttributeKind::RustcAbi {
attr_span: ::core::clone::Clone::clone(__self_0),
kind: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcAlign { align: __self_0, span: __self_1 } =>
AttributeKind::RustcAlign {
align: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcAllocator => AttributeKind::RustcAllocator,
AttributeKind::RustcAllocatorZeroed =>
AttributeKind::RustcAllocatorZeroed,
AttributeKind::RustcAllocatorZeroedVariant { name: __self_0 } =>
AttributeKind::RustcAllocatorZeroedVariant {
name: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::RustcAllowConstFnUnstable(__self_0, __self_1) =>
AttributeKind::RustcAllowConstFnUnstable(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::RustcAllowIncoherentImpl(__self_0) =>
AttributeKind::RustcAllowIncoherentImpl(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcAsPtr => AttributeKind::RustcAsPtr,
AttributeKind::RustcAutodiff(__self_0) =>
AttributeKind::RustcAutodiff(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcBodyStability {
stability: __self_0, span: __self_1 } =>
AttributeKind::RustcBodyStability {
stability: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcBuiltinMacro {
builtin_name: __self_0, helper_attrs: __self_1 } =>
AttributeKind::RustcBuiltinMacro {
builtin_name: ::core::clone::Clone::clone(__self_0),
helper_attrs: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcCaptureAnalysis =>
AttributeKind::RustcCaptureAnalysis,
AttributeKind::RustcCguTestAttr(__self_0) =>
AttributeKind::RustcCguTestAttr(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcClean(__self_0) =>
AttributeKind::RustcClean(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcCoherenceIsCore =>
AttributeKind::RustcCoherenceIsCore,
AttributeKind::RustcCoinductive =>
AttributeKind::RustcCoinductive,
AttributeKind::RustcComptime(__self_0) =>
AttributeKind::RustcComptime(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcConfusables { confusables: __self_0 } =>
AttributeKind::RustcConfusables {
confusables: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::RustcConstStability {
stability: __self_0, span: __self_1 } =>
AttributeKind::RustcConstStability {
stability: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcConstStableIndirect =>
AttributeKind::RustcConstStableIndirect,
AttributeKind::RustcConversionSuggestion =>
AttributeKind::RustcConversionSuggestion,
AttributeKind::RustcDeallocator =>
AttributeKind::RustcDeallocator,
AttributeKind::RustcDelayedBugFromInsideQuery =>
AttributeKind::RustcDelayedBugFromInsideQuery,
AttributeKind::RustcDenyExplicitImpl =>
AttributeKind::RustcDenyExplicitImpl,
AttributeKind::RustcDeprecatedSafe2024 { suggestion: __self_0 } =>
AttributeKind::RustcDeprecatedSafe2024 {
suggestion: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::RustcDiagnosticItem(__self_0) =>
AttributeKind::RustcDiagnosticItem(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcDoNotConstCheck =>
AttributeKind::RustcDoNotConstCheck,
AttributeKind::RustcDocPrimitive(__self_0, __self_1) =>
AttributeKind::RustcDocPrimitive(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::RustcDummy => AttributeKind::RustcDummy,
AttributeKind::RustcDumpDefParents =>
AttributeKind::RustcDumpDefParents,
AttributeKind::RustcDumpDefPath(__self_0) =>
AttributeKind::RustcDumpDefPath(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcDumpGenerics =>
AttributeKind::RustcDumpGenerics,
AttributeKind::RustcDumpHiddenTypeOfOpaques =>
AttributeKind::RustcDumpHiddenTypeOfOpaques,
AttributeKind::RustcDumpInferredOutlives =>
AttributeKind::RustcDumpInferredOutlives,
AttributeKind::RustcDumpItemBounds =>
AttributeKind::RustcDumpItemBounds,
AttributeKind::RustcDumpLayout(__self_0) =>
AttributeKind::RustcDumpLayout(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcDumpObjectLifetimeDefaults =>
AttributeKind::RustcDumpObjectLifetimeDefaults,
AttributeKind::RustcDumpPredicates =>
AttributeKind::RustcDumpPredicates,
AttributeKind::RustcDumpSymbolName(__self_0) =>
AttributeKind::RustcDumpSymbolName(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcDumpUserArgs =>
AttributeKind::RustcDumpUserArgs,
AttributeKind::RustcDumpVariances =>
AttributeKind::RustcDumpVariances,
AttributeKind::RustcDumpVariancesOfOpaques =>
AttributeKind::RustcDumpVariancesOfOpaques,
AttributeKind::RustcDumpVtable(__self_0) =>
AttributeKind::RustcDumpVtable(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcDynIncompatibleTrait(__self_0) =>
AttributeKind::RustcDynIncompatibleTrait(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcEffectiveVisibility =>
AttributeKind::RustcEffectiveVisibility,
AttributeKind::RustcEiiForeignItem =>
AttributeKind::RustcEiiForeignItem,
AttributeKind::RustcEvaluateWhereClauses =>
AttributeKind::RustcEvaluateWhereClauses,
AttributeKind::RustcHasIncoherentInherentImpls =>
AttributeKind::RustcHasIncoherentInherentImpls,
AttributeKind::RustcIfThisChanged(__self_0, __self_1) =>
AttributeKind::RustcIfThisChanged(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::RustcInheritOverflowChecks =>
AttributeKind::RustcInheritOverflowChecks,
AttributeKind::RustcInsignificantDtor =>
AttributeKind::RustcInsignificantDtor,
AttributeKind::RustcIntrinsic => AttributeKind::RustcIntrinsic,
AttributeKind::RustcIntrinsicConstStableIndirect =>
AttributeKind::RustcIntrinsicConstStableIndirect,
AttributeKind::RustcLegacyConstGenerics {
fn_indexes: __self_0, attr_span: __self_1 } =>
AttributeKind::RustcLegacyConstGenerics {
fn_indexes: ::core::clone::Clone::clone(__self_0),
attr_span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcLintOptDenyFieldAccess {
lint_message: __self_0 } =>
AttributeKind::RustcLintOptDenyFieldAccess {
lint_message: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::RustcLintOptTy => AttributeKind::RustcLintOptTy,
AttributeKind::RustcLintQueryInstability =>
AttributeKind::RustcLintQueryInstability,
AttributeKind::RustcLintUntrackedQueryInformation =>
AttributeKind::RustcLintUntrackedQueryInformation,
AttributeKind::RustcMacroTransparency(__self_0) =>
AttributeKind::RustcMacroTransparency(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcMain => AttributeKind::RustcMain,
AttributeKind::RustcMir(__self_0) =>
AttributeKind::RustcMir(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcMustImplementOneOf {
attr_span: __self_0, fn_names: __self_1 } =>
AttributeKind::RustcMustImplementOneOf {
attr_span: ::core::clone::Clone::clone(__self_0),
fn_names: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcMustMatchExhaustively(__self_0) =>
AttributeKind::RustcMustMatchExhaustively(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcNeverReturnsNullPtr =>
AttributeKind::RustcNeverReturnsNullPtr,
AttributeKind::RustcNeverTypeOptions {
fallback: __self_0, diverging_block_default: __self_1 } =>
AttributeKind::RustcNeverTypeOptions {
fallback: ::core::clone::Clone::clone(__self_0),
diverging_block_default: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcNoImplicitAutorefs =>
AttributeKind::RustcNoImplicitAutorefs,
AttributeKind::RustcNoImplicitBounds =>
AttributeKind::RustcNoImplicitBounds,
AttributeKind::RustcNoMirInline =>
AttributeKind::RustcNoMirInline,
AttributeKind::RustcNoWritable => AttributeKind::RustcNoWritable,
AttributeKind::RustcNonConstTraitMethod =>
AttributeKind::RustcNonConstTraitMethod,
AttributeKind::RustcNonnullOptimizationGuaranteed =>
AttributeKind::RustcNonnullOptimizationGuaranteed,
AttributeKind::RustcNounwind => AttributeKind::RustcNounwind,
AttributeKind::RustcObjcClass { classname: __self_0 } =>
AttributeKind::RustcObjcClass {
classname: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::RustcObjcSelector { methname: __self_0 } =>
AttributeKind::RustcObjcSelector {
methname: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::RustcOffloadKernel =>
AttributeKind::RustcOffloadKernel,
AttributeKind::RustcParenSugar => AttributeKind::RustcParenSugar,
AttributeKind::RustcPassByValue =>
AttributeKind::RustcPassByValue,
AttributeKind::RustcPassIndirectlyInNonRusticAbis(__self_0) =>
AttributeKind::RustcPassIndirectlyInNonRusticAbis(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcPreserveUbChecks =>
AttributeKind::RustcPreserveUbChecks,
AttributeKind::RustcProcMacroDecls =>
AttributeKind::RustcProcMacroDecls,
AttributeKind::RustcPubTransparent(__self_0) =>
AttributeKind::RustcPubTransparent(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcReallocator =>
AttributeKind::RustcReallocator,
AttributeKind::RustcRegions => AttributeKind::RustcRegions,
AttributeKind::RustcReservationImpl(__self_0) =>
AttributeKind::RustcReservationImpl(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcScalableVector { element_count: __self_0 } =>
AttributeKind::RustcScalableVector {
element_count: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::RustcShouldNotBeCalledOnConstItems =>
AttributeKind::RustcShouldNotBeCalledOnConstItems,
AttributeKind::RustcSimdMonomorphizeLaneLimit(__self_0) =>
AttributeKind::RustcSimdMonomorphizeLaneLimit(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcSkipDuringMethodDispatch {
array: __self_0, boxed_slice: __self_1 } =>
AttributeKind::RustcSkipDuringMethodDispatch {
array: ::core::clone::Clone::clone(__self_0),
boxed_slice: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcSpecializationTrait =>
AttributeKind::RustcSpecializationTrait,
AttributeKind::RustcStdInternalSymbol =>
AttributeKind::RustcStdInternalSymbol,
AttributeKind::RustcStrictCoherence(__self_0) =>
AttributeKind::RustcStrictCoherence(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcTestMarker(__self_0) =>
AttributeKind::RustcTestMarker(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcThenThisWouldNeed(__self_0) =>
AttributeKind::RustcThenThisWouldNeed(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcTrivialFieldReads =>
AttributeKind::RustcTrivialFieldReads,
AttributeKind::RustcUnsafeSpecializationMarker =>
AttributeKind::RustcUnsafeSpecializationMarker,
AttributeKind::Sanitize {
on_set: __self_0,
off_set: __self_1,
rtsan: __self_2,
span: __self_3 } =>
AttributeKind::Sanitize {
on_set: ::core::clone::Clone::clone(__self_0),
off_set: ::core::clone::Clone::clone(__self_1),
rtsan: ::core::clone::Clone::clone(__self_2),
span: ::core::clone::Clone::clone(__self_3),
},
AttributeKind::ShouldPanic { reason: __self_0 } =>
AttributeKind::ShouldPanic {
reason: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::Splat(__self_0) =>
AttributeKind::Splat(::core::clone::Clone::clone(__self_0)),
AttributeKind::Stability { stability: __self_0, span: __self_1 }
=>
AttributeKind::Stability {
stability: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::TargetFeature {
features: __self_0, attr_span: __self_1, was_forced: __self_2
} =>
AttributeKind::TargetFeature {
features: ::core::clone::Clone::clone(__self_0),
attr_span: ::core::clone::Clone::clone(__self_1),
was_forced: ::core::clone::Clone::clone(__self_2),
},
AttributeKind::TestRunner(__self_0) =>
AttributeKind::TestRunner(::core::clone::Clone::clone(__self_0)),
AttributeKind::ThreadLocal => AttributeKind::ThreadLocal,
AttributeKind::TrackCaller(__self_0) =>
AttributeKind::TrackCaller(::core::clone::Clone::clone(__self_0)),
AttributeKind::TypeLengthLimit { limit: __self_0 } =>
AttributeKind::TypeLengthLimit {
limit: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::Unroll(__self_0) =>
AttributeKind::Unroll(::core::clone::Clone::clone(__self_0)),
AttributeKind::UnstableFeatureBound(__self_0) =>
AttributeKind::UnstableFeatureBound(::core::clone::Clone::clone(__self_0)),
AttributeKind::UnstableRemoved(__self_0) =>
AttributeKind::UnstableRemoved(::core::clone::Clone::clone(__self_0)),
AttributeKind::Used { used_by: __self_0 } =>
AttributeKind::Used {
used_by: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::WindowsSubsystem(__self_0) =>
AttributeKind::WindowsSubsystem(::core::clone::Clone::clone(__self_0)),
}
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for AttributeKind {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
AttributeKind::AllowInternalUnsafe(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"AllowInternalUnsafe", &__self_0),
AttributeKind::AllowInternalUnstable(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"AllowInternalUnstable", __self_0, &__self_1),
AttributeKind::AutomaticallyDerived =>
::core::fmt::Formatter::write_str(f, "AutomaticallyDerived"),
AttributeKind::CfgAttrTrace =>
::core::fmt::Formatter::write_str(f, "CfgAttrTrace"),
AttributeKind::CfgTrace(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"CfgTrace", &__self_0),
AttributeKind::CfiEncoding { encoding: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"CfiEncoding", "encoding", &__self_0),
AttributeKind::Cold =>
::core::fmt::Formatter::write_str(f, "Cold"),
AttributeKind::CollapseDebugInfo(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"CollapseDebugInfo", &__self_0),
AttributeKind::CompilerBuiltins =>
::core::fmt::Formatter::write_str(f, "CompilerBuiltins"),
AttributeKind::ConstContinue(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"ConstContinue", &__self_0),
AttributeKind::Coroutine =>
::core::fmt::Formatter::write_str(f, "Coroutine"),
AttributeKind::Coverage(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"Coverage", &__self_0),
AttributeKind::CrateName {
name: __self_0, name_span: __self_1, attr_span: __self_2 } =>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"CrateName", "name", __self_0, "name_span", __self_1,
"attr_span", &__self_2),
AttributeKind::CrateType(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"CrateType", &__self_0),
AttributeKind::CustomMir(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"CustomMir", __self_0, &__self_1),
AttributeKind::DebuggerVisualizer(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"DebuggerVisualizer", &__self_0),
AttributeKind::DefaultLibAllocator =>
::core::fmt::Formatter::write_str(f, "DefaultLibAllocator"),
AttributeKind::Deprecated { deprecation: __self_0, span: __self_1
} =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"Deprecated", "deprecation", __self_0, "span", &__self_1),
AttributeKind::DoNotRecommend =>
::core::fmt::Formatter::write_str(f, "DoNotRecommend"),
AttributeKind::Doc(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Doc",
&__self_0),
AttributeKind::DocComment {
style: __self_0,
kind: __self_1,
span: __self_2,
comment: __self_3 } =>
::core::fmt::Formatter::debug_struct_field4_finish(f,
"DocComment", "style", __self_0, "kind", __self_1, "span",
__self_2, "comment", &__self_3),
AttributeKind::EiiDeclaration(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"EiiDeclaration", &__self_0),
AttributeKind::EiiImpls(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"EiiImpls", &__self_0),
AttributeKind::ExportName { name: __self_0, span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"ExportName", "name", __self_0, "span", &__self_1),
AttributeKind::ExportStable =>
::core::fmt::Formatter::write_str(f, "ExportStable"),
AttributeKind::Feature(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"Feature", __self_0, &__self_1),
AttributeKind::FfiConst =>
::core::fmt::Formatter::write_str(f, "FfiConst"),
AttributeKind::FfiPure(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"FfiPure", &__self_0),
AttributeKind::Fundamental =>
::core::fmt::Formatter::write_str(f, "Fundamental"),
AttributeKind::Ignore { span: __self_0, reason: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"Ignore", "span", __self_0, "reason", &__self_1),
AttributeKind::Inline(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f, "Inline",
__self_0, &__self_1),
AttributeKind::InstructionSet(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"InstructionSet", &__self_0),
AttributeKind::InstrumentFn(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"InstrumentFn", &__self_0),
AttributeKind::Lang(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Lang",
&__self_0),
AttributeKind::Link(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f, "Link",
__self_0, &__self_1),
AttributeKind::LinkName { name: __self_0, span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"LinkName", "name", __self_0, "span", &__self_1),
AttributeKind::LinkOrdinal { ordinal: __self_0, span: __self_1 }
=>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"LinkOrdinal", "ordinal", __self_0, "span", &__self_1),
AttributeKind::LinkSection { name: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"LinkSection", "name", &__self_0),
AttributeKind::Linkage(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"Linkage", __self_0, &__self_1),
AttributeKind::LoopMatch(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"LoopMatch", &__self_0),
AttributeKind::MacroEscape =>
::core::fmt::Formatter::write_str(f, "MacroEscape"),
AttributeKind::MacroExport {
span: __self_0, local_inner_macros: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"MacroExport", "span", __self_0, "local_inner_macros",
&__self_1),
AttributeKind::MacroUse { span: __self_0, arguments: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"MacroUse", "span", __self_0, "arguments", &__self_1),
AttributeKind::Marker =>
::core::fmt::Formatter::write_str(f, "Marker"),
AttributeKind::MayDangle(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"MayDangle", &__self_0),
AttributeKind::MoveSizeLimit { limit: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"MoveSizeLimit", "limit", &__self_0),
AttributeKind::MustNotSupend { reason: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"MustNotSupend", "reason", &__self_0),
AttributeKind::MustUse { span: __self_0, reason: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"MustUse", "span", __self_0, "reason", &__self_1),
AttributeKind::Naked(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Naked",
&__self_0),
AttributeKind::NeedsAllocator =>
::core::fmt::Formatter::write_str(f, "NeedsAllocator"),
AttributeKind::NeedsPanicRuntime =>
::core::fmt::Formatter::write_str(f, "NeedsPanicRuntime"),
AttributeKind::NoBuiltins =>
::core::fmt::Formatter::write_str(f, "NoBuiltins"),
AttributeKind::NoCore =>
::core::fmt::Formatter::write_str(f, "NoCore"),
AttributeKind::NoImplicitPrelude =>
::core::fmt::Formatter::write_str(f, "NoImplicitPrelude"),
AttributeKind::NoLink =>
::core::fmt::Formatter::write_str(f, "NoLink"),
AttributeKind::NoMain =>
::core::fmt::Formatter::write_str(f, "NoMain"),
AttributeKind::NoMangle(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"NoMangle", &__self_0),
AttributeKind::NoStd =>
::core::fmt::Formatter::write_str(f, "NoStd"),
AttributeKind::NonExhaustive(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"NonExhaustive", &__self_0),
AttributeKind::OnConst { span: __self_0, directive: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"OnConst", "span", __self_0, "directive", &__self_1),
AttributeKind::OnMove { directive: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"OnMove", "directive", &__self_0),
AttributeKind::OnTypeError { span: __self_0, directive: __self_1 }
=>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"OnTypeError", "span", __self_0, "directive", &__self_1),
AttributeKind::OnUnimplemented { directive: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"OnUnimplemented", "directive", &__self_0),
AttributeKind::OnUnknown { directive: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"OnUnknown", "directive", &__self_0),
AttributeKind::OnUnmatchedArgs { directive: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"OnUnmatchedArgs", "directive", &__self_0),
AttributeKind::Optimize(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"Optimize", __self_0, &__self_1),
AttributeKind::PanicRuntime =>
::core::fmt::Formatter::write_str(f, "PanicRuntime"),
AttributeKind::PatchableFunctionEntry {
prefix: __self_0, entry: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"PatchableFunctionEntry", "prefix", __self_0, "entry",
&__self_1),
AttributeKind::Path(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Path",
&__self_0),
AttributeKind::PatternComplexityLimit { limit: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"PatternComplexityLimit", "limit", &__self_0),
AttributeKind::PinV2(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "PinV2",
&__self_0),
AttributeKind::PreludeImport =>
::core::fmt::Formatter::write_str(f, "PreludeImport"),
AttributeKind::ProcMacro =>
::core::fmt::Formatter::write_str(f, "ProcMacro"),
AttributeKind::ProcMacroAttribute =>
::core::fmt::Formatter::write_str(f, "ProcMacroAttribute"),
AttributeKind::ProcMacroDerive {
trait_name: __self_0, helper_attrs: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"ProcMacroDerive", "trait_name", __self_0, "helper_attrs",
&__self_1),
AttributeKind::ProfilerRuntime =>
::core::fmt::Formatter::write_str(f, "ProfilerRuntime"),
AttributeKind::RecursionLimit { limit: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"RecursionLimit", "limit", &__self_0),
AttributeKind::ReexportTestHarnessMain(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"ReexportTestHarnessMain", &__self_0),
AttributeKind::RegisterTool(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RegisterTool", &__self_0),
AttributeKind::Repr { reprs: __self_0, first_span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f, "Repr",
"reprs", __self_0, "first_span", &__self_1),
AttributeKind::RustcAbi { attr_span: __self_0, kind: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcAbi", "attr_span", __self_0, "kind", &__self_1),
AttributeKind::RustcAlign { align: __self_0, span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcAlign", "align", __self_0, "span", &__self_1),
AttributeKind::RustcAllocator =>
::core::fmt::Formatter::write_str(f, "RustcAllocator"),
AttributeKind::RustcAllocatorZeroed =>
::core::fmt::Formatter::write_str(f, "RustcAllocatorZeroed"),
AttributeKind::RustcAllocatorZeroedVariant { name: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"RustcAllocatorZeroedVariant", "name", &__self_0),
AttributeKind::RustcAllowConstFnUnstable(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"RustcAllowConstFnUnstable", __self_0, &__self_1),
AttributeKind::RustcAllowIncoherentImpl(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcAllowIncoherentImpl", &__self_0),
AttributeKind::RustcAsPtr =>
::core::fmt::Formatter::write_str(f, "RustcAsPtr"),
AttributeKind::RustcAutodiff(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcAutodiff", &__self_0),
AttributeKind::RustcBodyStability {
stability: __self_0, span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcBodyStability", "stability", __self_0, "span",
&__self_1),
AttributeKind::RustcBuiltinMacro {
builtin_name: __self_0, helper_attrs: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcBuiltinMacro", "builtin_name", __self_0,
"helper_attrs", &__self_1),
AttributeKind::RustcCaptureAnalysis =>
::core::fmt::Formatter::write_str(f, "RustcCaptureAnalysis"),
AttributeKind::RustcCguTestAttr(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcCguTestAttr", &__self_0),
AttributeKind::RustcClean(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcClean", &__self_0),
AttributeKind::RustcCoherenceIsCore =>
::core::fmt::Formatter::write_str(f, "RustcCoherenceIsCore"),
AttributeKind::RustcCoinductive =>
::core::fmt::Formatter::write_str(f, "RustcCoinductive"),
AttributeKind::RustcComptime(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcComptime", &__self_0),
AttributeKind::RustcConfusables { confusables: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"RustcConfusables", "confusables", &__self_0),
AttributeKind::RustcConstStability {
stability: __self_0, span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcConstStability", "stability", __self_0, "span",
&__self_1),
AttributeKind::RustcConstStableIndirect =>
::core::fmt::Formatter::write_str(f,
"RustcConstStableIndirect"),
AttributeKind::RustcConversionSuggestion =>
::core::fmt::Formatter::write_str(f,
"RustcConversionSuggestion"),
AttributeKind::RustcDeallocator =>
::core::fmt::Formatter::write_str(f, "RustcDeallocator"),
AttributeKind::RustcDelayedBugFromInsideQuery =>
::core::fmt::Formatter::write_str(f,
"RustcDelayedBugFromInsideQuery"),
AttributeKind::RustcDenyExplicitImpl =>
::core::fmt::Formatter::write_str(f, "RustcDenyExplicitImpl"),
AttributeKind::RustcDeprecatedSafe2024 { suggestion: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"RustcDeprecatedSafe2024", "suggestion", &__self_0),
AttributeKind::RustcDiagnosticItem(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcDiagnosticItem", &__self_0),
AttributeKind::RustcDoNotConstCheck =>
::core::fmt::Formatter::write_str(f, "RustcDoNotConstCheck"),
AttributeKind::RustcDocPrimitive(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"RustcDocPrimitive", __self_0, &__self_1),
AttributeKind::RustcDummy =>
::core::fmt::Formatter::write_str(f, "RustcDummy"),
AttributeKind::RustcDumpDefParents =>
::core::fmt::Formatter::write_str(f, "RustcDumpDefParents"),
AttributeKind::RustcDumpDefPath(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcDumpDefPath", &__self_0),
AttributeKind::RustcDumpGenerics =>
::core::fmt::Formatter::write_str(f, "RustcDumpGenerics"),
AttributeKind::RustcDumpHiddenTypeOfOpaques =>
::core::fmt::Formatter::write_str(f,
"RustcDumpHiddenTypeOfOpaques"),
AttributeKind::RustcDumpInferredOutlives =>
::core::fmt::Formatter::write_str(f,
"RustcDumpInferredOutlives"),
AttributeKind::RustcDumpItemBounds =>
::core::fmt::Formatter::write_str(f, "RustcDumpItemBounds"),
AttributeKind::RustcDumpLayout(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcDumpLayout", &__self_0),
AttributeKind::RustcDumpObjectLifetimeDefaults =>
::core::fmt::Formatter::write_str(f,
"RustcDumpObjectLifetimeDefaults"),
AttributeKind::RustcDumpPredicates =>
::core::fmt::Formatter::write_str(f, "RustcDumpPredicates"),
AttributeKind::RustcDumpSymbolName(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcDumpSymbolName", &__self_0),
AttributeKind::RustcDumpUserArgs =>
::core::fmt::Formatter::write_str(f, "RustcDumpUserArgs"),
AttributeKind::RustcDumpVariances =>
::core::fmt::Formatter::write_str(f, "RustcDumpVariances"),
AttributeKind::RustcDumpVariancesOfOpaques =>
::core::fmt::Formatter::write_str(f,
"RustcDumpVariancesOfOpaques"),
AttributeKind::RustcDumpVtable(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcDumpVtable", &__self_0),
AttributeKind::RustcDynIncompatibleTrait(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcDynIncompatibleTrait", &__self_0),
AttributeKind::RustcEffectiveVisibility =>
::core::fmt::Formatter::write_str(f,
"RustcEffectiveVisibility"),
AttributeKind::RustcEiiForeignItem =>
::core::fmt::Formatter::write_str(f, "RustcEiiForeignItem"),
AttributeKind::RustcEvaluateWhereClauses =>
::core::fmt::Formatter::write_str(f,
"RustcEvaluateWhereClauses"),
AttributeKind::RustcHasIncoherentInherentImpls =>
::core::fmt::Formatter::write_str(f,
"RustcHasIncoherentInherentImpls"),
AttributeKind::RustcIfThisChanged(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"RustcIfThisChanged", __self_0, &__self_1),
AttributeKind::RustcInheritOverflowChecks =>
::core::fmt::Formatter::write_str(f,
"RustcInheritOverflowChecks"),
AttributeKind::RustcInsignificantDtor =>
::core::fmt::Formatter::write_str(f,
"RustcInsignificantDtor"),
AttributeKind::RustcIntrinsic =>
::core::fmt::Formatter::write_str(f, "RustcIntrinsic"),
AttributeKind::RustcIntrinsicConstStableIndirect =>
::core::fmt::Formatter::write_str(f,
"RustcIntrinsicConstStableIndirect"),
AttributeKind::RustcLegacyConstGenerics {
fn_indexes: __self_0, attr_span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcLegacyConstGenerics", "fn_indexes", __self_0,
"attr_span", &__self_1),
AttributeKind::RustcLintOptDenyFieldAccess {
lint_message: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"RustcLintOptDenyFieldAccess", "lint_message", &__self_0),
AttributeKind::RustcLintOptTy =>
::core::fmt::Formatter::write_str(f, "RustcLintOptTy"),
AttributeKind::RustcLintQueryInstability =>
::core::fmt::Formatter::write_str(f,
"RustcLintQueryInstability"),
AttributeKind::RustcLintUntrackedQueryInformation =>
::core::fmt::Formatter::write_str(f,
"RustcLintUntrackedQueryInformation"),
AttributeKind::RustcMacroTransparency(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcMacroTransparency", &__self_0),
AttributeKind::RustcMain =>
::core::fmt::Formatter::write_str(f, "RustcMain"),
AttributeKind::RustcMir(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcMir", &__self_0),
AttributeKind::RustcMustImplementOneOf {
attr_span: __self_0, fn_names: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcMustImplementOneOf", "attr_span", __self_0,
"fn_names", &__self_1),
AttributeKind::RustcMustMatchExhaustively(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcMustMatchExhaustively", &__self_0),
AttributeKind::RustcNeverReturnsNullPtr =>
::core::fmt::Formatter::write_str(f,
"RustcNeverReturnsNullPtr"),
AttributeKind::RustcNeverTypeOptions {
fallback: __self_0, diverging_block_default: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcNeverTypeOptions", "fallback", __self_0,
"diverging_block_default", &__self_1),
AttributeKind::RustcNoImplicitAutorefs =>
::core::fmt::Formatter::write_str(f,
"RustcNoImplicitAutorefs"),
AttributeKind::RustcNoImplicitBounds =>
::core::fmt::Formatter::write_str(f, "RustcNoImplicitBounds"),
AttributeKind::RustcNoMirInline =>
::core::fmt::Formatter::write_str(f, "RustcNoMirInline"),
AttributeKind::RustcNoWritable =>
::core::fmt::Formatter::write_str(f, "RustcNoWritable"),
AttributeKind::RustcNonConstTraitMethod =>
::core::fmt::Formatter::write_str(f,
"RustcNonConstTraitMethod"),
AttributeKind::RustcNonnullOptimizationGuaranteed =>
::core::fmt::Formatter::write_str(f,
"RustcNonnullOptimizationGuaranteed"),
AttributeKind::RustcNounwind =>
::core::fmt::Formatter::write_str(f, "RustcNounwind"),
AttributeKind::RustcObjcClass { classname: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"RustcObjcClass", "classname", &__self_0),
AttributeKind::RustcObjcSelector { methname: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"RustcObjcSelector", "methname", &__self_0),
AttributeKind::RustcOffloadKernel =>
::core::fmt::Formatter::write_str(f, "RustcOffloadKernel"),
AttributeKind::RustcParenSugar =>
::core::fmt::Formatter::write_str(f, "RustcParenSugar"),
AttributeKind::RustcPassByValue =>
::core::fmt::Formatter::write_str(f, "RustcPassByValue"),
AttributeKind::RustcPassIndirectlyInNonRusticAbis(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcPassIndirectlyInNonRusticAbis", &__self_0),
AttributeKind::RustcPreserveUbChecks =>
::core::fmt::Formatter::write_str(f, "RustcPreserveUbChecks"),
AttributeKind::RustcProcMacroDecls =>
::core::fmt::Formatter::write_str(f, "RustcProcMacroDecls"),
AttributeKind::RustcPubTransparent(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcPubTransparent", &__self_0),
AttributeKind::RustcReallocator =>
::core::fmt::Formatter::write_str(f, "RustcReallocator"),
AttributeKind::RustcRegions =>
::core::fmt::Formatter::write_str(f, "RustcRegions"),
AttributeKind::RustcReservationImpl(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcReservationImpl", &__self_0),
AttributeKind::RustcScalableVector { element_count: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"RustcScalableVector", "element_count", &__self_0),
AttributeKind::RustcShouldNotBeCalledOnConstItems =>
::core::fmt::Formatter::write_str(f,
"RustcShouldNotBeCalledOnConstItems"),
AttributeKind::RustcSimdMonomorphizeLaneLimit(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcSimdMonomorphizeLaneLimit", &__self_0),
AttributeKind::RustcSkipDuringMethodDispatch {
array: __self_0, boxed_slice: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcSkipDuringMethodDispatch", "array", __self_0,
"boxed_slice", &__self_1),
AttributeKind::RustcSpecializationTrait =>
::core::fmt::Formatter::write_str(f,
"RustcSpecializationTrait"),
AttributeKind::RustcStdInternalSymbol =>
::core::fmt::Formatter::write_str(f,
"RustcStdInternalSymbol"),
AttributeKind::RustcStrictCoherence(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcStrictCoherence", &__self_0),
AttributeKind::RustcTestMarker(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcTestMarker", &__self_0),
AttributeKind::RustcThenThisWouldNeed(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcThenThisWouldNeed", &__self_0),
AttributeKind::RustcTrivialFieldReads =>
::core::fmt::Formatter::write_str(f,
"RustcTrivialFieldReads"),
AttributeKind::RustcUnsafeSpecializationMarker =>
::core::fmt::Formatter::write_str(f,
"RustcUnsafeSpecializationMarker"),
AttributeKind::Sanitize {
on_set: __self_0,
off_set: __self_1,
rtsan: __self_2,
span: __self_3 } =>
::core::fmt::Formatter::debug_struct_field4_finish(f,
"Sanitize", "on_set", __self_0, "off_set", __self_1,
"rtsan", __self_2, "span", &__self_3),
AttributeKind::ShouldPanic { reason: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"ShouldPanic", "reason", &__self_0),
AttributeKind::Splat(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Splat",
&__self_0),
AttributeKind::Stability { stability: __self_0, span: __self_1 }
=>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"Stability", "stability", __self_0, "span", &__self_1),
AttributeKind::TargetFeature {
features: __self_0, attr_span: __self_1, was_forced: __self_2
} =>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"TargetFeature", "features", __self_0, "attr_span",
__self_1, "was_forced", &__self_2),
AttributeKind::TestRunner(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"TestRunner", &__self_0),
AttributeKind::ThreadLocal =>
::core::fmt::Formatter::write_str(f, "ThreadLocal"),
AttributeKind::TrackCaller(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"TrackCaller", &__self_0),
AttributeKind::TypeLengthLimit { limit: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"TypeLengthLimit", "limit", &__self_0),
AttributeKind::Unroll(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Unroll",
&__self_0),
AttributeKind::UnstableFeatureBound(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"UnstableFeatureBound", &__self_0),
AttributeKind::UnstableRemoved(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"UnstableRemoved", &__self_0),
AttributeKind::Used { used_by: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f, "Used",
"used_by", &__self_0),
AttributeKind::WindowsSubsystem(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"WindowsSubsystem", &__self_0),
}
}
}Debug, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for
AttributeKind {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
AttributeKind::AllowInternalUnsafe(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::AllowInternalUnstable(ref __binding_0,
ref __binding_1) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::AutomaticallyDerived => {}
AttributeKind::CfgAttrTrace => {}
AttributeKind::CfgTrace(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::CfiEncoding { encoding: ref __binding_0 } =>
{
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::Cold => {}
AttributeKind::CollapseDebugInfo(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::CompilerBuiltins => {}
AttributeKind::ConstContinue(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::Coroutine => {}
AttributeKind::Coverage(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::CrateName {
name: ref __binding_0,
name_span: ref __binding_1,
attr_span: ref __binding_2 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
}
AttributeKind::CrateType(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::CustomMir(ref __binding_0, ref __binding_1)
=> {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::DebuggerVisualizer(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::DefaultLibAllocator => {}
AttributeKind::Deprecated {
deprecation: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::DoNotRecommend => {}
AttributeKind::Doc(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::DocComment {
style: ref __binding_0,
kind: ref __binding_1,
span: ref __binding_2,
comment: ref __binding_3 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
{ __binding_3.stable_hash(__hcx, __hasher); }
}
AttributeKind::EiiDeclaration(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::EiiImpls(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::ExportName {
name: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::ExportStable => {}
AttributeKind::Feature(ref __binding_0, ref __binding_1) =>
{
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::FfiConst => {}
AttributeKind::FfiPure(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::Fundamental => {}
AttributeKind::Ignore {
span: ref __binding_0, reason: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::Inline(ref __binding_0, ref __binding_1) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::InstructionSet(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::InstrumentFn(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::Lang(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::Link(ref __binding_0, ref __binding_1) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::LinkName {
name: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::LinkOrdinal {
ordinal: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::LinkSection { name: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::Linkage(ref __binding_0, ref __binding_1) =>
{
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::LoopMatch(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::MacroEscape => {}
AttributeKind::MacroExport {
span: ref __binding_0, local_inner_macros: ref __binding_1 }
=> {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::MacroUse {
span: ref __binding_0, arguments: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::Marker => {}
AttributeKind::MayDangle(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::MoveSizeLimit { limit: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::MustNotSupend { reason: ref __binding_0 } =>
{
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::MustUse {
span: ref __binding_0, reason: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::Naked(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::NeedsAllocator => {}
AttributeKind::NeedsPanicRuntime => {}
AttributeKind::NoBuiltins => {}
AttributeKind::NoCore => {}
AttributeKind::NoImplicitPrelude => {}
AttributeKind::NoLink => {}
AttributeKind::NoMain => {}
AttributeKind::NoMangle(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::NoStd => {}
AttributeKind::NonExhaustive(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::OnConst {
span: ref __binding_0, directive: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::OnMove { directive: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::OnTypeError {
span: ref __binding_0, directive: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::OnUnimplemented { directive: ref __binding_0
} => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::OnUnknown { directive: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::OnUnmatchedArgs { directive: ref __binding_0
} => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::Optimize(ref __binding_0, ref __binding_1) =>
{
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::PanicRuntime => {}
AttributeKind::PatchableFunctionEntry {
prefix: ref __binding_0, entry: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::Path(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::PatternComplexityLimit {
limit: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::PinV2(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::PreludeImport => {}
AttributeKind::ProcMacro => {}
AttributeKind::ProcMacroAttribute => {}
AttributeKind::ProcMacroDerive {
trait_name: ref __binding_0, helper_attrs: ref __binding_1 }
=> {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::ProfilerRuntime => {}
AttributeKind::RecursionLimit { limit: ref __binding_0 } =>
{
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::ReexportTestHarnessMain(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RegisterTool(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::Repr {
reprs: ref __binding_0, first_span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcAbi {
attr_span: ref __binding_0, kind: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcAlign {
align: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcAllocator => {}
AttributeKind::RustcAllocatorZeroed => {}
AttributeKind::RustcAllocatorZeroedVariant {
name: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcAllowConstFnUnstable(ref __binding_0,
ref __binding_1) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcAllowIncoherentImpl(ref __binding_0) =>
{
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcAsPtr => {}
AttributeKind::RustcAutodiff(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcBodyStability {
stability: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcBuiltinMacro {
builtin_name: ref __binding_0, helper_attrs: ref __binding_1
} => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcCaptureAnalysis => {}
AttributeKind::RustcCguTestAttr(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcClean(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcCoherenceIsCore => {}
AttributeKind::RustcCoinductive => {}
AttributeKind::RustcComptime(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcConfusables {
confusables: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcConstStability {
stability: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcConstStableIndirect => {}
AttributeKind::RustcConversionSuggestion => {}
AttributeKind::RustcDeallocator => {}
AttributeKind::RustcDelayedBugFromInsideQuery => {}
AttributeKind::RustcDenyExplicitImpl => {}
AttributeKind::RustcDeprecatedSafe2024 {
suggestion: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcDiagnosticItem(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcDoNotConstCheck => {}
AttributeKind::RustcDocPrimitive(ref __binding_0,
ref __binding_1) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcDummy => {}
AttributeKind::RustcDumpDefParents => {}
AttributeKind::RustcDumpDefPath(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcDumpGenerics => {}
AttributeKind::RustcDumpHiddenTypeOfOpaques => {}
AttributeKind::RustcDumpInferredOutlives => {}
AttributeKind::RustcDumpItemBounds => {}
AttributeKind::RustcDumpLayout(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcDumpObjectLifetimeDefaults => {}
AttributeKind::RustcDumpPredicates => {}
AttributeKind::RustcDumpSymbolName(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcDumpUserArgs => {}
AttributeKind::RustcDumpVariances => {}
AttributeKind::RustcDumpVariancesOfOpaques => {}
AttributeKind::RustcDumpVtable(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcDynIncompatibleTrait(ref __binding_0) =>
{
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcEffectiveVisibility => {}
AttributeKind::RustcEiiForeignItem => {}
AttributeKind::RustcEvaluateWhereClauses => {}
AttributeKind::RustcHasIncoherentInherentImpls => {}
AttributeKind::RustcIfThisChanged(ref __binding_0,
ref __binding_1) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcInheritOverflowChecks => {}
AttributeKind::RustcInsignificantDtor => {}
AttributeKind::RustcIntrinsic => {}
AttributeKind::RustcIntrinsicConstStableIndirect => {}
AttributeKind::RustcLegacyConstGenerics {
fn_indexes: ref __binding_0, attr_span: ref __binding_1 } =>
{
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcLintOptDenyFieldAccess {
lint_message: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcLintOptTy => {}
AttributeKind::RustcLintQueryInstability => {}
AttributeKind::RustcLintUntrackedQueryInformation => {}
AttributeKind::RustcMacroTransparency(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcMain => {}
AttributeKind::RustcMir(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcMustImplementOneOf {
attr_span: ref __binding_0, fn_names: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcMustMatchExhaustively(ref __binding_0)
=> {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcNeverReturnsNullPtr => {}
AttributeKind::RustcNeverTypeOptions {
fallback: ref __binding_0,
diverging_block_default: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcNoImplicitAutorefs => {}
AttributeKind::RustcNoImplicitBounds => {}
AttributeKind::RustcNoMirInline => {}
AttributeKind::RustcNoWritable => {}
AttributeKind::RustcNonConstTraitMethod => {}
AttributeKind::RustcNonnullOptimizationGuaranteed => {}
AttributeKind::RustcNounwind => {}
AttributeKind::RustcObjcClass { classname: ref __binding_0 }
=> {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcObjcSelector { methname: ref __binding_0
} => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcOffloadKernel => {}
AttributeKind::RustcParenSugar => {}
AttributeKind::RustcPassByValue => {}
AttributeKind::RustcPassIndirectlyInNonRusticAbis(ref __binding_0)
=> {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcPreserveUbChecks => {}
AttributeKind::RustcProcMacroDecls => {}
AttributeKind::RustcPubTransparent(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcReallocator => {}
AttributeKind::RustcRegions => {}
AttributeKind::RustcReservationImpl(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcScalableVector {
element_count: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcShouldNotBeCalledOnConstItems => {}
AttributeKind::RustcSimdMonomorphizeLaneLimit(ref __binding_0)
=> {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcSkipDuringMethodDispatch {
array: ref __binding_0, boxed_slice: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcSpecializationTrait => {}
AttributeKind::RustcStdInternalSymbol => {}
AttributeKind::RustcStrictCoherence(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcTestMarker(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcThenThisWouldNeed(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcTrivialFieldReads => {}
AttributeKind::RustcUnsafeSpecializationMarker => {}
AttributeKind::Sanitize {
on_set: ref __binding_0,
off_set: ref __binding_1,
rtsan: ref __binding_2,
span: ref __binding_3 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
{ __binding_3.stable_hash(__hcx, __hasher); }
}
AttributeKind::ShouldPanic { reason: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::Splat(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::Stability {
stability: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::TargetFeature {
features: ref __binding_0,
attr_span: ref __binding_1,
was_forced: ref __binding_2 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
}
AttributeKind::TestRunner(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::ThreadLocal => {}
AttributeKind::TrackCaller(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::TypeLengthLimit { limit: ref __binding_0 } =>
{
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::Unroll(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::UnstableFeatureBound(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::UnstableRemoved(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::Used { used_by: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::WindowsSubsystem(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for AttributeKind {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
AttributeKind::AllowInternalUnsafe(ref __binding_0) => {
0usize
}
AttributeKind::AllowInternalUnstable(ref __binding_0,
ref __binding_1) => {
1usize
}
AttributeKind::AutomaticallyDerived => { 2usize }
AttributeKind::CfgAttrTrace => { 3usize }
AttributeKind::CfgTrace(ref __binding_0) => { 4usize }
AttributeKind::CfiEncoding { encoding: ref __binding_0 } =>
{
5usize
}
AttributeKind::Cold => { 6usize }
AttributeKind::CollapseDebugInfo(ref __binding_0) => {
7usize
}
AttributeKind::CompilerBuiltins => { 8usize }
AttributeKind::ConstContinue(ref __binding_0) => { 9usize }
AttributeKind::Coroutine => { 10usize }
AttributeKind::Coverage(ref __binding_0) => { 11usize }
AttributeKind::CrateName {
name: ref __binding_0,
name_span: ref __binding_1,
attr_span: ref __binding_2 } => {
12usize
}
AttributeKind::CrateType(ref __binding_0) => { 13usize }
AttributeKind::CustomMir(ref __binding_0, ref __binding_1)
=> {
14usize
}
AttributeKind::DebuggerVisualizer(ref __binding_0) => {
15usize
}
AttributeKind::DefaultLibAllocator => { 16usize }
AttributeKind::Deprecated {
deprecation: ref __binding_0, span: ref __binding_1 } => {
17usize
}
AttributeKind::DoNotRecommend => { 18usize }
AttributeKind::Doc(ref __binding_0) => { 19usize }
AttributeKind::DocComment {
style: ref __binding_0,
kind: ref __binding_1,
span: ref __binding_2,
comment: ref __binding_3 } => {
20usize
}
AttributeKind::EiiDeclaration(ref __binding_0) => {
21usize
}
AttributeKind::EiiImpls(ref __binding_0) => { 22usize }
AttributeKind::ExportName {
name: ref __binding_0, span: ref __binding_1 } => {
23usize
}
AttributeKind::ExportStable => { 24usize }
AttributeKind::Feature(ref __binding_0, ref __binding_1) =>
{
25usize
}
AttributeKind::FfiConst => { 26usize }
AttributeKind::FfiPure(ref __binding_0) => { 27usize }
AttributeKind::Fundamental => { 28usize }
AttributeKind::Ignore {
span: ref __binding_0, reason: ref __binding_1 } => {
29usize
}
AttributeKind::Inline(ref __binding_0, ref __binding_1) => {
30usize
}
AttributeKind::InstructionSet(ref __binding_0) => {
31usize
}
AttributeKind::InstrumentFn(ref __binding_0) => { 32usize }
AttributeKind::Lang(ref __binding_0) => { 33usize }
AttributeKind::Link(ref __binding_0, ref __binding_1) => {
34usize
}
AttributeKind::LinkName {
name: ref __binding_0, span: ref __binding_1 } => {
35usize
}
AttributeKind::LinkOrdinal {
ordinal: ref __binding_0, span: ref __binding_1 } => {
36usize
}
AttributeKind::LinkSection { name: ref __binding_0 } => {
37usize
}
AttributeKind::Linkage(ref __binding_0, ref __binding_1) =>
{
38usize
}
AttributeKind::LoopMatch(ref __binding_0) => { 39usize }
AttributeKind::MacroEscape => { 40usize }
AttributeKind::MacroExport {
span: ref __binding_0, local_inner_macros: ref __binding_1 }
=> {
41usize
}
AttributeKind::MacroUse {
span: ref __binding_0, arguments: ref __binding_1 } => {
42usize
}
AttributeKind::Marker => { 43usize }
AttributeKind::MayDangle(ref __binding_0) => { 44usize }
AttributeKind::MoveSizeLimit { limit: ref __binding_0 } => {
45usize
}
AttributeKind::MustNotSupend { reason: ref __binding_0 } =>
{
46usize
}
AttributeKind::MustUse {
span: ref __binding_0, reason: ref __binding_1 } => {
47usize
}
AttributeKind::Naked(ref __binding_0) => { 48usize }
AttributeKind::NeedsAllocator => { 49usize }
AttributeKind::NeedsPanicRuntime => { 50usize }
AttributeKind::NoBuiltins => { 51usize }
AttributeKind::NoCore => { 52usize }
AttributeKind::NoImplicitPrelude => { 53usize }
AttributeKind::NoLink => { 54usize }
AttributeKind::NoMain => { 55usize }
AttributeKind::NoMangle(ref __binding_0) => { 56usize }
AttributeKind::NoStd => { 57usize }
AttributeKind::NonExhaustive(ref __binding_0) => { 58usize }
AttributeKind::OnConst {
span: ref __binding_0, directive: ref __binding_1 } => {
59usize
}
AttributeKind::OnMove { directive: ref __binding_0 } => {
60usize
}
AttributeKind::OnTypeError {
span: ref __binding_0, directive: ref __binding_1 } => {
61usize
}
AttributeKind::OnUnimplemented { directive: ref __binding_0
} => {
62usize
}
AttributeKind::OnUnknown { directive: ref __binding_0 } => {
63usize
}
AttributeKind::OnUnmatchedArgs { directive: ref __binding_0
} => {
64usize
}
AttributeKind::Optimize(ref __binding_0, ref __binding_1) =>
{
65usize
}
AttributeKind::PanicRuntime => { 66usize }
AttributeKind::PatchableFunctionEntry {
prefix: ref __binding_0, entry: ref __binding_1 } => {
67usize
}
AttributeKind::Path(ref __binding_0) => { 68usize }
AttributeKind::PatternComplexityLimit {
limit: ref __binding_0 } => {
69usize
}
AttributeKind::PinV2(ref __binding_0) => { 70usize }
AttributeKind::PreludeImport => { 71usize }
AttributeKind::ProcMacro => { 72usize }
AttributeKind::ProcMacroAttribute => { 73usize }
AttributeKind::ProcMacroDerive {
trait_name: ref __binding_0, helper_attrs: ref __binding_1 }
=> {
74usize
}
AttributeKind::ProfilerRuntime => { 75usize }
AttributeKind::RecursionLimit { limit: ref __binding_0 } =>
{
76usize
}
AttributeKind::ReexportTestHarnessMain(ref __binding_0) => {
77usize
}
AttributeKind::RegisterTool(ref __binding_0) => { 78usize }
AttributeKind::Repr {
reprs: ref __binding_0, first_span: ref __binding_1 } => {
79usize
}
AttributeKind::RustcAbi {
attr_span: ref __binding_0, kind: ref __binding_1 } => {
80usize
}
AttributeKind::RustcAlign {
align: ref __binding_0, span: ref __binding_1 } => {
81usize
}
AttributeKind::RustcAllocator => { 82usize }
AttributeKind::RustcAllocatorZeroed => { 83usize }
AttributeKind::RustcAllocatorZeroedVariant {
name: ref __binding_0 } => {
84usize
}
AttributeKind::RustcAllowConstFnUnstable(ref __binding_0,
ref __binding_1) => {
85usize
}
AttributeKind::RustcAllowIncoherentImpl(ref __binding_0) =>
{
86usize
}
AttributeKind::RustcAsPtr => { 87usize }
AttributeKind::RustcAutodiff(ref __binding_0) => { 88usize }
AttributeKind::RustcBodyStability {
stability: ref __binding_0, span: ref __binding_1 } => {
89usize
}
AttributeKind::RustcBuiltinMacro {
builtin_name: ref __binding_0, helper_attrs: ref __binding_1
} => {
90usize
}
AttributeKind::RustcCaptureAnalysis => { 91usize }
AttributeKind::RustcCguTestAttr(ref __binding_0) => {
92usize
}
AttributeKind::RustcClean(ref __binding_0) => { 93usize }
AttributeKind::RustcCoherenceIsCore => { 94usize }
AttributeKind::RustcCoinductive => { 95usize }
AttributeKind::RustcComptime(ref __binding_0) => { 96usize }
AttributeKind::RustcConfusables {
confusables: ref __binding_0 } => {
97usize
}
AttributeKind::RustcConstStability {
stability: ref __binding_0, span: ref __binding_1 } => {
98usize
}
AttributeKind::RustcConstStableIndirect => { 99usize }
AttributeKind::RustcConversionSuggestion => { 100usize }
AttributeKind::RustcDeallocator => { 101usize }
AttributeKind::RustcDelayedBugFromInsideQuery => {
102usize
}
AttributeKind::RustcDenyExplicitImpl => { 103usize }
AttributeKind::RustcDeprecatedSafe2024 {
suggestion: ref __binding_0 } => {
104usize
}
AttributeKind::RustcDiagnosticItem(ref __binding_0) => {
105usize
}
AttributeKind::RustcDoNotConstCheck => { 106usize }
AttributeKind::RustcDocPrimitive(ref __binding_0,
ref __binding_1) => {
107usize
}
AttributeKind::RustcDummy => { 108usize }
AttributeKind::RustcDumpDefParents => { 109usize }
AttributeKind::RustcDumpDefPath(ref __binding_0) => {
110usize
}
AttributeKind::RustcDumpGenerics => { 111usize }
AttributeKind::RustcDumpHiddenTypeOfOpaques => { 112usize }
AttributeKind::RustcDumpInferredOutlives => { 113usize }
AttributeKind::RustcDumpItemBounds => { 114usize }
AttributeKind::RustcDumpLayout(ref __binding_0) => {
115usize
}
AttributeKind::RustcDumpObjectLifetimeDefaults => {
116usize
}
AttributeKind::RustcDumpPredicates => { 117usize }
AttributeKind::RustcDumpSymbolName(ref __binding_0) => {
118usize
}
AttributeKind::RustcDumpUserArgs => { 119usize }
AttributeKind::RustcDumpVariances => { 120usize }
AttributeKind::RustcDumpVariancesOfOpaques => { 121usize }
AttributeKind::RustcDumpVtable(ref __binding_0) => {
122usize
}
AttributeKind::RustcDynIncompatibleTrait(ref __binding_0) =>
{
123usize
}
AttributeKind::RustcEffectiveVisibility => { 124usize }
AttributeKind::RustcEiiForeignItem => { 125usize }
AttributeKind::RustcEvaluateWhereClauses => { 126usize }
AttributeKind::RustcHasIncoherentInherentImpls => {
127usize
}
AttributeKind::RustcIfThisChanged(ref __binding_0,
ref __binding_1) => {
128usize
}
AttributeKind::RustcInheritOverflowChecks => { 129usize }
AttributeKind::RustcInsignificantDtor => { 130usize }
AttributeKind::RustcIntrinsic => { 131usize }
AttributeKind::RustcIntrinsicConstStableIndirect => {
132usize
}
AttributeKind::RustcLegacyConstGenerics {
fn_indexes: ref __binding_0, attr_span: ref __binding_1 } =>
{
133usize
}
AttributeKind::RustcLintOptDenyFieldAccess {
lint_message: ref __binding_0 } => {
134usize
}
AttributeKind::RustcLintOptTy => { 135usize }
AttributeKind::RustcLintQueryInstability => { 136usize }
AttributeKind::RustcLintUntrackedQueryInformation => {
137usize
}
AttributeKind::RustcMacroTransparency(ref __binding_0) => {
138usize
}
AttributeKind::RustcMain => { 139usize }
AttributeKind::RustcMir(ref __binding_0) => { 140usize }
AttributeKind::RustcMustImplementOneOf {
attr_span: ref __binding_0, fn_names: ref __binding_1 } => {
141usize
}
AttributeKind::RustcMustMatchExhaustively(ref __binding_0)
=> {
142usize
}
AttributeKind::RustcNeverReturnsNullPtr => { 143usize }
AttributeKind::RustcNeverTypeOptions {
fallback: ref __binding_0,
diverging_block_default: ref __binding_1 } => {
144usize
}
AttributeKind::RustcNoImplicitAutorefs => { 145usize }
AttributeKind::RustcNoImplicitBounds => { 146usize }
AttributeKind::RustcNoMirInline => { 147usize }
AttributeKind::RustcNoWritable => { 148usize }
AttributeKind::RustcNonConstTraitMethod => { 149usize }
AttributeKind::RustcNonnullOptimizationGuaranteed => {
150usize
}
AttributeKind::RustcNounwind => { 151usize }
AttributeKind::RustcObjcClass { classname: ref __binding_0 }
=> {
152usize
}
AttributeKind::RustcObjcSelector { methname: ref __binding_0
} => {
153usize
}
AttributeKind::RustcOffloadKernel => { 154usize }
AttributeKind::RustcParenSugar => { 155usize }
AttributeKind::RustcPassByValue => { 156usize }
AttributeKind::RustcPassIndirectlyInNonRusticAbis(ref __binding_0)
=> {
157usize
}
AttributeKind::RustcPreserveUbChecks => { 158usize }
AttributeKind::RustcProcMacroDecls => { 159usize }
AttributeKind::RustcPubTransparent(ref __binding_0) => {
160usize
}
AttributeKind::RustcReallocator => { 161usize }
AttributeKind::RustcRegions => { 162usize }
AttributeKind::RustcReservationImpl(ref __binding_0) => {
163usize
}
AttributeKind::RustcScalableVector {
element_count: ref __binding_0 } => {
164usize
}
AttributeKind::RustcShouldNotBeCalledOnConstItems => {
165usize
}
AttributeKind::RustcSimdMonomorphizeLaneLimit(ref __binding_0)
=> {
166usize
}
AttributeKind::RustcSkipDuringMethodDispatch {
array: ref __binding_0, boxed_slice: ref __binding_1 } => {
167usize
}
AttributeKind::RustcSpecializationTrait => { 168usize }
AttributeKind::RustcStdInternalSymbol => { 169usize }
AttributeKind::RustcStrictCoherence(ref __binding_0) => {
170usize
}
AttributeKind::RustcTestMarker(ref __binding_0) => {
171usize
}
AttributeKind::RustcThenThisWouldNeed(ref __binding_0) => {
172usize
}
AttributeKind::RustcTrivialFieldReads => { 173usize }
AttributeKind::RustcUnsafeSpecializationMarker => {
174usize
}
AttributeKind::Sanitize {
on_set: ref __binding_0,
off_set: ref __binding_1,
rtsan: ref __binding_2,
span: ref __binding_3 } => {
175usize
}
AttributeKind::ShouldPanic { reason: ref __binding_0 } => {
176usize
}
AttributeKind::Splat(ref __binding_0) => { 177usize }
AttributeKind::Stability {
stability: ref __binding_0, span: ref __binding_1 } => {
178usize
}
AttributeKind::TargetFeature {
features: ref __binding_0,
attr_span: ref __binding_1,
was_forced: ref __binding_2 } => {
179usize
}
AttributeKind::TestRunner(ref __binding_0) => { 180usize }
AttributeKind::ThreadLocal => { 181usize }
AttributeKind::TrackCaller(ref __binding_0) => { 182usize }
AttributeKind::TypeLengthLimit { limit: ref __binding_0 } =>
{
183usize
}
AttributeKind::Unroll(ref __binding_0) => { 184usize }
AttributeKind::UnstableFeatureBound(ref __binding_0) => {
185usize
}
AttributeKind::UnstableRemoved(ref __binding_0) => {
186usize
}
AttributeKind::Used { used_by: ref __binding_0 } => {
187usize
}
AttributeKind::WindowsSubsystem(ref __binding_0) => {
188usize
}
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
AttributeKind::AllowInternalUnsafe(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::AllowInternalUnstable(ref __binding_0,
ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::AutomaticallyDerived => {}
AttributeKind::CfgAttrTrace => {}
AttributeKind::CfgTrace(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::CfiEncoding { encoding: ref __binding_0 } =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Cold => {}
AttributeKind::CollapseDebugInfo(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::CompilerBuiltins => {}
AttributeKind::ConstContinue(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Coroutine => {}
AttributeKind::Coverage(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::CrateName {
name: ref __binding_0,
name_span: ref __binding_1,
attr_span: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
AttributeKind::CrateType(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::CustomMir(ref __binding_0, ref __binding_1)
=> {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::DebuggerVisualizer(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::DefaultLibAllocator => {}
AttributeKind::Deprecated {
deprecation: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::DoNotRecommend => {}
AttributeKind::Doc(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::DocComment {
style: ref __binding_0,
kind: ref __binding_1,
span: ref __binding_2,
comment: ref __binding_3 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_3,
__encoder);
}
AttributeKind::EiiDeclaration(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::EiiImpls(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::ExportName {
name: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::ExportStable => {}
AttributeKind::Feature(ref __binding_0, ref __binding_1) =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::FfiConst => {}
AttributeKind::FfiPure(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Fundamental => {}
AttributeKind::Ignore {
span: ref __binding_0, reason: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::Inline(ref __binding_0, ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::InstructionSet(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::InstrumentFn(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Lang(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Link(ref __binding_0, ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::LinkName {
name: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::LinkOrdinal {
ordinal: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::LinkSection { name: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Linkage(ref __binding_0, ref __binding_1) =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::LoopMatch(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::MacroEscape => {}
AttributeKind::MacroExport {
span: ref __binding_0, local_inner_macros: ref __binding_1 }
=> {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::MacroUse {
span: ref __binding_0, arguments: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::Marker => {}
AttributeKind::MayDangle(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::MoveSizeLimit { limit: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::MustNotSupend { reason: ref __binding_0 } =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::MustUse {
span: ref __binding_0, reason: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::Naked(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::NeedsAllocator => {}
AttributeKind::NeedsPanicRuntime => {}
AttributeKind::NoBuiltins => {}
AttributeKind::NoCore => {}
AttributeKind::NoImplicitPrelude => {}
AttributeKind::NoLink => {}
AttributeKind::NoMain => {}
AttributeKind::NoMangle(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::NoStd => {}
AttributeKind::NonExhaustive(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::OnConst {
span: ref __binding_0, directive: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::OnMove { directive: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::OnTypeError {
span: ref __binding_0, directive: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::OnUnimplemented { directive: ref __binding_0
} => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::OnUnknown { directive: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::OnUnmatchedArgs { directive: ref __binding_0
} => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Optimize(ref __binding_0, ref __binding_1) =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::PanicRuntime => {}
AttributeKind::PatchableFunctionEntry {
prefix: ref __binding_0, entry: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::Path(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::PatternComplexityLimit {
limit: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::PinV2(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::PreludeImport => {}
AttributeKind::ProcMacro => {}
AttributeKind::ProcMacroAttribute => {}
AttributeKind::ProcMacroDerive {
trait_name: ref __binding_0, helper_attrs: ref __binding_1 }
=> {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::ProfilerRuntime => {}
AttributeKind::RecursionLimit { limit: ref __binding_0 } =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::ReexportTestHarnessMain(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RegisterTool(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Repr {
reprs: ref __binding_0, first_span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcAbi {
attr_span: ref __binding_0, kind: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcAlign {
align: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcAllocator => {}
AttributeKind::RustcAllocatorZeroed => {}
AttributeKind::RustcAllocatorZeroedVariant {
name: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcAllowConstFnUnstable(ref __binding_0,
ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcAllowIncoherentImpl(ref __binding_0) =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcAsPtr => {}
AttributeKind::RustcAutodiff(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcBodyStability {
stability: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcBuiltinMacro {
builtin_name: ref __binding_0, helper_attrs: ref __binding_1
} => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcCaptureAnalysis => {}
AttributeKind::RustcCguTestAttr(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcClean(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcCoherenceIsCore => {}
AttributeKind::RustcCoinductive => {}
AttributeKind::RustcComptime(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcConfusables {
confusables: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcConstStability {
stability: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcConstStableIndirect => {}
AttributeKind::RustcConversionSuggestion => {}
AttributeKind::RustcDeallocator => {}
AttributeKind::RustcDelayedBugFromInsideQuery => {}
AttributeKind::RustcDenyExplicitImpl => {}
AttributeKind::RustcDeprecatedSafe2024 {
suggestion: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcDiagnosticItem(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcDoNotConstCheck => {}
AttributeKind::RustcDocPrimitive(ref __binding_0,
ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcDummy => {}
AttributeKind::RustcDumpDefParents => {}
AttributeKind::RustcDumpDefPath(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcDumpGenerics => {}
AttributeKind::RustcDumpHiddenTypeOfOpaques => {}
AttributeKind::RustcDumpInferredOutlives => {}
AttributeKind::RustcDumpItemBounds => {}
AttributeKind::RustcDumpLayout(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcDumpObjectLifetimeDefaults => {}
AttributeKind::RustcDumpPredicates => {}
AttributeKind::RustcDumpSymbolName(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcDumpUserArgs => {}
AttributeKind::RustcDumpVariances => {}
AttributeKind::RustcDumpVariancesOfOpaques => {}
AttributeKind::RustcDumpVtable(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcDynIncompatibleTrait(ref __binding_0) =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcEffectiveVisibility => {}
AttributeKind::RustcEiiForeignItem => {}
AttributeKind::RustcEvaluateWhereClauses => {}
AttributeKind::RustcHasIncoherentInherentImpls => {}
AttributeKind::RustcIfThisChanged(ref __binding_0,
ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcInheritOverflowChecks => {}
AttributeKind::RustcInsignificantDtor => {}
AttributeKind::RustcIntrinsic => {}
AttributeKind::RustcIntrinsicConstStableIndirect => {}
AttributeKind::RustcLegacyConstGenerics {
fn_indexes: ref __binding_0, attr_span: ref __binding_1 } =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcLintOptDenyFieldAccess {
lint_message: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcLintOptTy => {}
AttributeKind::RustcLintQueryInstability => {}
AttributeKind::RustcLintUntrackedQueryInformation => {}
AttributeKind::RustcMacroTransparency(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcMain => {}
AttributeKind::RustcMir(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcMustImplementOneOf {
attr_span: ref __binding_0, fn_names: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcMustMatchExhaustively(ref __binding_0)
=> {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcNeverReturnsNullPtr => {}
AttributeKind::RustcNeverTypeOptions {
fallback: ref __binding_0,
diverging_block_default: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcNoImplicitAutorefs => {}
AttributeKind::RustcNoImplicitBounds => {}
AttributeKind::RustcNoMirInline => {}
AttributeKind::RustcNoWritable => {}
AttributeKind::RustcNonConstTraitMethod => {}
AttributeKind::RustcNonnullOptimizationGuaranteed => {}
AttributeKind::RustcNounwind => {}
AttributeKind::RustcObjcClass { classname: ref __binding_0 }
=> {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcObjcSelector { methname: ref __binding_0
} => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcOffloadKernel => {}
AttributeKind::RustcParenSugar => {}
AttributeKind::RustcPassByValue => {}
AttributeKind::RustcPassIndirectlyInNonRusticAbis(ref __binding_0)
=> {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcPreserveUbChecks => {}
AttributeKind::RustcProcMacroDecls => {}
AttributeKind::RustcPubTransparent(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcReallocator => {}
AttributeKind::RustcRegions => {}
AttributeKind::RustcReservationImpl(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcScalableVector {
element_count: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcShouldNotBeCalledOnConstItems => {}
AttributeKind::RustcSimdMonomorphizeLaneLimit(ref __binding_0)
=> {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcSkipDuringMethodDispatch {
array: ref __binding_0, boxed_slice: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcSpecializationTrait => {}
AttributeKind::RustcStdInternalSymbol => {}
AttributeKind::RustcStrictCoherence(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcTestMarker(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcThenThisWouldNeed(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcTrivialFieldReads => {}
AttributeKind::RustcUnsafeSpecializationMarker => {}
AttributeKind::Sanitize {
on_set: ref __binding_0,
off_set: ref __binding_1,
rtsan: ref __binding_2,
span: ref __binding_3 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_3,
__encoder);
}
AttributeKind::ShouldPanic { reason: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Splat(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Stability {
stability: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::TargetFeature {
features: ref __binding_0,
attr_span: ref __binding_1,
was_forced: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
AttributeKind::TestRunner(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::ThreadLocal => {}
AttributeKind::TrackCaller(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::TypeLengthLimit { limit: ref __binding_0 } =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Unroll(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::UnstableFeatureBound(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::UnstableRemoved(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Used { used_by: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::WindowsSubsystem(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for AttributeKind {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => {
AttributeKind::AllowInternalUnsafe(::rustc_serialize::Decodable::decode(__decoder))
}
1usize => {
AttributeKind::AllowInternalUnstable(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
2usize => { AttributeKind::AutomaticallyDerived }
3usize => { AttributeKind::CfgAttrTrace }
4usize => {
AttributeKind::CfgTrace(::rustc_serialize::Decodable::decode(__decoder))
}
5usize => {
AttributeKind::CfiEncoding {
encoding: ::rustc_serialize::Decodable::decode(__decoder),
}
}
6usize => { AttributeKind::Cold }
7usize => {
AttributeKind::CollapseDebugInfo(::rustc_serialize::Decodable::decode(__decoder))
}
8usize => { AttributeKind::CompilerBuiltins }
9usize => {
AttributeKind::ConstContinue(::rustc_serialize::Decodable::decode(__decoder))
}
10usize => { AttributeKind::Coroutine }
11usize => {
AttributeKind::Coverage(::rustc_serialize::Decodable::decode(__decoder))
}
12usize => {
AttributeKind::CrateName {
name: ::rustc_serialize::Decodable::decode(__decoder),
name_span: ::rustc_serialize::Decodable::decode(__decoder),
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
13usize => {
AttributeKind::CrateType(::rustc_serialize::Decodable::decode(__decoder))
}
14usize => {
AttributeKind::CustomMir(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
15usize => {
AttributeKind::DebuggerVisualizer(::rustc_serialize::Decodable::decode(__decoder))
}
16usize => { AttributeKind::DefaultLibAllocator }
17usize => {
AttributeKind::Deprecated {
deprecation: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
18usize => { AttributeKind::DoNotRecommend }
19usize => {
AttributeKind::Doc(::rustc_serialize::Decodable::decode(__decoder))
}
20usize => {
AttributeKind::DocComment {
style: ::rustc_serialize::Decodable::decode(__decoder),
kind: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
comment: ::rustc_serialize::Decodable::decode(__decoder),
}
}
21usize => {
AttributeKind::EiiDeclaration(::rustc_serialize::Decodable::decode(__decoder))
}
22usize => {
AttributeKind::EiiImpls(::rustc_serialize::Decodable::decode(__decoder))
}
23usize => {
AttributeKind::ExportName {
name: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
24usize => { AttributeKind::ExportStable }
25usize => {
AttributeKind::Feature(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
26usize => { AttributeKind::FfiConst }
27usize => {
AttributeKind::FfiPure(::rustc_serialize::Decodable::decode(__decoder))
}
28usize => { AttributeKind::Fundamental }
29usize => {
AttributeKind::Ignore {
span: ::rustc_serialize::Decodable::decode(__decoder),
reason: ::rustc_serialize::Decodable::decode(__decoder),
}
}
30usize => {
AttributeKind::Inline(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
31usize => {
AttributeKind::InstructionSet(::rustc_serialize::Decodable::decode(__decoder))
}
32usize => {
AttributeKind::InstrumentFn(::rustc_serialize::Decodable::decode(__decoder))
}
33usize => {
AttributeKind::Lang(::rustc_serialize::Decodable::decode(__decoder))
}
34usize => {
AttributeKind::Link(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
35usize => {
AttributeKind::LinkName {
name: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
36usize => {
AttributeKind::LinkOrdinal {
ordinal: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
37usize => {
AttributeKind::LinkSection {
name: ::rustc_serialize::Decodable::decode(__decoder),
}
}
38usize => {
AttributeKind::Linkage(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
39usize => {
AttributeKind::LoopMatch(::rustc_serialize::Decodable::decode(__decoder))
}
40usize => { AttributeKind::MacroEscape }
41usize => {
AttributeKind::MacroExport {
span: ::rustc_serialize::Decodable::decode(__decoder),
local_inner_macros: ::rustc_serialize::Decodable::decode(__decoder),
}
}
42usize => {
AttributeKind::MacroUse {
span: ::rustc_serialize::Decodable::decode(__decoder),
arguments: ::rustc_serialize::Decodable::decode(__decoder),
}
}
43usize => { AttributeKind::Marker }
44usize => {
AttributeKind::MayDangle(::rustc_serialize::Decodable::decode(__decoder))
}
45usize => {
AttributeKind::MoveSizeLimit {
limit: ::rustc_serialize::Decodable::decode(__decoder),
}
}
46usize => {
AttributeKind::MustNotSupend {
reason: ::rustc_serialize::Decodable::decode(__decoder),
}
}
47usize => {
AttributeKind::MustUse {
span: ::rustc_serialize::Decodable::decode(__decoder),
reason: ::rustc_serialize::Decodable::decode(__decoder),
}
}
48usize => {
AttributeKind::Naked(::rustc_serialize::Decodable::decode(__decoder))
}
49usize => { AttributeKind::NeedsAllocator }
50usize => { AttributeKind::NeedsPanicRuntime }
51usize => { AttributeKind::NoBuiltins }
52usize => { AttributeKind::NoCore }
53usize => { AttributeKind::NoImplicitPrelude }
54usize => { AttributeKind::NoLink }
55usize => { AttributeKind::NoMain }
56usize => {
AttributeKind::NoMangle(::rustc_serialize::Decodable::decode(__decoder))
}
57usize => { AttributeKind::NoStd }
58usize => {
AttributeKind::NonExhaustive(::rustc_serialize::Decodable::decode(__decoder))
}
59usize => {
AttributeKind::OnConst {
span: ::rustc_serialize::Decodable::decode(__decoder),
directive: ::rustc_serialize::Decodable::decode(__decoder),
}
}
60usize => {
AttributeKind::OnMove {
directive: ::rustc_serialize::Decodable::decode(__decoder),
}
}
61usize => {
AttributeKind::OnTypeError {
span: ::rustc_serialize::Decodable::decode(__decoder),
directive: ::rustc_serialize::Decodable::decode(__decoder),
}
}
62usize => {
AttributeKind::OnUnimplemented {
directive: ::rustc_serialize::Decodable::decode(__decoder),
}
}
63usize => {
AttributeKind::OnUnknown {
directive: ::rustc_serialize::Decodable::decode(__decoder),
}
}
64usize => {
AttributeKind::OnUnmatchedArgs {
directive: ::rustc_serialize::Decodable::decode(__decoder),
}
}
65usize => {
AttributeKind::Optimize(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
66usize => { AttributeKind::PanicRuntime }
67usize => {
AttributeKind::PatchableFunctionEntry {
prefix: ::rustc_serialize::Decodable::decode(__decoder),
entry: ::rustc_serialize::Decodable::decode(__decoder),
}
}
68usize => {
AttributeKind::Path(::rustc_serialize::Decodable::decode(__decoder))
}
69usize => {
AttributeKind::PatternComplexityLimit {
limit: ::rustc_serialize::Decodable::decode(__decoder),
}
}
70usize => {
AttributeKind::PinV2(::rustc_serialize::Decodable::decode(__decoder))
}
71usize => { AttributeKind::PreludeImport }
72usize => { AttributeKind::ProcMacro }
73usize => { AttributeKind::ProcMacroAttribute }
74usize => {
AttributeKind::ProcMacroDerive {
trait_name: ::rustc_serialize::Decodable::decode(__decoder),
helper_attrs: ::rustc_serialize::Decodable::decode(__decoder),
}
}
75usize => { AttributeKind::ProfilerRuntime }
76usize => {
AttributeKind::RecursionLimit {
limit: ::rustc_serialize::Decodable::decode(__decoder),
}
}
77usize => {
AttributeKind::ReexportTestHarnessMain(::rustc_serialize::Decodable::decode(__decoder))
}
78usize => {
AttributeKind::RegisterTool(::rustc_serialize::Decodable::decode(__decoder))
}
79usize => {
AttributeKind::Repr {
reprs: ::rustc_serialize::Decodable::decode(__decoder),
first_span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
80usize => {
AttributeKind::RustcAbi {
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
kind: ::rustc_serialize::Decodable::decode(__decoder),
}
}
81usize => {
AttributeKind::RustcAlign {
align: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
82usize => { AttributeKind::RustcAllocator }
83usize => { AttributeKind::RustcAllocatorZeroed }
84usize => {
AttributeKind::RustcAllocatorZeroedVariant {
name: ::rustc_serialize::Decodable::decode(__decoder),
}
}
85usize => {
AttributeKind::RustcAllowConstFnUnstable(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
86usize => {
AttributeKind::RustcAllowIncoherentImpl(::rustc_serialize::Decodable::decode(__decoder))
}
87usize => { AttributeKind::RustcAsPtr }
88usize => {
AttributeKind::RustcAutodiff(::rustc_serialize::Decodable::decode(__decoder))
}
89usize => {
AttributeKind::RustcBodyStability {
stability: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
90usize => {
AttributeKind::RustcBuiltinMacro {
builtin_name: ::rustc_serialize::Decodable::decode(__decoder),
helper_attrs: ::rustc_serialize::Decodable::decode(__decoder),
}
}
91usize => { AttributeKind::RustcCaptureAnalysis }
92usize => {
AttributeKind::RustcCguTestAttr(::rustc_serialize::Decodable::decode(__decoder))
}
93usize => {
AttributeKind::RustcClean(::rustc_serialize::Decodable::decode(__decoder))
}
94usize => { AttributeKind::RustcCoherenceIsCore }
95usize => { AttributeKind::RustcCoinductive }
96usize => {
AttributeKind::RustcComptime(::rustc_serialize::Decodable::decode(__decoder))
}
97usize => {
AttributeKind::RustcConfusables {
confusables: ::rustc_serialize::Decodable::decode(__decoder),
}
}
98usize => {
AttributeKind::RustcConstStability {
stability: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
99usize => { AttributeKind::RustcConstStableIndirect }
100usize => { AttributeKind::RustcConversionSuggestion }
101usize => { AttributeKind::RustcDeallocator }
102usize => {
AttributeKind::RustcDelayedBugFromInsideQuery
}
103usize => { AttributeKind::RustcDenyExplicitImpl }
104usize => {
AttributeKind::RustcDeprecatedSafe2024 {
suggestion: ::rustc_serialize::Decodable::decode(__decoder),
}
}
105usize => {
AttributeKind::RustcDiagnosticItem(::rustc_serialize::Decodable::decode(__decoder))
}
106usize => { AttributeKind::RustcDoNotConstCheck }
107usize => {
AttributeKind::RustcDocPrimitive(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
108usize => { AttributeKind::RustcDummy }
109usize => { AttributeKind::RustcDumpDefParents }
110usize => {
AttributeKind::RustcDumpDefPath(::rustc_serialize::Decodable::decode(__decoder))
}
111usize => { AttributeKind::RustcDumpGenerics }
112usize => { AttributeKind::RustcDumpHiddenTypeOfOpaques }
113usize => { AttributeKind::RustcDumpInferredOutlives }
114usize => { AttributeKind::RustcDumpItemBounds }
115usize => {
AttributeKind::RustcDumpLayout(::rustc_serialize::Decodable::decode(__decoder))
}
116usize => {
AttributeKind::RustcDumpObjectLifetimeDefaults
}
117usize => { AttributeKind::RustcDumpPredicates }
118usize => {
AttributeKind::RustcDumpSymbolName(::rustc_serialize::Decodable::decode(__decoder))
}
119usize => { AttributeKind::RustcDumpUserArgs }
120usize => { AttributeKind::RustcDumpVariances }
121usize => { AttributeKind::RustcDumpVariancesOfOpaques }
122usize => {
AttributeKind::RustcDumpVtable(::rustc_serialize::Decodable::decode(__decoder))
}
123usize => {
AttributeKind::RustcDynIncompatibleTrait(::rustc_serialize::Decodable::decode(__decoder))
}
124usize => { AttributeKind::RustcEffectiveVisibility }
125usize => { AttributeKind::RustcEiiForeignItem }
126usize => { AttributeKind::RustcEvaluateWhereClauses }
127usize => {
AttributeKind::RustcHasIncoherentInherentImpls
}
128usize => {
AttributeKind::RustcIfThisChanged(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
129usize => { AttributeKind::RustcInheritOverflowChecks }
130usize => { AttributeKind::RustcInsignificantDtor }
131usize => { AttributeKind::RustcIntrinsic }
132usize => {
AttributeKind::RustcIntrinsicConstStableIndirect
}
133usize => {
AttributeKind::RustcLegacyConstGenerics {
fn_indexes: ::rustc_serialize::Decodable::decode(__decoder),
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
134usize => {
AttributeKind::RustcLintOptDenyFieldAccess {
lint_message: ::rustc_serialize::Decodable::decode(__decoder),
}
}
135usize => { AttributeKind::RustcLintOptTy }
136usize => { AttributeKind::RustcLintQueryInstability }
137usize => {
AttributeKind::RustcLintUntrackedQueryInformation
}
138usize => {
AttributeKind::RustcMacroTransparency(::rustc_serialize::Decodable::decode(__decoder))
}
139usize => { AttributeKind::RustcMain }
140usize => {
AttributeKind::RustcMir(::rustc_serialize::Decodable::decode(__decoder))
}
141usize => {
AttributeKind::RustcMustImplementOneOf {
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
fn_names: ::rustc_serialize::Decodable::decode(__decoder),
}
}
142usize => {
AttributeKind::RustcMustMatchExhaustively(::rustc_serialize::Decodable::decode(__decoder))
}
143usize => { AttributeKind::RustcNeverReturnsNullPtr }
144usize => {
AttributeKind::RustcNeverTypeOptions {
fallback: ::rustc_serialize::Decodable::decode(__decoder),
diverging_block_default: ::rustc_serialize::Decodable::decode(__decoder),
}
}
145usize => { AttributeKind::RustcNoImplicitAutorefs }
146usize => { AttributeKind::RustcNoImplicitBounds }
147usize => { AttributeKind::RustcNoMirInline }
148usize => { AttributeKind::RustcNoWritable }
149usize => { AttributeKind::RustcNonConstTraitMethod }
150usize => {
AttributeKind::RustcNonnullOptimizationGuaranteed
}
151usize => { AttributeKind::RustcNounwind }
152usize => {
AttributeKind::RustcObjcClass {
classname: ::rustc_serialize::Decodable::decode(__decoder),
}
}
153usize => {
AttributeKind::RustcObjcSelector {
methname: ::rustc_serialize::Decodable::decode(__decoder),
}
}
154usize => { AttributeKind::RustcOffloadKernel }
155usize => { AttributeKind::RustcParenSugar }
156usize => { AttributeKind::RustcPassByValue }
157usize => {
AttributeKind::RustcPassIndirectlyInNonRusticAbis(::rustc_serialize::Decodable::decode(__decoder))
}
158usize => { AttributeKind::RustcPreserveUbChecks }
159usize => { AttributeKind::RustcProcMacroDecls }
160usize => {
AttributeKind::RustcPubTransparent(::rustc_serialize::Decodable::decode(__decoder))
}
161usize => { AttributeKind::RustcReallocator }
162usize => { AttributeKind::RustcRegions }
163usize => {
AttributeKind::RustcReservationImpl(::rustc_serialize::Decodable::decode(__decoder))
}
164usize => {
AttributeKind::RustcScalableVector {
element_count: ::rustc_serialize::Decodable::decode(__decoder),
}
}
165usize => {
AttributeKind::RustcShouldNotBeCalledOnConstItems
}
166usize => {
AttributeKind::RustcSimdMonomorphizeLaneLimit(::rustc_serialize::Decodable::decode(__decoder))
}
167usize => {
AttributeKind::RustcSkipDuringMethodDispatch {
array: ::rustc_serialize::Decodable::decode(__decoder),
boxed_slice: ::rustc_serialize::Decodable::decode(__decoder),
}
}
168usize => { AttributeKind::RustcSpecializationTrait }
169usize => { AttributeKind::RustcStdInternalSymbol }
170usize => {
AttributeKind::RustcStrictCoherence(::rustc_serialize::Decodable::decode(__decoder))
}
171usize => {
AttributeKind::RustcTestMarker(::rustc_serialize::Decodable::decode(__decoder))
}
172usize => {
AttributeKind::RustcThenThisWouldNeed(::rustc_serialize::Decodable::decode(__decoder))
}
173usize => { AttributeKind::RustcTrivialFieldReads }
174usize => {
AttributeKind::RustcUnsafeSpecializationMarker
}
175usize => {
AttributeKind::Sanitize {
on_set: ::rustc_serialize::Decodable::decode(__decoder),
off_set: ::rustc_serialize::Decodable::decode(__decoder),
rtsan: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
176usize => {
AttributeKind::ShouldPanic {
reason: ::rustc_serialize::Decodable::decode(__decoder),
}
}
177usize => {
AttributeKind::Splat(::rustc_serialize::Decodable::decode(__decoder))
}
178usize => {
AttributeKind::Stability {
stability: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
179usize => {
AttributeKind::TargetFeature {
features: ::rustc_serialize::Decodable::decode(__decoder),
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
was_forced: ::rustc_serialize::Decodable::decode(__decoder),
}
}
180usize => {
AttributeKind::TestRunner(::rustc_serialize::Decodable::decode(__decoder))
}
181usize => { AttributeKind::ThreadLocal }
182usize => {
AttributeKind::TrackCaller(::rustc_serialize::Decodable::decode(__decoder))
}
183usize => {
AttributeKind::TypeLengthLimit {
limit: ::rustc_serialize::Decodable::decode(__decoder),
}
}
184usize => {
AttributeKind::Unroll(::rustc_serialize::Decodable::decode(__decoder))
}
185usize => {
AttributeKind::UnstableFeatureBound(::rustc_serialize::Decodable::decode(__decoder))
}
186usize => {
AttributeKind::UnstableRemoved(::rustc_serialize::Decodable::decode(__decoder))
}
187usize => {
AttributeKind::Used {
used_by: ::rustc_serialize::Decodable::decode(__decoder),
}
}
188usize => {
AttributeKind::WindowsSubsystem(::rustc_serialize::Decodable::decode(__decoder))
}
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `AttributeKind`, expected 0..189, actual {0}",
n));
}
}
}
}
};Decodable, const _: () =
{
#[allow(unused)]
impl PrintAttribute for AttributeKind {
fn should_render(&self) -> bool { true }
fn print_attribute(&self,
__p: &mut rustc_ast_pretty::pp::Printer) {
match self {
Self::AllowInternalUnsafe(f0) => {
__p.word("AllowInternalUnsafe");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::AllowInternalUnstable(f0, f1) => {
__p.word("AllowInternalUnstable");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::AutomaticallyDerived => {
__p.word("AutomaticallyDerived")
}
Self::CfgAttrTrace => { __p.word("CfgAttrTrace") }
Self::CfgTrace(f0) => {
__p.word("CfgTrace");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::CfiEncoding { encoding } => {
__p.word("CfiEncoding");
if true && !encoding.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if encoding.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("encoding");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
encoding.print_attribute(__p);
__p.word("}");
}
Self::Cold => { __p.word("Cold") }
Self::CollapseDebugInfo(f0) => {
__p.word("CollapseDebugInfo");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::CompilerBuiltins => { __p.word("CompilerBuiltins") }
Self::ConstContinue(f0) => {
__p.word("ConstContinue");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Coroutine => { __p.word("Coroutine") }
Self::Coverage(f0) => {
__p.word("Coverage");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::CrateName { name, name_span, attr_span } => {
__p.word("CrateName");
if true && !name.should_render() &&
!name_span.should_render() && !attr_span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if name.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("name");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
name.print_attribute(__p);
if name_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("name_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
name_span.print_attribute(__p);
if attr_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_span.print_attribute(__p);
__p.word("}");
}
Self::CrateType(f0) => {
__p.word("CrateType");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::CustomMir(f0, f1) => {
__p.word("CustomMir");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::DebuggerVisualizer(f0) => {
__p.word("DebuggerVisualizer");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::DefaultLibAllocator => {
__p.word("DefaultLibAllocator")
}
Self::Deprecated { deprecation, span } => {
__p.word("Deprecated");
if true && !deprecation.should_render() &&
!span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if deprecation.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("deprecation");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
deprecation.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::DoNotRecommend => { __p.word("DoNotRecommend") }
Self::Doc(f0) => {
__p.word("Doc");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::DocComment { style, kind, span, comment } => {
__p.word("DocComment");
if true && !style.should_render() && !kind.should_render()
&& !span.should_render() && !comment.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if style.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("style");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
style.print_attribute(__p);
if kind.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("kind");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
kind.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
if comment.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("comment");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
comment.print_attribute(__p);
__p.word("}");
}
Self::EiiDeclaration(f0) => {
__p.word("EiiDeclaration");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::EiiImpls(f0) => {
__p.word("EiiImpls");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::ExportName { name, span } => {
__p.word("ExportName");
if true && !name.should_render() && !span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if name.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("name");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
name.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::ExportStable => { __p.word("ExportStable") }
Self::Feature(f0, f1) => {
__p.word("Feature");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::FfiConst => { __p.word("FfiConst") }
Self::FfiPure(f0) => {
__p.word("FfiPure");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Fundamental => { __p.word("Fundamental") }
Self::Ignore { span, reason } => {
__p.word("Ignore");
if true && !span.should_render() && !reason.should_render()
{
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
if reason.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("reason");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
reason.print_attribute(__p);
__p.word("}");
}
Self::Inline(f0, f1) => {
__p.word("Inline");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::InstructionSet(f0) => {
__p.word("InstructionSet");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::InstrumentFn(f0) => {
__p.word("InstrumentFn");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Lang(f0) => {
__p.word("Lang");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Link(f0, f1) => {
__p.word("Link");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::LinkName { name, span } => {
__p.word("LinkName");
if true && !name.should_render() && !span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if name.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("name");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
name.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::LinkOrdinal { ordinal, span } => {
__p.word("LinkOrdinal");
if true && !ordinal.should_render() && !span.should_render()
{
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if ordinal.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("ordinal");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
ordinal.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::LinkSection { name } => {
__p.word("LinkSection");
if true && !name.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if name.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("name");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
name.print_attribute(__p);
__p.word("}");
}
Self::Linkage(f0, f1) => {
__p.word("Linkage");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::LoopMatch(f0) => {
__p.word("LoopMatch");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::MacroEscape => { __p.word("MacroEscape") }
Self::MacroExport { span, local_inner_macros } => {
__p.word("MacroExport");
if true && !span.should_render() &&
!local_inner_macros.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
if local_inner_macros.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("local_inner_macros");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
local_inner_macros.print_attribute(__p);
__p.word("}");
}
Self::MacroUse { span, arguments } => {
__p.word("MacroUse");
if true && !span.should_render() &&
!arguments.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
if arguments.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("arguments");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
arguments.print_attribute(__p);
__p.word("}");
}
Self::Marker => { __p.word("Marker") }
Self::MayDangle(f0) => {
__p.word("MayDangle");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::MoveSizeLimit { limit } => {
__p.word("MoveSizeLimit");
if true && !limit.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if limit.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("limit");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
limit.print_attribute(__p);
__p.word("}");
}
Self::MustNotSupend { reason } => {
__p.word("MustNotSupend");
if true && !reason.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if reason.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("reason");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
reason.print_attribute(__p);
__p.word("}");
}
Self::MustUse { span, reason } => {
__p.word("MustUse");
if true && !span.should_render() && !reason.should_render()
{
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
if reason.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("reason");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
reason.print_attribute(__p);
__p.word("}");
}
Self::Naked(f0) => {
__p.word("Naked");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::NeedsAllocator => { __p.word("NeedsAllocator") }
Self::NeedsPanicRuntime => { __p.word("NeedsPanicRuntime") }
Self::NoBuiltins => { __p.word("NoBuiltins") }
Self::NoCore => { __p.word("NoCore") }
Self::NoImplicitPrelude => { __p.word("NoImplicitPrelude") }
Self::NoLink => { __p.word("NoLink") }
Self::NoMain => { __p.word("NoMain") }
Self::NoMangle(f0) => {
__p.word("NoMangle");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::NoStd => { __p.word("NoStd") }
Self::NonExhaustive(f0) => {
__p.word("NonExhaustive");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::OnConst { span, directive } => {
__p.word("OnConst");
if true && !span.should_render() &&
!directive.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
if directive.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("directive");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
directive.print_attribute(__p);
__p.word("}");
}
Self::OnMove { directive } => {
__p.word("OnMove");
if true && !directive.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if directive.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("directive");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
directive.print_attribute(__p);
__p.word("}");
}
Self::OnTypeError { span, directive } => {
__p.word("OnTypeError");
if true && !span.should_render() &&
!directive.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
if directive.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("directive");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
directive.print_attribute(__p);
__p.word("}");
}
Self::OnUnimplemented { directive } => {
__p.word("OnUnimplemented");
if true && !directive.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if directive.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("directive");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
directive.print_attribute(__p);
__p.word("}");
}
Self::OnUnknown { directive } => {
__p.word("OnUnknown");
if true && !directive.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if directive.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("directive");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
directive.print_attribute(__p);
__p.word("}");
}
Self::OnUnmatchedArgs { directive } => {
__p.word("OnUnmatchedArgs");
if true && !directive.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if directive.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("directive");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
directive.print_attribute(__p);
__p.word("}");
}
Self::Optimize(f0, f1) => {
__p.word("Optimize");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::PanicRuntime => { __p.word("PanicRuntime") }
Self::PatchableFunctionEntry { prefix, entry } => {
__p.word("PatchableFunctionEntry");
if true && !prefix.should_render() && !entry.should_render()
{
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if prefix.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("prefix");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
prefix.print_attribute(__p);
if entry.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("entry");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
entry.print_attribute(__p);
__p.word("}");
}
Self::Path(f0) => {
__p.word("Path");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::PatternComplexityLimit { limit } => {
__p.word("PatternComplexityLimit");
if true && !limit.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if limit.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("limit");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
limit.print_attribute(__p);
__p.word("}");
}
Self::PinV2(f0) => {
__p.word("PinV2");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::PreludeImport => { __p.word("PreludeImport") }
Self::ProcMacro => { __p.word("ProcMacro") }
Self::ProcMacroAttribute => {
__p.word("ProcMacroAttribute")
}
Self::ProcMacroDerive { trait_name, helper_attrs } => {
__p.word("ProcMacroDerive");
if true && !trait_name.should_render() &&
!helper_attrs.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if trait_name.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("trait_name");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
trait_name.print_attribute(__p);
if helper_attrs.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("helper_attrs");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
helper_attrs.print_attribute(__p);
__p.word("}");
}
Self::ProfilerRuntime => { __p.word("ProfilerRuntime") }
Self::RecursionLimit { limit } => {
__p.word("RecursionLimit");
if true && !limit.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if limit.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("limit");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
limit.print_attribute(__p);
__p.word("}");
}
Self::ReexportTestHarnessMain(f0) => {
__p.word("ReexportTestHarnessMain");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RegisterTool(f0) => {
__p.word("RegisterTool");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Repr { reprs, first_span } => {
__p.word("Repr");
if true && !reprs.should_render() &&
!first_span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if reprs.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("reprs");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
reprs.print_attribute(__p);
if first_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("first_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
first_span.print_attribute(__p);
__p.word("}");
}
Self::RustcAbi { attr_span, kind } => {
__p.word("RustcAbi");
if true && !attr_span.should_render() &&
!kind.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if attr_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_span.print_attribute(__p);
if kind.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("kind");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
kind.print_attribute(__p);
__p.word("}");
}
Self::RustcAlign { align, span } => {
__p.word("RustcAlign");
if true && !align.should_render() && !span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if align.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("align");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
align.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::RustcAllocator => { __p.word("RustcAllocator") }
Self::RustcAllocatorZeroed => {
__p.word("RustcAllocatorZeroed")
}
Self::RustcAllocatorZeroedVariant { name } => {
__p.word("RustcAllocatorZeroedVariant");
if true && !name.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if name.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("name");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
name.print_attribute(__p);
__p.word("}");
}
Self::RustcAllowConstFnUnstable(f0, f1) => {
__p.word("RustcAllowConstFnUnstable");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::RustcAllowIncoherentImpl(f0) => {
__p.word("RustcAllowIncoherentImpl");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcAsPtr => { __p.word("RustcAsPtr") }
Self::RustcAutodiff(f0) => {
__p.word("RustcAutodiff");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcBodyStability { stability, span } => {
__p.word("RustcBodyStability");
if true && !stability.should_render() &&
!span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if stability.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("stability");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
stability.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::RustcBuiltinMacro { builtin_name, helper_attrs } => {
__p.word("RustcBuiltinMacro");
if true && !builtin_name.should_render() &&
!helper_attrs.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if builtin_name.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("builtin_name");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
builtin_name.print_attribute(__p);
if helper_attrs.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("helper_attrs");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
helper_attrs.print_attribute(__p);
__p.word("}");
}
Self::RustcCaptureAnalysis => {
__p.word("RustcCaptureAnalysis")
}
Self::RustcCguTestAttr(f0) => {
__p.word("RustcCguTestAttr");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcClean(f0) => {
__p.word("RustcClean");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcCoherenceIsCore => {
__p.word("RustcCoherenceIsCore")
}
Self::RustcCoinductive => { __p.word("RustcCoinductive") }
Self::RustcComptime(f0) => {
__p.word("RustcComptime");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcConfusables { confusables } => {
__p.word("RustcConfusables");
if true && !confusables.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if confusables.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("confusables");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
confusables.print_attribute(__p);
__p.word("}");
}
Self::RustcConstStability { stability, span } => {
__p.word("RustcConstStability");
if true && !stability.should_render() &&
!span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if stability.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("stability");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
stability.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::RustcConstStableIndirect => {
__p.word("RustcConstStableIndirect")
}
Self::RustcConversionSuggestion => {
__p.word("RustcConversionSuggestion")
}
Self::RustcDeallocator => { __p.word("RustcDeallocator") }
Self::RustcDelayedBugFromInsideQuery => {
__p.word("RustcDelayedBugFromInsideQuery")
}
Self::RustcDenyExplicitImpl => {
__p.word("RustcDenyExplicitImpl")
}
Self::RustcDeprecatedSafe2024 { suggestion } => {
__p.word("RustcDeprecatedSafe2024");
if true && !suggestion.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if suggestion.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("suggestion");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
suggestion.print_attribute(__p);
__p.word("}");
}
Self::RustcDiagnosticItem(f0) => {
__p.word("RustcDiagnosticItem");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcDoNotConstCheck => {
__p.word("RustcDoNotConstCheck")
}
Self::RustcDocPrimitive(f0, f1) => {
__p.word("RustcDocPrimitive");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::RustcDummy => { __p.word("RustcDummy") }
Self::RustcDumpDefParents => {
__p.word("RustcDumpDefParents")
}
Self::RustcDumpDefPath(f0) => {
__p.word("RustcDumpDefPath");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcDumpGenerics => { __p.word("RustcDumpGenerics") }
Self::RustcDumpHiddenTypeOfOpaques => {
__p.word("RustcDumpHiddenTypeOfOpaques")
}
Self::RustcDumpInferredOutlives => {
__p.word("RustcDumpInferredOutlives")
}
Self::RustcDumpItemBounds => {
__p.word("RustcDumpItemBounds")
}
Self::RustcDumpLayout(f0) => {
__p.word("RustcDumpLayout");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcDumpObjectLifetimeDefaults => {
__p.word("RustcDumpObjectLifetimeDefaults")
}
Self::RustcDumpPredicates => {
__p.word("RustcDumpPredicates")
}
Self::RustcDumpSymbolName(f0) => {
__p.word("RustcDumpSymbolName");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcDumpUserArgs => { __p.word("RustcDumpUserArgs") }
Self::RustcDumpVariances => {
__p.word("RustcDumpVariances")
}
Self::RustcDumpVariancesOfOpaques => {
__p.word("RustcDumpVariancesOfOpaques")
}
Self::RustcDumpVtable(f0) => {
__p.word("RustcDumpVtable");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcDynIncompatibleTrait(f0) => {
__p.word("RustcDynIncompatibleTrait");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcEffectiveVisibility => {
__p.word("RustcEffectiveVisibility")
}
Self::RustcEiiForeignItem => {
__p.word("RustcEiiForeignItem")
}
Self::RustcEvaluateWhereClauses => {
__p.word("RustcEvaluateWhereClauses")
}
Self::RustcHasIncoherentInherentImpls => {
__p.word("RustcHasIncoherentInherentImpls")
}
Self::RustcIfThisChanged(f0, f1) => {
__p.word("RustcIfThisChanged");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::RustcInheritOverflowChecks => {
__p.word("RustcInheritOverflowChecks")
}
Self::RustcInsignificantDtor => {
__p.word("RustcInsignificantDtor")
}
Self::RustcIntrinsic => { __p.word("RustcIntrinsic") }
Self::RustcIntrinsicConstStableIndirect => {
__p.word("RustcIntrinsicConstStableIndirect")
}
Self::RustcLegacyConstGenerics { fn_indexes, attr_span } =>
{
__p.word("RustcLegacyConstGenerics");
if true && !fn_indexes.should_render() &&
!attr_span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if fn_indexes.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("fn_indexes");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
fn_indexes.print_attribute(__p);
if attr_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_span.print_attribute(__p);
__p.word("}");
}
Self::RustcLintOptDenyFieldAccess { lint_message } => {
__p.word("RustcLintOptDenyFieldAccess");
if true && !lint_message.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if lint_message.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("lint_message");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
lint_message.print_attribute(__p);
__p.word("}");
}
Self::RustcLintOptTy => { __p.word("RustcLintOptTy") }
Self::RustcLintQueryInstability => {
__p.word("RustcLintQueryInstability")
}
Self::RustcLintUntrackedQueryInformation => {
__p.word("RustcLintUntrackedQueryInformation")
}
Self::RustcMacroTransparency(f0) => {
__p.word("RustcMacroTransparency");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcMain => { __p.word("RustcMain") }
Self::RustcMir(f0) => {
__p.word("RustcMir");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcMustImplementOneOf { attr_span, fn_names } => {
__p.word("RustcMustImplementOneOf");
if true && !attr_span.should_render() &&
!fn_names.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if attr_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_span.print_attribute(__p);
if fn_names.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("fn_names");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
fn_names.print_attribute(__p);
__p.word("}");
}
Self::RustcMustMatchExhaustively(f0) => {
__p.word("RustcMustMatchExhaustively");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcNeverReturnsNullPtr => {
__p.word("RustcNeverReturnsNullPtr")
}
Self::RustcNeverTypeOptions {
fallback, diverging_block_default } => {
__p.word("RustcNeverTypeOptions");
if true && !fallback.should_render() &&
!diverging_block_default.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if fallback.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("fallback");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
fallback.print_attribute(__p);
if diverging_block_default.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("diverging_block_default");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
diverging_block_default.print_attribute(__p);
__p.word("}");
}
Self::RustcNoImplicitAutorefs => {
__p.word("RustcNoImplicitAutorefs")
}
Self::RustcNoImplicitBounds => {
__p.word("RustcNoImplicitBounds")
}
Self::RustcNoMirInline => { __p.word("RustcNoMirInline") }
Self::RustcNoWritable => { __p.word("RustcNoWritable") }
Self::RustcNonConstTraitMethod => {
__p.word("RustcNonConstTraitMethod")
}
Self::RustcNonnullOptimizationGuaranteed => {
__p.word("RustcNonnullOptimizationGuaranteed")
}
Self::RustcNounwind => { __p.word("RustcNounwind") }
Self::RustcObjcClass { classname } => {
__p.word("RustcObjcClass");
if true && !classname.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if classname.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("classname");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
classname.print_attribute(__p);
__p.word("}");
}
Self::RustcObjcSelector { methname } => {
__p.word("RustcObjcSelector");
if true && !methname.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if methname.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("methname");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
methname.print_attribute(__p);
__p.word("}");
}
Self::RustcOffloadKernel => {
__p.word("RustcOffloadKernel")
}
Self::RustcParenSugar => { __p.word("RustcParenSugar") }
Self::RustcPassByValue => { __p.word("RustcPassByValue") }
Self::RustcPassIndirectlyInNonRusticAbis(f0) => {
__p.word("RustcPassIndirectlyInNonRusticAbis");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcPreserveUbChecks => {
__p.word("RustcPreserveUbChecks")
}
Self::RustcProcMacroDecls => {
__p.word("RustcProcMacroDecls")
}
Self::RustcPubTransparent(f0) => {
__p.word("RustcPubTransparent");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcReallocator => { __p.word("RustcReallocator") }
Self::RustcRegions => { __p.word("RustcRegions") }
Self::RustcReservationImpl(f0) => {
__p.word("RustcReservationImpl");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcScalableVector { element_count } => {
__p.word("RustcScalableVector");
if true && !element_count.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if element_count.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("element_count");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
element_count.print_attribute(__p);
__p.word("}");
}
Self::RustcShouldNotBeCalledOnConstItems => {
__p.word("RustcShouldNotBeCalledOnConstItems")
}
Self::RustcSimdMonomorphizeLaneLimit(f0) => {
__p.word("RustcSimdMonomorphizeLaneLimit");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcSkipDuringMethodDispatch { array, boxed_slice }
=> {
__p.word("RustcSkipDuringMethodDispatch");
if true && !array.should_render() &&
!boxed_slice.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if array.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("array");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
array.print_attribute(__p);
if boxed_slice.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("boxed_slice");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
boxed_slice.print_attribute(__p);
__p.word("}");
}
Self::RustcSpecializationTrait => {
__p.word("RustcSpecializationTrait")
}
Self::RustcStdInternalSymbol => {
__p.word("RustcStdInternalSymbol")
}
Self::RustcStrictCoherence(f0) => {
__p.word("RustcStrictCoherence");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcTestMarker(f0) => {
__p.word("RustcTestMarker");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcThenThisWouldNeed(f0) => {
__p.word("RustcThenThisWouldNeed");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcTrivialFieldReads => {
__p.word("RustcTrivialFieldReads")
}
Self::RustcUnsafeSpecializationMarker => {
__p.word("RustcUnsafeSpecializationMarker")
}
Self::Sanitize { on_set, off_set, rtsan, span } => {
__p.word("Sanitize");
if true && !on_set.should_render() &&
!off_set.should_render() && !rtsan.should_render() &&
!span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if on_set.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("on_set");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
on_set.print_attribute(__p);
if off_set.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("off_set");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
off_set.print_attribute(__p);
if rtsan.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("rtsan");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
rtsan.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::ShouldPanic { reason } => {
__p.word("ShouldPanic");
if true && !reason.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if reason.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("reason");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
reason.print_attribute(__p);
__p.word("}");
}
Self::Splat(f0) => {
__p.word("Splat");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Stability { stability, span } => {
__p.word("Stability");
if true && !stability.should_render() &&
!span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if stability.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("stability");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
stability.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::TargetFeature { features, attr_span, was_forced } => {
__p.word("TargetFeature");
if true && !features.should_render() &&
!attr_span.should_render() && !was_forced.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if features.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("features");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
features.print_attribute(__p);
if attr_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_span.print_attribute(__p);
if was_forced.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("was_forced");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
was_forced.print_attribute(__p);
__p.word("}");
}
Self::TestRunner(f0) => {
__p.word("TestRunner");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::ThreadLocal => { __p.word("ThreadLocal") }
Self::TrackCaller(f0) => {
__p.word("TrackCaller");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::TypeLengthLimit { limit } => {
__p.word("TypeLengthLimit");
if true && !limit.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if limit.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("limit");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
limit.print_attribute(__p);
__p.word("}");
}
Self::Unroll(f0) => {
__p.word("Unroll");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::UnstableFeatureBound(f0) => {
__p.word("UnstableFeatureBound");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::UnstableRemoved(f0) => {
__p.word("UnstableRemoved");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Used { used_by } => {
__p.word("Used");
if true && !used_by.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if used_by.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("used_by");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
used_by.print_attribute(__p);
__p.word("}");
}
Self::WindowsSubsystem(f0) => {
__p.word("WindowsSubsystem");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
}
}
}
};PrintAttribute)]
955pub enum AttributeKind {
956 AllowInternalUnsafe(Span),
959
960 AllowInternalUnstable(ThinVec<(Symbol, Span)>, Span),
962
963 AutomaticallyDerived,
965
966 CfgAttrTrace,
968
969 CfgTrace(ThinVec<(CfgEntry, Span)>),
971
972 CfiEncoding {
974 encoding: Symbol,
975 },
976
977 Cold,
979
980 CollapseDebugInfo(CollapseMacroDebuginfo),
982
983 CompilerBuiltins,
985
986 ConstContinue(Span),
988
989 Coroutine,
991
992 Coverage(CoverageAttrKind),
994
995 CrateName {
997 name: Symbol,
998 name_span: Span,
999 attr_span: Span,
1000 },
1001
1002 CrateType(ThinVec<CrateType>),
1004
1005 CustomMir(Option<(MirDialect, Span)>, Option<(MirPhase, Span)>),
1007
1008 DebuggerVisualizer(ThinVec<DebugVisualizer>),
1010
1011 DefaultLibAllocator,
1013
1014 Deprecated {
1016 deprecation: Deprecation,
1017 span: Span,
1018 },
1019
1020 DoNotRecommend,
1022
1023 Doc(Box<DocAttribute>),
1027
1028 DocComment {
1031 style: AttrStyle,
1032 kind: DocFragmentKind,
1033 span: Span,
1034 comment: Symbol,
1035 },
1036
1037 EiiDeclaration(EiiDecl),
1039
1040 EiiImpls(ThinVec<EiiImpl>),
1042
1043 ExportName {
1045 name: Symbol,
1048 span: Span,
1049 },
1050
1051 ExportStable,
1053
1054 Feature(ThinVec<Ident>, Span),
1056
1057 FfiConst,
1059
1060 FfiPure(Span),
1062
1063 Fundamental,
1065
1066 Ignore {
1068 span: Span,
1069 reason: Option<Symbol>,
1071 },
1072
1073 Inline(InlineAttr, Span),
1075
1076 InstructionSet(InstructionSetAttr),
1078
1079 InstrumentFn(InstrumentFnAttr),
1081
1082 Lang(LangItem),
1084
1085 Link(ThinVec<LinkEntry>, Span),
1087
1088 LinkName {
1090 name: Symbol,
1091 span: Span,
1092 },
1093
1094 LinkOrdinal {
1096 ordinal: u16,
1097 span: Span,
1098 },
1099
1100 LinkSection {
1102 name: Symbol,
1103 },
1104
1105 Linkage(Linkage, Span),
1107
1108 LoopMatch(Span),
1110
1111 MacroEscape,
1113
1114 MacroExport {
1116 span: Span,
1117 local_inner_macros: bool,
1118 },
1119
1120 MacroUse {
1122 span: Span,
1123 arguments: MacroUseArgs,
1124 },
1125
1126 Marker,
1128
1129 MayDangle(Span),
1131
1132 MoveSizeLimit {
1134 limit: Limit,
1135 },
1136
1137 MustNotSupend {
1139 reason: Option<Symbol>,
1140 },
1141
1142 MustUse {
1144 span: Span,
1146 reason: Option<Symbol>,
1148 },
1149
1150 Naked(Span),
1152
1153 NeedsAllocator,
1155
1156 NeedsPanicRuntime,
1158
1159 NoBuiltins,
1161
1162 NoCore,
1164
1165 NoImplicitPrelude,
1167
1168 NoLink,
1170
1171 NoMain,
1173
1174 NoMangle(Span),
1176
1177 NoStd,
1179
1180 NonExhaustive(Span),
1182
1183 OnConst {
1185 span: Span,
1186 directive: Option<Box<Directive>>,
1188 },
1189
1190 OnMove {
1192 directive: Option<Box<Directive>>,
1193 },
1194
1195 OnTypeError {
1197 span: Span,
1198 directive: Option<Box<Directive>>,
1199 },
1200
1201 OnUnimplemented {
1203 directive: Option<Box<Directive>>,
1205 },
1206
1207 OnUnknown {
1209 directive: Option<Box<Directive>>,
1211 },
1212
1213 OnUnmatchedArgs {
1215 directive: Option<Box<Directive>>,
1217 },
1218
1219 Optimize(OptimizeAttr, Span),
1221
1222 PanicRuntime,
1224
1225 PatchableFunctionEntry {
1227 prefix: u8,
1228 entry: u8,
1229 },
1230
1231 Path(Symbol),
1233
1234 PatternComplexityLimit {
1236 limit: Limit,
1237 },
1238
1239 PinV2(Span),
1241
1242 PreludeImport,
1244
1245 ProcMacro,
1247
1248 ProcMacroAttribute,
1250
1251 ProcMacroDerive {
1253 trait_name: Symbol,
1254 helper_attrs: ThinVec<Symbol>,
1255 },
1256
1257 ProfilerRuntime,
1259
1260 RecursionLimit {
1262 limit: Limit,
1263 },
1264
1265 ReexportTestHarnessMain(Symbol),
1267
1268 RegisterTool(ThinVec<Ident>),
1270
1271 Repr {
1273 reprs: ThinVec<(ReprAttr, Span)>,
1274 first_span: Span,
1275 },
1276
1277 RustcAbi {
1279 attr_span: Span,
1280 kind: RustcAbiAttrKind,
1281 },
1282
1283 RustcAlign {
1286 align: Align,
1287 span: Span,
1288 },
1289
1290 RustcAllocator,
1292
1293 RustcAllocatorZeroed,
1295
1296 RustcAllocatorZeroedVariant {
1298 name: Symbol,
1299 },
1300
1301 RustcAllowConstFnUnstable(ThinVec<Symbol>, Span),
1303
1304 RustcAllowIncoherentImpl(Span),
1306
1307 RustcAsPtr,
1309
1310 RustcAutodiff(Option<Box<RustcAutodiff>>),
1312
1313 RustcBodyStability {
1315 stability: DefaultBodyStability,
1316 span: Span,
1318 },
1319 RustcBuiltinMacro {
1321 builtin_name: Option<Symbol>,
1322 helper_attrs: ThinVec<Symbol>,
1323 },
1324 RustcCaptureAnalysis,
1326
1327 RustcCguTestAttr(ThinVec<(Span, CguFields)>),
1329
1330 RustcClean(ThinVec<RustcCleanAttribute>),
1332
1333 RustcCoherenceIsCore,
1335
1336 RustcCoinductive,
1338
1339 RustcComptime(Span),
1341
1342 RustcConfusables {
1344 confusables: ThinVec<Symbol>,
1345 },
1346 RustcConstStability {
1348 stability: PartialConstStability,
1349 span: Span,
1351 },
1352
1353 RustcConstStableIndirect,
1355
1356 RustcConversionSuggestion,
1358
1359 RustcDeallocator,
1361
1362 RustcDelayedBugFromInsideQuery,
1364
1365 RustcDenyExplicitImpl,
1367
1368 RustcDeprecatedSafe2024 {
1370 suggestion: Symbol,
1371 },
1372 RustcDiagnosticItem(Symbol),
1374
1375 RustcDoNotConstCheck,
1377
1378 RustcDocPrimitive(Span, Symbol),
1380
1381 RustcDummy,
1383
1384 RustcDumpDefParents,
1386
1387 RustcDumpDefPath(Span),
1389
1390 RustcDumpGenerics,
1392
1393 RustcDumpHiddenTypeOfOpaques,
1395
1396 RustcDumpInferredOutlives,
1398
1399 RustcDumpItemBounds,
1401
1402 RustcDumpLayout(ThinVec<RustcDumpLayoutKind>),
1404
1405 RustcDumpObjectLifetimeDefaults,
1407
1408 RustcDumpPredicates,
1410
1411 RustcDumpSymbolName(Span),
1413
1414 RustcDumpUserArgs,
1416
1417 RustcDumpVariances,
1419
1420 RustcDumpVariancesOfOpaques,
1422
1423 RustcDumpVtable(Span),
1425
1426 RustcDynIncompatibleTrait(Span),
1428
1429 RustcEffectiveVisibility,
1431
1432 RustcEiiForeignItem,
1434
1435 RustcEvaluateWhereClauses,
1437
1438 RustcHasIncoherentInherentImpls,
1439
1440 RustcIfThisChanged(Span, Option<Symbol>),
1442
1443 RustcInheritOverflowChecks,
1445
1446 RustcInsignificantDtor,
1448
1449 RustcIntrinsic,
1451
1452 RustcIntrinsicConstStableIndirect,
1454
1455 RustcLegacyConstGenerics {
1457 fn_indexes: ThinVec<(usize, Span)>,
1458 attr_span: Span,
1459 },
1460
1461 RustcLintOptDenyFieldAccess {
1463 lint_message: Symbol,
1464 },
1465
1466 RustcLintOptTy,
1468
1469 RustcLintQueryInstability,
1471
1472 RustcLintUntrackedQueryInformation,
1474
1475 RustcMacroTransparency(Transparency),
1477
1478 RustcMain,
1480
1481 RustcMir(ThinVec<RustcMirKind>),
1483
1484 RustcMustImplementOneOf {
1486 attr_span: Span,
1487 fn_names: ThinVec<Ident>,
1488 },
1489
1490 RustcMustMatchExhaustively(Span),
1492
1493 RustcNeverReturnsNullPtr,
1495
1496 RustcNeverTypeOptions {
1498 fallback: Option<DivergingFallbackBehavior>,
1499 diverging_block_default: Option<DivergingBlockBehavior>,
1500 },
1501
1502 RustcNoImplicitAutorefs,
1504
1505 RustcNoImplicitBounds,
1507
1508 RustcNoMirInline,
1510
1511 RustcNoWritable,
1513
1514 RustcNonConstTraitMethod,
1516
1517 RustcNonnullOptimizationGuaranteed,
1519
1520 RustcNounwind,
1522
1523 RustcObjcClass {
1525 classname: Symbol,
1526 },
1527
1528 RustcObjcSelector {
1530 methname: Symbol,
1531 },
1532
1533 RustcOffloadKernel,
1535
1536 RustcParenSugar,
1538
1539 RustcPassByValue,
1541
1542 RustcPassIndirectlyInNonRusticAbis(Span),
1544
1545 RustcPreserveUbChecks,
1547
1548 RustcProcMacroDecls,
1550
1551 RustcPubTransparent(Span),
1553
1554 RustcReallocator,
1556
1557 RustcRegions,
1559
1560 RustcReservationImpl(Symbol),
1562
1563 RustcScalableVector {
1565 element_count: Option<u16>,
1568 },
1569
1570 RustcShouldNotBeCalledOnConstItems,
1572
1573 RustcSimdMonomorphizeLaneLimit(Limit),
1575
1576 RustcSkipDuringMethodDispatch {
1578 array: bool,
1579 boxed_slice: bool,
1580 },
1581
1582 RustcSpecializationTrait,
1584
1585 RustcStdInternalSymbol,
1587
1588 RustcStrictCoherence(Span),
1590
1591 RustcTestMarker(Symbol),
1593
1594 RustcThenThisWouldNeed(ThinVec<Ident>),
1596
1597 RustcTrivialFieldReads,
1599
1600 RustcUnsafeSpecializationMarker,
1602
1603 Sanitize {
1609 on_set: SanitizerSet,
1610 off_set: SanitizerSet,
1611 rtsan: Option<RtsanSetting>,
1612 span: Span,
1613 },
1614
1615 ShouldPanic {
1617 reason: Option<Symbol>,
1618 },
1619
1620 Splat(Span),
1622
1623 Stability {
1625 stability: Stability,
1626 span: Span,
1628 },
1629
1630 TargetFeature {
1633 features: ThinVec<(Symbol, Span)>,
1634 attr_span: Span,
1635 was_forced: bool,
1636 },
1637
1638 TestRunner(Path),
1640
1641 ThreadLocal,
1643
1644 TrackCaller(Span),
1646
1647 TypeLengthLimit {
1649 limit: Limit,
1650 },
1651
1652 Unroll(UnrollAttr),
1654
1655 UnstableFeatureBound(ThinVec<(Symbol, Span)>),
1657
1658 UnstableRemoved(ThinVec<UnstableRemovedFeature>),
1660
1661 Used {
1663 used_by: UsedBy,
1664 },
1665
1666 WindowsSubsystem(WindowsSubsystemKind),
1668 }