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_hasher::StableHash for
EiiImplResolution {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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_hasher::StableHash for EiiImpl {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
match *self {
EiiImpl {
resolution: ref __binding_0,
impl_marked_unsafe: ref __binding_1,
span: ref __binding_2,
inner_span: ref __binding_3,
is_default: ref __binding_4 } => {
{ __binding_0.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_hasher::StableHash for EiiDecl {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
match *self {
EiiDecl {
foreign_item: ref __binding_0,
impl_unsafe: ref __binding_1,
name: ref __binding_2 } => {
{ __binding_0.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_hasher::StableHash for CguKind {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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_hasher::StableHash for CguFields
{
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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_hasher::StableHash for
DivergingFallbackBehavior {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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_hasher::StableHash for
DivergingBlockBehavior {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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_hasher::StableHash for InlineAttr
{
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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 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_hasher::StableHash for
InstructionSetAttr {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
133pub enum InstructionSetAttr {
134 ArmA32,
135 ArmT32,
136}
137
138#[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)]
139#[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_hasher::StableHash for
OptimizeAttr {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).stable_hash(__hcx, __hasher);
match *self {
OptimizeAttr::Default => {}
OptimizeAttr::DoNotOptimize => {}
OptimizeAttr::Speed => {}
OptimizeAttr::Size => {}
}
}
}
};StableHash)]
140pub enum OptimizeAttr {
141 #[default]
143 Default,
144 DoNotOptimize,
146 Speed,
148 Size,
150}
151
152impl OptimizeAttr {
153 pub fn do_not_optimize(&self) -> bool {
154 #[allow(non_exhaustive_omitted_patterns)] match self {
Self::DoNotOptimize => true,
_ => false,
}matches!(self, Self::DoNotOptimize)
155 }
156}
157
158#[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_hasher::StableHash for ReprAttr {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
159pub enum ReprAttr {
160 ReprInt(IntType),
161 ReprRust,
162 ReprC,
163 ReprPacked(Align),
164 ReprSimd,
165 ReprTransparent,
166 ReprAlign(Align),
167}
168
169pub enum TransparencyError {
170 UnknownTransparency(Symbol, Span),
171 MultipleTransparencyAttrs(Span, Span),
172}
173
174#[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)]
175#[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_hasher::StableHash for IntType {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
176pub enum IntType {
177 SignedInt(ast::IntTy),
178 UnsignedInt(ast::UintTy),
179}
180
181#[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_hasher::StableHash for
Deprecation {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
match *self {
Deprecation {
since: ref __binding_0,
note: ref __binding_1,
suggestion: ref __binding_2 } => {
{ __binding_0.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)]
182pub struct Deprecation {
183 pub since: DeprecatedSince,
184 pub note: Option<Ident>,
186 pub suggestion: Option<Symbol>,
190}
191
192#[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_hasher::StableHash for
DeprecatedSince {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
194pub enum DeprecatedSince {
195 RustcVersion(RustcVersion),
196 Future,
198 NonStandard(Symbol),
201 Unspecified,
203 Err,
206}
207
208#[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)]
210#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hasher::StableHash for
CoverageAttrKind {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
211pub enum CoverageAttrKind {
212 On,
213 Off,
214}
215
216#[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)]
218#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hasher::StableHash for
RustcAbiAttrKind {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
219pub enum RustcAbiAttrKind {
220 Debug,
221 AssertEq,
222}
223
224impl Deprecation {
225 pub fn is_in_effect(&self) -> bool {
229 match self.since {
230 DeprecatedSince::RustcVersion(since) => since <= RustcVersion::CURRENT,
231 DeprecatedSince::Future => false,
232 DeprecatedSince::NonStandard(_) => true,
234 DeprecatedSince::Unspecified | DeprecatedSince::Err => true,
236 }
237 }
238
239 pub fn is_since_rustc_version(&self) -> bool {
240 #[allow(non_exhaustive_omitted_patterns)] match self.since {
DeprecatedSince::RustcVersion(_) => true,
_ => false,
}matches!(self.since, DeprecatedSince::RustcVersion(_))
241 }
242}
243
244#[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)]
249#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hasher::StableHash for UsedBy {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
250pub enum UsedBy {
251 Default,
252 Compiler,
253 Linker,
254}
255
256#[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)]
257#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hasher::StableHash for
MacroUseArgs {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
258pub enum MacroUseArgs {
259 UseAll,
260 UseSpecific(ThinVec<Ident>),
261}
262
263impl Default for MacroUseArgs {
264 fn default() -> Self {
265 Self::UseSpecific(ThinVec::new())
266 }
267}
268
269#[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_hasher::StableHash for
StrippedCfgItem<ScopeId> where
ScopeId: ::rustc_data_structures::stable_hasher::StableHash {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
270pub struct StrippedCfgItem<ScopeId = DefId> {
271 pub parent_scope: ScopeId,
272 pub ident: Ident,
273 pub cfg: (CfgEntry, Span),
274}
275
276impl<ScopeId> StrippedCfgItem<ScopeId> {
277 pub fn map_scope_id<New>(self, f: impl FnOnce(ScopeId) -> New) -> StrippedCfgItem<New> {
278 StrippedCfgItem { parent_scope: f(self.parent_scope), ident: self.ident, cfg: self.cfg }
279 }
280}
281
282#[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)]
287#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hasher::StableHash for Linkage {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
288pub enum Linkage {
289 AvailableExternally,
290 Common,
291 ExternalWeak,
292 External,
293 Internal,
294 LinkOnceAny,
295 LinkOnceODR,
296 WeakAny,
297 WeakODR,
298}
299
300#[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)]
301#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hasher::StableHash for MirDialect
{
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
302pub enum MirDialect {
303 Analysis,
304 Built,
305 Runtime,
306}
307
308impl IntoDiagArg for MirDialect {
309 fn into_diag_arg(self, _path: &mut Option<PathBuf>) -> DiagArgValue {
310 let arg = match self {
311 MirDialect::Analysis => "analysis",
312 MirDialect::Built => "built",
313 MirDialect::Runtime => "runtime",
314 };
315 DiagArgValue::Str(Cow::Borrowed(arg))
316 }
317}
318
319#[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)]
320#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hasher::StableHash for MirPhase {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
321pub enum MirPhase {
322 Initial,
323 PostCleanup,
324 Optimized,
325}
326
327impl IntoDiagArg for MirPhase {
328 fn into_diag_arg(self, _path: &mut Option<PathBuf>) -> DiagArgValue {
329 let arg = match self {
330 MirPhase::Initial => "initial",
331 MirPhase::PostCleanup => "post-cleanup",
332 MirPhase::Optimized => "optimized",
333 };
334 DiagArgValue::Str(Cow::Borrowed(arg))
335 }
336}
337
338#[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_hasher::StableHash for
PeImportNameType {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
341pub enum PeImportNameType {
342 Ordinal(u16),
345 Decorated,
348 NoPrefix,
351 Undecorated,
355}
356
357#[derive(
358 #[automatically_derived]
impl ::core::marker::Copy for NativeLibKind { }Copy,
359 #[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,
360 #[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,
361 #[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,
362 #[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,
363 #[automatically_derived]
impl ::core::cmp::PartialOrd for NativeLibKind {
#[inline]
fn partial_cmp(&self, other: &NativeLibKind)
-> ::core::option::Option<::core::cmp::Ordering> {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
match (self, other) {
(NativeLibKind::Static {
bundle: __self_0,
whole_archive: __self_1,
export_symbols: __self_2 }, NativeLibKind::Static {
bundle: __arg1_0,
whole_archive: __arg1_1,
export_symbols: __arg1_2 }) =>
match ::core::cmp::PartialOrd::partial_cmp(__self_0, __arg1_0)
{
::core::option::Option::Some(::core::cmp::Ordering::Equal)
=>
match ::core::cmp::PartialOrd::partial_cmp(__self_1,
__arg1_1) {
::core::option::Option::Some(::core::cmp::Ordering::Equal)
=> ::core::cmp::PartialOrd::partial_cmp(__self_2, __arg1_2),
cmp => cmp,
},
cmp => cmp,
},
(NativeLibKind::Dylib { as_needed: __self_0 },
NativeLibKind::Dylib { as_needed: __arg1_0 }) =>
::core::cmp::PartialOrd::partial_cmp(__self_0, __arg1_0),
(NativeLibKind::RawDylib { as_needed: __self_0 },
NativeLibKind::RawDylib { as_needed: __arg1_0 }) =>
::core::cmp::PartialOrd::partial_cmp(__self_0, __arg1_0),
(NativeLibKind::Framework { as_needed: __self_0 },
NativeLibKind::Framework { as_needed: __arg1_0 }) =>
::core::cmp::PartialOrd::partial_cmp(__self_0, __arg1_0),
_ =>
::core::cmp::PartialOrd::partial_cmp(&__self_discr,
&__arg1_discr),
}
}
}PartialOrd,
364 #[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,
365 #[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,
366 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,
367 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,
368 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
369)]
370#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hasher::StableHash for
NativeLibKind {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
371pub enum NativeLibKind {
372 Static {
374 bundle: Option<bool>,
376 whole_archive: Option<bool>,
378 export_symbols: Option<bool>,
380 },
381 Dylib {
384 as_needed: Option<bool>,
386 },
387 RawDylib {
390 as_needed: Option<bool>,
392 },
393 Framework {
395 as_needed: Option<bool>,
397 },
398 LinkArg,
401
402 WasmImportModule,
404
405 Unspecified,
407}
408
409impl NativeLibKind {
410 pub fn has_modifiers(&self) -> bool {
411 match self {
412 NativeLibKind::Static { bundle, whole_archive, export_symbols } => {
413 bundle.is_some() || whole_archive.is_some() || export_symbols.is_some()
414 }
415 NativeLibKind::Dylib { as_needed }
416 | NativeLibKind::Framework { as_needed }
417 | NativeLibKind::RawDylib { as_needed } => as_needed.is_some(),
418 NativeLibKind::Unspecified
419 | NativeLibKind::LinkArg
420 | NativeLibKind::WasmImportModule => false,
421 }
422 }
423
424 pub fn is_statically_included(&self) -> bool {
425 #[allow(non_exhaustive_omitted_patterns)] match self {
NativeLibKind::Static { .. } => true,
_ => false,
}matches!(self, NativeLibKind::Static { .. })
426 }
427
428 pub fn is_dllimport(&self) -> bool {
429 #[allow(non_exhaustive_omitted_patterns)] match self {
NativeLibKind::Dylib { .. } | NativeLibKind::RawDylib { .. } |
NativeLibKind::Unspecified => true,
_ => false,
}matches!(
430 self,
431 NativeLibKind::Dylib { .. }
432 | NativeLibKind::RawDylib { .. }
433 | NativeLibKind::Unspecified
434 )
435 }
436}
437
438#[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_hasher::StableHash for LinkEntry
{
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
match *self {
LinkEntry {
span: ref __binding_0,
kind: ref __binding_1,
name: ref __binding_2,
cfg: ref __binding_3,
verbatim: ref __binding_4,
import_name_type: ref __binding_5 } => {
{ __binding_0.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)]
439pub struct LinkEntry {
440 pub span: Span,
441 pub kind: NativeLibKind,
442 pub name: Symbol,
443 pub cfg: Option<CfgEntry>,
444 pub verbatim: Option<bool>,
445 pub import_name_type: Option<(PeImportNameType, Span)>,
446}
447
448#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hasher::StableHash for
DebuggerVisualizerType {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
449#[derive(#[automatically_derived]
impl ::core::marker::Copy for DebuggerVisualizerType { }Copy, #[automatically_derived]
impl ::core::cmp::PartialEq for DebuggerVisualizerType {
#[inline]
fn eq(&self, other: &DebuggerVisualizerType) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, #[automatically_derived]
impl ::core::cmp::PartialOrd for DebuggerVisualizerType {
#[inline]
fn partial_cmp(&self, other: &DebuggerVisualizerType)
-> ::core::option::Option<::core::cmp::Ordering> {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
::core::cmp::PartialOrd::partial_cmp(&__self_discr, &__arg1_discr)
}
}PartialOrd, #[automatically_derived]
impl ::core::clone::Clone for DebuggerVisualizerType {
#[inline]
fn clone(&self) -> DebuggerVisualizerType { *self }
}Clone, #[automatically_derived]
impl ::core::cmp::Ord for DebuggerVisualizerType {
#[inline]
fn cmp(&self, other: &DebuggerVisualizerType) -> ::core::cmp::Ordering {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
::core::cmp::Ord::cmp(&__self_discr, &__arg1_discr)
}
}Ord, #[automatically_derived]
impl ::core::cmp::Eq for DebuggerVisualizerType {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_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)]
450pub enum DebuggerVisualizerType {
451 Natvis,
452 GdbPrettyPrinter,
453}
454
455#[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_hasher::StableHash for
DebugVisualizer {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
match *self {
DebugVisualizer {
span: ref __binding_0,
visualizer_type: ref __binding_1,
path: ref __binding_2 } => {
{ __binding_0.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)]
456pub struct DebugVisualizer {
457 pub span: Span,
458 pub visualizer_type: DebuggerVisualizerType,
459 pub path: Symbol,
460}
461
462#[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)]
463#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hasher::StableHash for
RtsanSetting {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
464#[derive_const(#[automatically_derived]
impl const ::core::default::Default for RtsanSetting {
#[inline]
fn default() -> RtsanSetting { Self::Caller }
}Default)]
465pub enum RtsanSetting {
466 Nonblocking,
467 Blocking,
468 #[default]
469 Caller,
470}
471
472#[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)]
473#[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_hasher::StableHash for
WindowsSubsystemKind {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
474pub enum WindowsSubsystemKind {
475 Console,
476 Windows,
477}
478
479impl WindowsSubsystemKind {
480 pub fn as_str(&self) -> &'static str {
481 match self {
482 WindowsSubsystemKind::Console => "console",
483 WindowsSubsystemKind::Windows => "windows",
484 }
485 }
486}
487
488#[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)]
489#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hasher::StableHash for DocInline
{
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
490pub enum DocInline {
491 Inline,
492 NoInline,
493}
494
495#[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)]
496#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hasher::StableHash for HideOrShow
{
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
497pub enum HideOrShow {
498 Hide,
499 Show,
500}
501
502#[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_hasher::StableHash for CfgInfo {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
match *self {
CfgInfo {
name: ref __binding_0,
name_span: ref __binding_1,
value: ref __binding_2 } => {
{ __binding_0.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)]
503pub struct CfgInfo {
504 pub name: Symbol,
505 pub name_span: Span,
506 pub value: Option<(Symbol, Span)>,
507}
508
509impl CfgInfo {
510 pub fn span_for_name_and_value(&self) -> Span {
511 if let Some((_, value_span)) = self.value {
512 self.name_span.with_hi(value_span.hi())
513 } else {
514 self.name_span
515 }
516 }
517}
518
519#[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_hasher::StableHash for
CfgHideShow {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
520pub struct CfgHideShow {
521 pub kind: HideOrShow,
522 pub values: ThinVec<CfgInfo>,
523}
524
525#[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_hasher::StableHash for
DocAttribute {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
526pub struct DocAttribute {
527 pub first_span: Span,
528
529 pub aliases: FxIndexMap<Symbol, Span>,
530 pub hidden: Option<Span>,
531 pub inline: ThinVec<(DocInline, Span)>,
534
535 pub cfg: ThinVec<CfgEntry>,
537 pub auto_cfg: ThinVec<(CfgHideShow, Span)>,
538 pub auto_cfg_change: ThinVec<(bool, Span)>,
540
541 pub fake_variadic: Option<Span>,
543 pub keyword: Option<(Symbol, Span)>,
544 pub attribute: Option<(Symbol, Span)>,
545 pub masked: Option<Span>,
546 pub notable_trait: Option<Span>,
547 pub search_unbox: Option<Span>,
548
549 pub html_favicon_url: Option<(Symbol, Span)>,
551 pub html_logo_url: Option<(Symbol, Span)>,
552 pub html_playground_url: Option<(Symbol, Span)>,
553 pub html_root_url: Option<(Symbol, Span)>,
554 pub html_no_source: Option<Span>,
555 pub issue_tracker_base_url: Option<(Symbol, Span)>,
556 pub rust_logo: Option<Span>,
557
558 pub test_attrs: ThinVec<Span>,
560 pub no_crate_inject: Option<Span>,
561}
562
563impl<E: rustc_span::SpanEncoder> rustc_serialize::Encodable<E> for DocAttribute {
564 fn encode(&self, encoder: &mut E) {
565 let DocAttribute {
566 first_span,
567 aliases,
568 hidden,
569 inline,
570 cfg,
571 auto_cfg,
572 auto_cfg_change,
573 fake_variadic,
574 keyword,
575 attribute,
576 masked,
577 notable_trait,
578 search_unbox,
579 html_favicon_url,
580 html_logo_url,
581 html_playground_url,
582 html_root_url,
583 html_no_source,
584 issue_tracker_base_url,
585 rust_logo,
586 test_attrs,
587 no_crate_inject,
588 } = self;
589 rustc_serialize::Encodable::<E>::encode(first_span, encoder);
590 rustc_serialize::Encodable::<E>::encode(aliases, encoder);
591 rustc_serialize::Encodable::<E>::encode(hidden, encoder);
592
593 let inline: ThinVec<_> =
597 inline.iter().filter(|(i, _)| *i != DocInline::Inline).cloned().collect();
598 rustc_serialize::Encodable::<E>::encode(&inline, encoder);
599
600 rustc_serialize::Encodable::<E>::encode(cfg, encoder);
601 rustc_serialize::Encodable::<E>::encode(auto_cfg, encoder);
602 rustc_serialize::Encodable::<E>::encode(auto_cfg_change, encoder);
603 rustc_serialize::Encodable::<E>::encode(fake_variadic, encoder);
604 rustc_serialize::Encodable::<E>::encode(keyword, encoder);
605 rustc_serialize::Encodable::<E>::encode(attribute, encoder);
606 rustc_serialize::Encodable::<E>::encode(masked, encoder);
607 rustc_serialize::Encodable::<E>::encode(notable_trait, encoder);
608 rustc_serialize::Encodable::<E>::encode(search_unbox, encoder);
609 rustc_serialize::Encodable::<E>::encode(html_favicon_url, encoder);
610 rustc_serialize::Encodable::<E>::encode(html_logo_url, encoder);
611 rustc_serialize::Encodable::<E>::encode(html_playground_url, encoder);
612 rustc_serialize::Encodable::<E>::encode(html_root_url, encoder);
613 rustc_serialize::Encodable::<E>::encode(html_no_source, encoder);
614 rustc_serialize::Encodable::<E>::encode(issue_tracker_base_url, encoder);
615 rustc_serialize::Encodable::<E>::encode(rust_logo, encoder);
616 rustc_serialize::Encodable::<E>::encode(test_attrs, encoder);
617 rustc_serialize::Encodable::<E>::encode(no_crate_inject, encoder);
618 }
619}
620
621#[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)]
629#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hasher::StableHash for
CollapseMacroDebuginfo {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
630pub enum CollapseMacroDebuginfo {
631 No = 0,
633 Unspecified = 1,
635 External = 2,
637 Yes = 3,
639}
640
641#[derive(#[automatically_derived]
impl ::core::marker::Copy for CrateType { }Copy, #[automatically_derived]
impl ::core::clone::Clone for CrateType {
#[inline]
fn clone(&self) -> CrateType { *self }
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for CrateType {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
CrateType::Executable => "Executable",
CrateType::Dylib => "Dylib",
CrateType::Rlib => "Rlib",
CrateType::StaticLib => "StaticLib",
CrateType::Cdylib => "Cdylib",
CrateType::ProcMacro => "ProcMacro",
CrateType::Sdylib => "Sdylib",
})
}
}Debug, #[automatically_derived]
impl ::core::hash::Hash for CrateType {
#[inline]
fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) {
let __self_discr = ::core::intrinsics::discriminant_value(self);
::core::hash::Hash::hash(&__self_discr, state)
}
}Hash, #[automatically_derived]
impl ::core::cmp::PartialEq for CrateType {
#[inline]
fn eq(&self, other: &CrateType) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, #[automatically_derived]
impl ::core::default::Default for CrateType {
#[inline]
fn default() -> CrateType { Self::Rlib }
}Default, #[automatically_derived]
impl ::core::cmp::PartialOrd for CrateType {
#[inline]
fn partial_cmp(&self, other: &CrateType)
-> ::core::option::Option<::core::cmp::Ordering> {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
::core::cmp::PartialOrd::partial_cmp(&__self_discr, &__arg1_discr)
}
}PartialOrd, #[automatically_derived]
impl ::core::cmp::Eq for CrateType {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_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)]
643#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hasher::StableHash for CrateType
{
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
644pub enum CrateType {
645 Executable,
647 Dylib,
649 #[default]
651 Rlib,
652 StaticLib,
654 Cdylib,
656 ProcMacro,
658 Sdylib,
661}
662
663impl CrateType {
664 pub fn all() -> &'static [(Symbol, Self)] {
666 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);
667 &[
668 (rustc_span::sym::lib, CrateType::Rlib),
669 (rustc_span::sym::rlib, CrateType::Rlib),
670 (rustc_span::sym::dylib, CrateType::Dylib),
671 (rustc_span::sym::cdylib, CrateType::Cdylib),
672 (rustc_span::sym::staticlib, CrateType::StaticLib),
673 (rustc_span::sym::proc_dash_macro, CrateType::ProcMacro),
674 (rustc_span::sym::bin, CrateType::Executable),
675 (rustc_span::sym::sdylib, CrateType::Sdylib),
676 ]
677 }
678
679 pub fn all_stable() -> &'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 ]
692 }
693
694 pub fn has_metadata(self) -> bool {
695 match self {
696 CrateType::Rlib | CrateType::Dylib | CrateType::ProcMacro => true,
697 CrateType::Executable
698 | CrateType::Cdylib
699 | CrateType::StaticLib
700 | CrateType::Sdylib => false,
701 }
702 }
703}
704
705impl TryFrom<Symbol> for CrateType {
706 type Error = ();
707
708 fn try_from(value: Symbol) -> Result<Self, Self::Error> {
709 Ok(match value {
710 rustc_span::sym::bin => CrateType::Executable,
711 rustc_span::sym::dylib => CrateType::Dylib,
712 rustc_span::sym::staticlib => CrateType::StaticLib,
713 rustc_span::sym::cdylib => CrateType::Cdylib,
714 rustc_span::sym::rlib => CrateType::Rlib,
715 rustc_span::sym::lib => CrateType::default(),
716 rustc_span::sym::proc_dash_macro => CrateType::ProcMacro,
717 rustc_span::sym::sdylib => CrateType::Sdylib,
718 _ => return Err(()),
719 })
720 }
721}
722
723impl std::fmt::Display for CrateType {
724 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
725 match *self {
726 CrateType::Executable => "bin".fmt(f),
727 CrateType::Dylib => "dylib".fmt(f),
728 CrateType::Rlib => "rlib".fmt(f),
729 CrateType::StaticLib => "staticlib".fmt(f),
730 CrateType::Cdylib => "cdylib".fmt(f),
731 CrateType::ProcMacro => "proc-macro".fmt(f),
732 CrateType::Sdylib => "sdylib".fmt(f),
733 }
734 }
735}
736
737impl IntoDiagArg for CrateType {
738 fn into_diag_arg(self, _: &mut Option<std::path::PathBuf>) -> DiagArgValue {
739 self.to_string().into_diag_arg(&mut None)
740 }
741}
742
743#[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_hasher::StableHash for
RustcDumpLayoutKind {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
744pub enum RustcDumpLayoutKind {
745 Align,
746 BackendRepr,
747 Debug,
748 HomogenousAggregate,
749 Size,
750}
751
752#[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_hasher::StableHash for
RustcMirKind {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
753pub enum RustcMirKind {
754 PeekMaybeInit,
755 PeekMaybeUninit,
756 PeekLiveness,
757 StopAfterDataflow,
758 BorrowckGraphvizPostflow { path: PathBuf },
759 BorrowckGraphvizFormat { format: BorrowckGraphvizFormatKind },
760}
761
762#[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_hasher::StableHash for
BorrowckGraphvizFormatKind {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
763pub enum BorrowckGraphvizFormatKind {
764 TwoPhase,
765}
766
767#[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)]
768#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hasher::StableHash for
RustcCleanAttribute {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
match *self {
RustcCleanAttribute {
span: ref __binding_0,
cfg: ref __binding_1,
except: ref __binding_2,
loaded_from_disk: ref __binding_3 } => {
{ __binding_0.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)]
769pub struct RustcCleanAttribute {
770 pub span: Span,
771 pub cfg: Symbol,
772 pub except: Option<RustcCleanQueries>,
773 pub loaded_from_disk: Option<RustcCleanQueries>,
774}
775
776#[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)]
778#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hasher::StableHash for
RustcCleanQueries {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
779pub struct RustcCleanQueries {
780 pub entries: ThinVec<Symbol>,
781 pub span: Span,
782}
783
784#[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)]
785#[derive(const _: () =
{
impl ::rustc_data_structures::stable_hasher::StableHash for
RustcAutodiff {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
786pub struct RustcAutodiff {
787 pub mode: DiffMode,
791 pub width: u32,
802 pub input_activity: ThinVec<DiffActivity>,
803 pub ret_activity: DiffActivity,
804}
805
806impl RustcAutodiff {
807 pub fn has_primal_ret(&self) -> bool {
808 #[allow(non_exhaustive_omitted_patterns)] match self.ret_activity {
DiffActivity::Active | DiffActivity::Dual => true,
_ => false,
}matches!(self.ret_activity, DiffActivity::Active | DiffActivity::Dual)
809 }
810}
811
812impl RustcAutodiff {
813 pub fn has_ret_activity(&self) -> bool {
814 self.ret_activity != DiffActivity::None
815 }
816 pub fn has_active_only_ret(&self) -> bool {
817 self.ret_activity == DiffActivity::ActiveOnly
818 }
819
820 pub fn error() -> Self {
821 RustcAutodiff {
822 mode: DiffMode::Error,
823 width: 0,
824 ret_activity: DiffActivity::None,
825 input_activity: ThinVec::new(),
826 }
827 }
828
829 pub fn source() -> Self {
830 RustcAutodiff {
831 mode: DiffMode::Source,
832 width: 0,
833 ret_activity: DiffActivity::None,
834 input_activity: ThinVec::new(),
835 }
836 }
837
838 pub fn is_active(&self) -> bool {
839 self.mode != DiffMode::Error
840 }
841
842 pub fn is_source(&self) -> bool {
843 self.mode == DiffMode::Source
844 }
845 pub fn apply_autodiff(&self) -> bool {
846 !#[allow(non_exhaustive_omitted_patterns)] match self.mode {
DiffMode::Error | DiffMode::Source => true,
_ => false,
}matches!(self.mode, DiffMode::Error | DiffMode::Source)
847 }
848
849 pub fn into_item(
850 self,
851 source: String,
852 target: String,
853 inputs: Vec<TypeTree>,
854 output: TypeTree,
855 ) -> AutoDiffItem {
856 AutoDiffItem { source, target, inputs, output, attrs: self }
857 }
858}
859
860#[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_hasher::StableHash for
AutoDiffItem {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
862pub struct AutoDiffItem {
863 pub source: String,
865 pub target: String,
867 pub attrs: RustcAutodiff,
868 pub inputs: Vec<TypeTree>,
869 pub output: TypeTree,
870}
871
872impl fmt::Display for AutoDiffItem {
873 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
874 f.write_fmt(format_args!("Differentiating {0} -> {1}", self.source,
self.target))write!(f, "Differentiating {} -> {}", self.source, self.target)?;
875 f.write_fmt(format_args!(" with attributes: {0:?}", self.attrs))write!(f, " with attributes: {:?}", self.attrs)?;
876 f.write_fmt(format_args!(" with inputs: {0:?}", self.inputs))write!(f, " with inputs: {:?}", self.inputs)?;
877 f.write_fmt(format_args!(" with output: {0:?}", self.output))write!(f, " with output: {:?}", self.output)
878 }
879}
880
881#[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_hasher::StableHash for
UnstableRemovedFeature {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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)]
882pub struct UnstableRemovedFeature {
883 pub feature: Symbol,
884 pub reason: Symbol,
885 pub link: Symbol,
886 pub since: RustcVersion,
887}
888
889#[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(__self_0) =>
AttributeKind::AutomaticallyDerived(::core::clone::Clone::clone(__self_0)),
AttributeKind::CfgAttrTrace => AttributeKind::CfgAttrTrace,
AttributeKind::CfgTrace(__self_0) =>
AttributeKind::CfgTrace(::core::clone::Clone::clone(__self_0)),
AttributeKind::CfiEncoding { encoding: __self_0 } =>
AttributeKind::CfiEncoding {
encoding: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::Cold(__self_0) =>
AttributeKind::Cold(::core::clone::Clone::clone(__self_0)),
AttributeKind::CollapseDebugInfo(__self_0) =>
AttributeKind::CollapseDebugInfo(::core::clone::Clone::clone(__self_0)),
AttributeKind::CompilerBuiltins =>
AttributeKind::CompilerBuiltins,
AttributeKind::ConstContinue(__self_0) =>
AttributeKind::ConstContinue(::core::clone::Clone::clone(__self_0)),
AttributeKind::Coroutine(__self_0) =>
AttributeKind::Coroutine(::core::clone::Clone::clone(__self_0)),
AttributeKind::Coverage(__self_0, __self_1) =>
AttributeKind::Coverage(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::CrateName {
name: __self_0, name_span: __self_1, attr_span: __self_2 } =>
AttributeKind::CrateName {
name: ::core::clone::Clone::clone(__self_0),
name_span: ::core::clone::Clone::clone(__self_1),
attr_span: ::core::clone::Clone::clone(__self_2),
},
AttributeKind::CrateType(__self_0) =>
AttributeKind::CrateType(::core::clone::Clone::clone(__self_0)),
AttributeKind::CustomMir(__self_0, __self_1, __self_2) =>
AttributeKind::CustomMir(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1),
::core::clone::Clone::clone(__self_2)),
AttributeKind::DebuggerVisualizer(__self_0) =>
AttributeKind::DebuggerVisualizer(::core::clone::Clone::clone(__self_0)),
AttributeKind::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 { attr_span: __self_0 } =>
AttributeKind::DoNotRecommend {
attr_span: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::Doc(__self_0) =>
AttributeKind::Doc(::core::clone::Clone::clone(__self_0)),
AttributeKind::DocComment {
style: __self_0,
kind: __self_1,
span: __self_2,
comment: __self_3 } =>
AttributeKind::DocComment {
style: ::core::clone::Clone::clone(__self_0),
kind: ::core::clone::Clone::clone(__self_1),
span: ::core::clone::Clone::clone(__self_2),
comment: ::core::clone::Clone::clone(__self_3),
},
AttributeKind::EiiDeclaration(__self_0) =>
AttributeKind::EiiDeclaration(::core::clone::Clone::clone(__self_0)),
AttributeKind::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(__self_0) =>
AttributeKind::FfiConst(::core::clone::Clone::clone(__self_0)),
AttributeKind::FfiPure(__self_0) =>
AttributeKind::FfiPure(::core::clone::Clone::clone(__self_0)),
AttributeKind::Fundamental => AttributeKind::Fundamental,
AttributeKind::Ignore { span: __self_0, reason: __self_1 } =>
AttributeKind::Ignore {
span: ::core::clone::Clone::clone(__self_0),
reason: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::Inline(__self_0, __self_1) =>
AttributeKind::Inline(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::InstructionSet(__self_0) =>
AttributeKind::InstructionSet(::core::clone::Clone::clone(__self_0)),
AttributeKind::Lang(__self_0, __self_1) =>
AttributeKind::Lang(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
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 { span: __self_0, name: __self_1 } =>
AttributeKind::LinkSection {
span: ::core::clone::Clone::clone(__self_0),
name: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::Linkage(__self_0, __self_1) =>
AttributeKind::Linkage(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::LoopMatch(__self_0) =>
AttributeKind::LoopMatch(::core::clone::Clone::clone(__self_0)),
AttributeKind::MacroEscape(__self_0) =>
AttributeKind::MacroEscape(::core::clone::Clone::clone(__self_0)),
AttributeKind::MacroExport {
span: __self_0, local_inner_macros: __self_1 } =>
AttributeKind::MacroExport {
span: ::core::clone::Clone::clone(__self_0),
local_inner_macros: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::MacroUse { span: __self_0, arguments: __self_1 } =>
AttributeKind::MacroUse {
span: ::core::clone::Clone::clone(__self_0),
arguments: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::Marker(__self_0) =>
AttributeKind::Marker(::core::clone::Clone::clone(__self_0)),
AttributeKind::MayDangle(__self_0) =>
AttributeKind::MayDangle(::core::clone::Clone::clone(__self_0)),
AttributeKind::MoveSizeLimit {
attr_span: __self_0, limit_span: __self_1, limit: __self_2 }
=>
AttributeKind::MoveSizeLimit {
attr_span: ::core::clone::Clone::clone(__self_0),
limit_span: ::core::clone::Clone::clone(__self_1),
limit: ::core::clone::Clone::clone(__self_2),
},
AttributeKind::MustNotSupend { reason: __self_0 } =>
AttributeKind::MustNotSupend {
reason: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::MustUse { span: __self_0, reason: __self_1 } =>
AttributeKind::MustUse {
span: ::core::clone::Clone::clone(__self_0),
reason: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::Naked(__self_0) =>
AttributeKind::Naked(::core::clone::Clone::clone(__self_0)),
AttributeKind::NeedsAllocator => AttributeKind::NeedsAllocator,
AttributeKind::NeedsPanicRuntime =>
AttributeKind::NeedsPanicRuntime,
AttributeKind::NoBuiltins => AttributeKind::NoBuiltins,
AttributeKind::NoCore(__self_0) =>
AttributeKind::NoCore(::core::clone::Clone::clone(__self_0)),
AttributeKind::NoImplicitPrelude(__self_0) =>
AttributeKind::NoImplicitPrelude(::core::clone::Clone::clone(__self_0)),
AttributeKind::NoLink => AttributeKind::NoLink,
AttributeKind::NoMain => AttributeKind::NoMain,
AttributeKind::NoMangle(__self_0) =>
AttributeKind::NoMangle(::core::clone::Clone::clone(__self_0)),
AttributeKind::NoStd(__self_0) =>
AttributeKind::NoStd(::core::clone::Clone::clone(__self_0)),
AttributeKind::NonExhaustive(__self_0) =>
AttributeKind::NonExhaustive(::core::clone::Clone::clone(__self_0)),
AttributeKind::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 { span: __self_0, directive: __self_1 } =>
AttributeKind::OnMove {
span: ::core::clone::Clone::clone(__self_0),
directive: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::OnUnimplemented {
span: __self_0, directive: __self_1 } =>
AttributeKind::OnUnimplemented {
span: ::core::clone::Clone::clone(__self_0),
directive: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::OnUnknown { span: __self_0, directive: __self_1 }
=>
AttributeKind::OnUnknown {
span: ::core::clone::Clone::clone(__self_0),
directive: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::OnUnmatchArgs { span: __self_0, directive: __self_1
} =>
AttributeKind::OnUnmatchArgs {
span: ::core::clone::Clone::clone(__self_0),
directive: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::Optimize(__self_0, __self_1) =>
AttributeKind::Optimize(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::PanicRuntime => AttributeKind::PanicRuntime,
AttributeKind::PatchableFunctionEntry {
prefix: __self_0, entry: __self_1 } =>
AttributeKind::PatchableFunctionEntry {
prefix: ::core::clone::Clone::clone(__self_0),
entry: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::Path(__self_0, __self_1) =>
AttributeKind::Path(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::PatternComplexityLimit {
attr_span: __self_0, limit_span: __self_1, limit: __self_2 }
=>
AttributeKind::PatternComplexityLimit {
attr_span: ::core::clone::Clone::clone(__self_0),
limit_span: ::core::clone::Clone::clone(__self_1),
limit: ::core::clone::Clone::clone(__self_2),
},
AttributeKind::PinV2(__self_0) =>
AttributeKind::PinV2(::core::clone::Clone::clone(__self_0)),
AttributeKind::PreludeImport => AttributeKind::PreludeImport,
AttributeKind::ProcMacro(__self_0) =>
AttributeKind::ProcMacro(::core::clone::Clone::clone(__self_0)),
AttributeKind::ProcMacroAttribute(__self_0) =>
AttributeKind::ProcMacroAttribute(::core::clone::Clone::clone(__self_0)),
AttributeKind::ProcMacroDerive {
trait_name: __self_0, helper_attrs: __self_1, span: __self_2 }
=>
AttributeKind::ProcMacroDerive {
trait_name: ::core::clone::Clone::clone(__self_0),
helper_attrs: ::core::clone::Clone::clone(__self_1),
span: ::core::clone::Clone::clone(__self_2),
},
AttributeKind::ProfilerRuntime => AttributeKind::ProfilerRuntime,
AttributeKind::RecursionLimit {
attr_span: __self_0, limit_span: __self_1, limit: __self_2 }
=>
AttributeKind::RecursionLimit {
attr_span: ::core::clone::Clone::clone(__self_0),
limit_span: ::core::clone::Clone::clone(__self_1),
limit: ::core::clone::Clone::clone(__self_2),
},
AttributeKind::ReexportTestHarnessMain(__self_0) =>
AttributeKind::ReexportTestHarnessMain(::core::clone::Clone::clone(__self_0)),
AttributeKind::RegisterTool(__self_0, __self_1) =>
AttributeKind::RegisterTool(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::Repr { reprs: __self_0, first_span: __self_1 } =>
AttributeKind::Repr {
reprs: ::core::clone::Clone::clone(__self_0),
first_span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcAbi { attr_span: __self_0, kind: __self_1 } =>
AttributeKind::RustcAbi {
attr_span: ::core::clone::Clone::clone(__self_0),
kind: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcAlign { align: __self_0, span: __self_1 } =>
AttributeKind::RustcAlign {
align: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcAllocator => AttributeKind::RustcAllocator,
AttributeKind::RustcAllocatorZeroed =>
AttributeKind::RustcAllocatorZeroed,
AttributeKind::RustcAllocatorZeroedVariant { name: __self_0 } =>
AttributeKind::RustcAllocatorZeroedVariant {
name: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::RustcAllowConstFnUnstable(__self_0, __self_1) =>
AttributeKind::RustcAllowConstFnUnstable(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::RustcAllowIncoherentImpl(__self_0) =>
AttributeKind::RustcAllowIncoherentImpl(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcAsPtr(__self_0) =>
AttributeKind::RustcAsPtr(::core::clone::Clone::clone(__self_0)),
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, span: __self_2
} =>
AttributeKind::RustcBuiltinMacro {
builtin_name: ::core::clone::Clone::clone(__self_0),
helper_attrs: ::core::clone::Clone::clone(__self_1),
span: ::core::clone::Clone::clone(__self_2),
},
AttributeKind::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(__self_0) =>
AttributeKind::RustcCoherenceIsCore(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcCoinductive(__self_0) =>
AttributeKind::RustcCoinductive(::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(__self_0) =>
AttributeKind::RustcDenyExplicitImpl(::core::clone::Clone::clone(__self_0)),
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::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::RustcLayoutScalarValidRangeEnd(__self_0, __self_1)
=>
AttributeKind::RustcLayoutScalarValidRangeEnd(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::RustcLayoutScalarValidRangeStart(__self_0,
__self_1) =>
AttributeKind::RustcLayoutScalarValidRangeStart(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::RustcLegacyConstGenerics {
fn_indexes: __self_0, attr_span: __self_1 } =>
AttributeKind::RustcLegacyConstGenerics {
fn_indexes: ::core::clone::Clone::clone(__self_0),
attr_span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcLintOptDenyFieldAccess {
lint_message: __self_0 } =>
AttributeKind::RustcLintOptDenyFieldAccess {
lint_message: ::core::clone::Clone::clone(__self_0),
},
AttributeKind::RustcLintOptTy => AttributeKind::RustcLintOptTy,
AttributeKind::RustcLintQueryInstability =>
AttributeKind::RustcLintQueryInstability,
AttributeKind::RustcLintUntrackedQueryInformation =>
AttributeKind::RustcLintUntrackedQueryInformation,
AttributeKind::RustcMacroTransparency(__self_0) =>
AttributeKind::RustcMacroTransparency(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcMain => AttributeKind::RustcMain,
AttributeKind::RustcMir(__self_0) =>
AttributeKind::RustcMir(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcMustImplementOneOf {
attr_span: __self_0, fn_names: __self_1 } =>
AttributeKind::RustcMustImplementOneOf {
attr_span: ::core::clone::Clone::clone(__self_0),
fn_names: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::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, span: __self_1 } =>
AttributeKind::RustcObjcClass {
classname: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcObjcSelector {
methname: __self_0, span: __self_1 } =>
AttributeKind::RustcObjcSelector {
methname: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcOffloadKernel =>
AttributeKind::RustcOffloadKernel,
AttributeKind::RustcParenSugar(__self_0) =>
AttributeKind::RustcParenSugar(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcPassByValue(__self_0) =>
AttributeKind::RustcPassByValue(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcPassIndirectlyInNonRusticAbis(__self_0) =>
AttributeKind::RustcPassIndirectlyInNonRusticAbis(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcPreserveUbChecks =>
AttributeKind::RustcPreserveUbChecks,
AttributeKind::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, __self_1) =>
AttributeKind::RustcReservationImpl(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::RustcScalableVector {
element_count: __self_0, span: __self_1 } =>
AttributeKind::RustcScalableVector {
element_count: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::RustcShouldNotBeCalledOnConstItems(__self_0) =>
AttributeKind::RustcShouldNotBeCalledOnConstItems(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcSimdMonomorphizeLaneLimit(__self_0) =>
AttributeKind::RustcSimdMonomorphizeLaneLimit(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcSkipDuringMethodDispatch {
array: __self_0, boxed_slice: __self_1, span: __self_2 } =>
AttributeKind::RustcSkipDuringMethodDispatch {
array: ::core::clone::Clone::clone(__self_0),
boxed_slice: ::core::clone::Clone::clone(__self_1),
span: ::core::clone::Clone::clone(__self_2),
},
AttributeKind::RustcSpecializationTrait(__self_0) =>
AttributeKind::RustcSpecializationTrait(::core::clone::Clone::clone(__self_0)),
AttributeKind::RustcStdInternalSymbol(__self_0) =>
AttributeKind::RustcStdInternalSymbol(::core::clone::Clone::clone(__self_0)),
AttributeKind::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, __self_1) =>
AttributeKind::RustcThenThisWouldNeed(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
AttributeKind::RustcTrivialFieldReads =>
AttributeKind::RustcTrivialFieldReads,
AttributeKind::RustcUnsafeSpecializationMarker(__self_0) =>
AttributeKind::RustcUnsafeSpecializationMarker(::core::clone::Clone::clone(__self_0)),
AttributeKind::Sanitize {
on_set: __self_0,
off_set: __self_1,
rtsan: __self_2,
span: __self_3 } =>
AttributeKind::Sanitize {
on_set: ::core::clone::Clone::clone(__self_0),
off_set: ::core::clone::Clone::clone(__self_1),
rtsan: ::core::clone::Clone::clone(__self_2),
span: ::core::clone::Clone::clone(__self_3),
},
AttributeKind::ShouldPanic { reason: __self_0, span: __self_1 } =>
AttributeKind::ShouldPanic {
reason: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::Stability { stability: __self_0, span: __self_1 }
=>
AttributeKind::Stability {
stability: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::TargetFeature {
features: __self_0, attr_span: __self_1, was_forced: __self_2
} =>
AttributeKind::TargetFeature {
features: ::core::clone::Clone::clone(__self_0),
attr_span: ::core::clone::Clone::clone(__self_1),
was_forced: ::core::clone::Clone::clone(__self_2),
},
AttributeKind::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 {
attr_span: __self_0, limit_span: __self_1, limit: __self_2 }
=>
AttributeKind::TypeLengthLimit {
attr_span: ::core::clone::Clone::clone(__self_0),
limit_span: ::core::clone::Clone::clone(__self_1),
limit: ::core::clone::Clone::clone(__self_2),
},
AttributeKind::UnstableFeatureBound(__self_0) =>
AttributeKind::UnstableFeatureBound(::core::clone::Clone::clone(__self_0)),
AttributeKind::UnstableRemoved(__self_0) =>
AttributeKind::UnstableRemoved(::core::clone::Clone::clone(__self_0)),
AttributeKind::Used { used_by: __self_0, span: __self_1 } =>
AttributeKind::Used {
used_by: ::core::clone::Clone::clone(__self_0),
span: ::core::clone::Clone::clone(__self_1),
},
AttributeKind::WindowsSubsystem(__self_0, __self_1) =>
AttributeKind::WindowsSubsystem(::core::clone::Clone::clone(__self_0),
::core::clone::Clone::clone(__self_1)),
}
}
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for AttributeKind {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
AttributeKind::AllowInternalUnsafe(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"AllowInternalUnsafe", &__self_0),
AttributeKind::AllowInternalUnstable(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"AllowInternalUnstable", __self_0, &__self_1),
AttributeKind::AutomaticallyDerived(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"AutomaticallyDerived", &__self_0),
AttributeKind::CfgAttrTrace =>
::core::fmt::Formatter::write_str(f, "CfgAttrTrace"),
AttributeKind::CfgTrace(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"CfgTrace", &__self_0),
AttributeKind::CfiEncoding { encoding: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"CfiEncoding", "encoding", &__self_0),
AttributeKind::Cold(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Cold",
&__self_0),
AttributeKind::CollapseDebugInfo(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"CollapseDebugInfo", &__self_0),
AttributeKind::CompilerBuiltins =>
::core::fmt::Formatter::write_str(f, "CompilerBuiltins"),
AttributeKind::ConstContinue(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"ConstContinue", &__self_0),
AttributeKind::Coroutine(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"Coroutine", &__self_0),
AttributeKind::Coverage(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"Coverage", __self_0, &__self_1),
AttributeKind::CrateName {
name: __self_0, name_span: __self_1, attr_span: __self_2 } =>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"CrateName", "name", __self_0, "name_span", __self_1,
"attr_span", &__self_2),
AttributeKind::CrateType(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"CrateType", &__self_0),
AttributeKind::CustomMir(__self_0, __self_1, __self_2) =>
::core::fmt::Formatter::debug_tuple_field3_finish(f,
"CustomMir", __self_0, __self_1, &__self_2),
AttributeKind::DebuggerVisualizer(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"DebuggerVisualizer", &__self_0),
AttributeKind::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 { attr_span: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"DoNotRecommend", "attr_span", &__self_0),
AttributeKind::Doc(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Doc",
&__self_0),
AttributeKind::DocComment {
style: __self_0,
kind: __self_1,
span: __self_2,
comment: __self_3 } =>
::core::fmt::Formatter::debug_struct_field4_finish(f,
"DocComment", "style", __self_0, "kind", __self_1, "span",
__self_2, "comment", &__self_3),
AttributeKind::EiiDeclaration(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"EiiDeclaration", &__self_0),
AttributeKind::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(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"FfiConst", &__self_0),
AttributeKind::FfiPure(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"FfiPure", &__self_0),
AttributeKind::Fundamental =>
::core::fmt::Formatter::write_str(f, "Fundamental"),
AttributeKind::Ignore { span: __self_0, reason: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"Ignore", "span", __self_0, "reason", &__self_1),
AttributeKind::Inline(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f, "Inline",
__self_0, &__self_1),
AttributeKind::InstructionSet(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"InstructionSet", &__self_0),
AttributeKind::Lang(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f, "Lang",
__self_0, &__self_1),
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 { span: __self_0, name: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"LinkSection", "span", __self_0, "name", &__self_1),
AttributeKind::Linkage(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"Linkage", __self_0, &__self_1),
AttributeKind::LoopMatch(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"LoopMatch", &__self_0),
AttributeKind::MacroEscape(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"MacroEscape", &__self_0),
AttributeKind::MacroExport {
span: __self_0, local_inner_macros: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"MacroExport", "span", __self_0, "local_inner_macros",
&__self_1),
AttributeKind::MacroUse { span: __self_0, arguments: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"MacroUse", "span", __self_0, "arguments", &__self_1),
AttributeKind::Marker(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Marker",
&__self_0),
AttributeKind::MayDangle(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"MayDangle", &__self_0),
AttributeKind::MoveSizeLimit {
attr_span: __self_0, limit_span: __self_1, limit: __self_2 }
=>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"MoveSizeLimit", "attr_span", __self_0, "limit_span",
__self_1, "limit", &__self_2),
AttributeKind::MustNotSupend { reason: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"MustNotSupend", "reason", &__self_0),
AttributeKind::MustUse { span: __self_0, reason: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"MustUse", "span", __self_0, "reason", &__self_1),
AttributeKind::Naked(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Naked",
&__self_0),
AttributeKind::NeedsAllocator =>
::core::fmt::Formatter::write_str(f, "NeedsAllocator"),
AttributeKind::NeedsPanicRuntime =>
::core::fmt::Formatter::write_str(f, "NeedsPanicRuntime"),
AttributeKind::NoBuiltins =>
::core::fmt::Formatter::write_str(f, "NoBuiltins"),
AttributeKind::NoCore(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "NoCore",
&__self_0),
AttributeKind::NoImplicitPrelude(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"NoImplicitPrelude", &__self_0),
AttributeKind::NoLink =>
::core::fmt::Formatter::write_str(f, "NoLink"),
AttributeKind::NoMain =>
::core::fmt::Formatter::write_str(f, "NoMain"),
AttributeKind::NoMangle(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"NoMangle", &__self_0),
AttributeKind::NoStd(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "NoStd",
&__self_0),
AttributeKind::NonExhaustive(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"NonExhaustive", &__self_0),
AttributeKind::OnConst { span: __self_0, directive: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"OnConst", "span", __self_0, "directive", &__self_1),
AttributeKind::OnMove { span: __self_0, directive: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"OnMove", "span", __self_0, "directive", &__self_1),
AttributeKind::OnUnimplemented {
span: __self_0, directive: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"OnUnimplemented", "span", __self_0, "directive",
&__self_1),
AttributeKind::OnUnknown { span: __self_0, directive: __self_1 }
=>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"OnUnknown", "span", __self_0, "directive", &__self_1),
AttributeKind::OnUnmatchArgs { span: __self_0, directive: __self_1
} =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"OnUnmatchArgs", "span", __self_0, "directive", &__self_1),
AttributeKind::Optimize(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"Optimize", __self_0, &__self_1),
AttributeKind::PanicRuntime =>
::core::fmt::Formatter::write_str(f, "PanicRuntime"),
AttributeKind::PatchableFunctionEntry {
prefix: __self_0, entry: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"PatchableFunctionEntry", "prefix", __self_0, "entry",
&__self_1),
AttributeKind::Path(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f, "Path",
__self_0, &__self_1),
AttributeKind::PatternComplexityLimit {
attr_span: __self_0, limit_span: __self_1, limit: __self_2 }
=>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"PatternComplexityLimit", "attr_span", __self_0,
"limit_span", __self_1, "limit", &__self_2),
AttributeKind::PinV2(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "PinV2",
&__self_0),
AttributeKind::PreludeImport =>
::core::fmt::Formatter::write_str(f, "PreludeImport"),
AttributeKind::ProcMacro(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"ProcMacro", &__self_0),
AttributeKind::ProcMacroAttribute(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"ProcMacroAttribute", &__self_0),
AttributeKind::ProcMacroDerive {
trait_name: __self_0, helper_attrs: __self_1, span: __self_2 }
=>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"ProcMacroDerive", "trait_name", __self_0, "helper_attrs",
__self_1, "span", &__self_2),
AttributeKind::ProfilerRuntime =>
::core::fmt::Formatter::write_str(f, "ProfilerRuntime"),
AttributeKind::RecursionLimit {
attr_span: __self_0, limit_span: __self_1, limit: __self_2 }
=>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"RecursionLimit", "attr_span", __self_0, "limit_span",
__self_1, "limit", &__self_2),
AttributeKind::ReexportTestHarnessMain(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"ReexportTestHarnessMain", &__self_0),
AttributeKind::RegisterTool(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"RegisterTool", __self_0, &__self_1),
AttributeKind::Repr { reprs: __self_0, first_span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f, "Repr",
"reprs", __self_0, "first_span", &__self_1),
AttributeKind::RustcAbi { attr_span: __self_0, kind: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcAbi", "attr_span", __self_0, "kind", &__self_1),
AttributeKind::RustcAlign { align: __self_0, span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcAlign", "align", __self_0, "span", &__self_1),
AttributeKind::RustcAllocator =>
::core::fmt::Formatter::write_str(f, "RustcAllocator"),
AttributeKind::RustcAllocatorZeroed =>
::core::fmt::Formatter::write_str(f, "RustcAllocatorZeroed"),
AttributeKind::RustcAllocatorZeroedVariant { name: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"RustcAllocatorZeroedVariant", "name", &__self_0),
AttributeKind::RustcAllowConstFnUnstable(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"RustcAllowConstFnUnstable", __self_0, &__self_1),
AttributeKind::RustcAllowIncoherentImpl(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcAllowIncoherentImpl", &__self_0),
AttributeKind::RustcAsPtr(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcAsPtr", &__self_0),
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, span: __self_2
} =>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"RustcBuiltinMacro", "builtin_name", __self_0,
"helper_attrs", __self_1, "span", &__self_2),
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(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcCoherenceIsCore", &__self_0),
AttributeKind::RustcCoinductive(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcCoinductive", &__self_0),
AttributeKind::RustcConfusables { 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(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcDenyExplicitImpl", &__self_0),
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::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::RustcLayoutScalarValidRangeEnd(__self_0, __self_1)
=>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"RustcLayoutScalarValidRangeEnd", __self_0, &__self_1),
AttributeKind::RustcLayoutScalarValidRangeStart(__self_0,
__self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"RustcLayoutScalarValidRangeStart", __self_0, &__self_1),
AttributeKind::RustcLegacyConstGenerics {
fn_indexes: __self_0, attr_span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcLegacyConstGenerics", "fn_indexes", __self_0,
"attr_span", &__self_1),
AttributeKind::RustcLintOptDenyFieldAccess {
lint_message: __self_0 } =>
::core::fmt::Formatter::debug_struct_field1_finish(f,
"RustcLintOptDenyFieldAccess", "lint_message", &__self_0),
AttributeKind::RustcLintOptTy =>
::core::fmt::Formatter::write_str(f, "RustcLintOptTy"),
AttributeKind::RustcLintQueryInstability =>
::core::fmt::Formatter::write_str(f,
"RustcLintQueryInstability"),
AttributeKind::RustcLintUntrackedQueryInformation =>
::core::fmt::Formatter::write_str(f,
"RustcLintUntrackedQueryInformation"),
AttributeKind::RustcMacroTransparency(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcMacroTransparency", &__self_0),
AttributeKind::RustcMain =>
::core::fmt::Formatter::write_str(f, "RustcMain"),
AttributeKind::RustcMir(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcMir", &__self_0),
AttributeKind::RustcMustImplementOneOf {
attr_span: __self_0, fn_names: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcMustImplementOneOf", "attr_span", __self_0,
"fn_names", &__self_1),
AttributeKind::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, span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcObjcClass", "classname", __self_0, "span", &__self_1),
AttributeKind::RustcObjcSelector {
methname: __self_0, span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcObjcSelector", "methname", __self_0, "span",
&__self_1),
AttributeKind::RustcOffloadKernel =>
::core::fmt::Formatter::write_str(f, "RustcOffloadKernel"),
AttributeKind::RustcParenSugar(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcParenSugar", &__self_0),
AttributeKind::RustcPassByValue(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcPassByValue", &__self_0),
AttributeKind::RustcPassIndirectlyInNonRusticAbis(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcPassIndirectlyInNonRusticAbis", &__self_0),
AttributeKind::RustcPreserveUbChecks =>
::core::fmt::Formatter::write_str(f, "RustcPreserveUbChecks"),
AttributeKind::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, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"RustcReservationImpl", __self_0, &__self_1),
AttributeKind::RustcScalableVector {
element_count: __self_0, span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"RustcScalableVector", "element_count", __self_0, "span",
&__self_1),
AttributeKind::RustcShouldNotBeCalledOnConstItems(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcShouldNotBeCalledOnConstItems", &__self_0),
AttributeKind::RustcSimdMonomorphizeLaneLimit(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcSimdMonomorphizeLaneLimit", &__self_0),
AttributeKind::RustcSkipDuringMethodDispatch {
array: __self_0, boxed_slice: __self_1, span: __self_2 } =>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"RustcSkipDuringMethodDispatch", "array", __self_0,
"boxed_slice", __self_1, "span", &__self_2),
AttributeKind::RustcSpecializationTrait(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcSpecializationTrait", &__self_0),
AttributeKind::RustcStdInternalSymbol(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcStdInternalSymbol", &__self_0),
AttributeKind::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, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"RustcThenThisWouldNeed", __self_0, &__self_1),
AttributeKind::RustcTrivialFieldReads =>
::core::fmt::Formatter::write_str(f,
"RustcTrivialFieldReads"),
AttributeKind::RustcUnsafeSpecializationMarker(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"RustcUnsafeSpecializationMarker", &__self_0),
AttributeKind::Sanitize {
on_set: __self_0,
off_set: __self_1,
rtsan: __self_2,
span: __self_3 } =>
::core::fmt::Formatter::debug_struct_field4_finish(f,
"Sanitize", "on_set", __self_0, "off_set", __self_1,
"rtsan", __self_2, "span", &__self_3),
AttributeKind::ShouldPanic { reason: __self_0, span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"ShouldPanic", "reason", __self_0, "span", &__self_1),
AttributeKind::Stability { stability: __self_0, span: __self_1 }
=>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"Stability", "stability", __self_0, "span", &__self_1),
AttributeKind::TargetFeature {
features: __self_0, attr_span: __self_1, was_forced: __self_2
} =>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"TargetFeature", "features", __self_0, "attr_span",
__self_1, "was_forced", &__self_2),
AttributeKind::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 {
attr_span: __self_0, limit_span: __self_1, limit: __self_2 }
=>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"TypeLengthLimit", "attr_span", __self_0, "limit_span",
__self_1, "limit", &__self_2),
AttributeKind::UnstableFeatureBound(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"UnstableFeatureBound", &__self_0),
AttributeKind::UnstableRemoved(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"UnstableRemoved", &__self_0),
AttributeKind::Used { used_by: __self_0, span: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f, "Used",
"used_by", __self_0, "span", &__self_1),
AttributeKind::WindowsSubsystem(__self_0, __self_1) =>
::core::fmt::Formatter::debug_tuple_field2_finish(f,
"WindowsSubsystem", __self_0, &__self_1),
}
}
}Debug, const _: () =
{
impl ::rustc_data_structures::stable_hasher::StableHash for
AttributeKind {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hasher::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hasher::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(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
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(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
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(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::Coverage(ref __binding_0, ref __binding_1) =>
{
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.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,
ref __binding_2) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.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 { attr_span: ref __binding_0 }
=> {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
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(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
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::Lang(ref __binding_0, ref __binding_1) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.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 {
span: ref __binding_0, name: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.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(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
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(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::MayDangle(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::MoveSizeLimit {
attr_span: ref __binding_0,
limit_span: ref __binding_1,
limit: ref __binding_2 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.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(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::NoImplicitPrelude(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::NoLink => {}
AttributeKind::NoMain => {}
AttributeKind::NoMangle(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::NoStd(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
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 {
span: ref __binding_0, directive: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::OnUnimplemented {
span: ref __binding_0, directive: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::OnUnknown {
span: ref __binding_0, directive: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::OnUnmatchArgs {
span: ref __binding_0, directive: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.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, ref __binding_1) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::PatternComplexityLimit {
attr_span: ref __binding_0,
limit_span: ref __binding_1,
limit: ref __binding_2 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
}
AttributeKind::PinV2(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::PreludeImport => {}
AttributeKind::ProcMacro(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::ProcMacroAttribute(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::ProcMacroDerive {
trait_name: ref __binding_0,
helper_attrs: ref __binding_1,
span: ref __binding_2 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
}
AttributeKind::ProfilerRuntime => {}
AttributeKind::RecursionLimit {
attr_span: ref __binding_0,
limit_span: ref __binding_1,
limit: ref __binding_2 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
}
AttributeKind::ReexportTestHarnessMain(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RegisterTool(ref __binding_0,
ref __binding_1) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::Repr {
reprs: ref __binding_0, first_span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcAbi {
attr_span: ref __binding_0, kind: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcAlign {
align: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcAllocator => {}
AttributeKind::RustcAllocatorZeroed => {}
AttributeKind::RustcAllocatorZeroedVariant {
name: ref __binding_0 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcAllowConstFnUnstable(ref __binding_0,
ref __binding_1) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcAllowIncoherentImpl(ref __binding_0) =>
{
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcAsPtr(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
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,
span: ref __binding_2 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.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(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcCoinductive(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(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
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::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::RustcLayoutScalarValidRangeEnd(ref __binding_0,
ref __binding_1) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcLayoutScalarValidRangeStart(ref __binding_0,
ref __binding_1) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
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, span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcObjcSelector {
methname: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcOffloadKernel => {}
AttributeKind::RustcParenSugar(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcPassByValue(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
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,
ref __binding_1) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcScalableVector {
element_count: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcShouldNotBeCalledOnConstItems(ref __binding_0)
=> {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcSimdMonomorphizeLaneLimit(ref __binding_0)
=> {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcSkipDuringMethodDispatch {
array: ref __binding_0,
boxed_slice: ref __binding_1,
span: ref __binding_2 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcSpecializationTrait(ref __binding_0) =>
{
{ __binding_0.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcStdInternalSymbol(ref __binding_0) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
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,
ref __binding_1) => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::RustcTrivialFieldReads => {}
AttributeKind::RustcUnsafeSpecializationMarker(ref __binding_0)
=> {
{ __binding_0.stable_hash(__hcx, __hasher); }
}
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, span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.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 {
attr_span: ref __binding_0,
limit_span: ref __binding_1,
limit: ref __binding_2 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
{ __binding_2.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, span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
AttributeKind::WindowsSubsystem(ref __binding_0,
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 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(ref __binding_0) => {
2usize
}
AttributeKind::CfgAttrTrace => { 3usize }
AttributeKind::CfgTrace(ref __binding_0) => { 4usize }
AttributeKind::CfiEncoding { encoding: ref __binding_0 } =>
{
5usize
}
AttributeKind::Cold(ref __binding_0) => { 6usize }
AttributeKind::CollapseDebugInfo(ref __binding_0) => {
7usize
}
AttributeKind::CompilerBuiltins => { 8usize }
AttributeKind::ConstContinue(ref __binding_0) => { 9usize }
AttributeKind::Coroutine(ref __binding_0) => { 10usize }
AttributeKind::Coverage(ref __binding_0, ref __binding_1) =>
{
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,
ref __binding_2) => {
14usize
}
AttributeKind::DebuggerVisualizer(ref __binding_0) => {
15usize
}
AttributeKind::DefaultLibAllocator => { 16usize }
AttributeKind::Deprecated {
deprecation: ref __binding_0, span: ref __binding_1 } => {
17usize
}
AttributeKind::DoNotRecommend { attr_span: ref __binding_0 }
=> {
18usize
}
AttributeKind::Doc(ref __binding_0) => { 19usize }
AttributeKind::DocComment {
style: ref __binding_0,
kind: ref __binding_1,
span: ref __binding_2,
comment: ref __binding_3 } => {
20usize
}
AttributeKind::EiiDeclaration(ref __binding_0) => {
21usize
}
AttributeKind::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(ref __binding_0) => { 26usize }
AttributeKind::FfiPure(ref __binding_0) => { 27usize }
AttributeKind::Fundamental => { 28usize }
AttributeKind::Ignore {
span: ref __binding_0, reason: ref __binding_1 } => {
29usize
}
AttributeKind::Inline(ref __binding_0, ref __binding_1) => {
30usize
}
AttributeKind::InstructionSet(ref __binding_0) => {
31usize
}
AttributeKind::Lang(ref __binding_0, ref __binding_1) => {
32usize
}
AttributeKind::Link(ref __binding_0, ref __binding_1) => {
33usize
}
AttributeKind::LinkName {
name: ref __binding_0, span: ref __binding_1 } => {
34usize
}
AttributeKind::LinkOrdinal {
ordinal: ref __binding_0, span: ref __binding_1 } => {
35usize
}
AttributeKind::LinkSection {
span: ref __binding_0, name: ref __binding_1 } => {
36usize
}
AttributeKind::Linkage(ref __binding_0, ref __binding_1) =>
{
37usize
}
AttributeKind::LoopMatch(ref __binding_0) => { 38usize }
AttributeKind::MacroEscape(ref __binding_0) => { 39usize }
AttributeKind::MacroExport {
span: ref __binding_0, local_inner_macros: ref __binding_1 }
=> {
40usize
}
AttributeKind::MacroUse {
span: ref __binding_0, arguments: ref __binding_1 } => {
41usize
}
AttributeKind::Marker(ref __binding_0) => { 42usize }
AttributeKind::MayDangle(ref __binding_0) => { 43usize }
AttributeKind::MoveSizeLimit {
attr_span: ref __binding_0,
limit_span: ref __binding_1,
limit: ref __binding_2 } => {
44usize
}
AttributeKind::MustNotSupend { reason: ref __binding_0 } =>
{
45usize
}
AttributeKind::MustUse {
span: ref __binding_0, reason: ref __binding_1 } => {
46usize
}
AttributeKind::Naked(ref __binding_0) => { 47usize }
AttributeKind::NeedsAllocator => { 48usize }
AttributeKind::NeedsPanicRuntime => { 49usize }
AttributeKind::NoBuiltins => { 50usize }
AttributeKind::NoCore(ref __binding_0) => { 51usize }
AttributeKind::NoImplicitPrelude(ref __binding_0) => {
52usize
}
AttributeKind::NoLink => { 53usize }
AttributeKind::NoMain => { 54usize }
AttributeKind::NoMangle(ref __binding_0) => { 55usize }
AttributeKind::NoStd(ref __binding_0) => { 56usize }
AttributeKind::NonExhaustive(ref __binding_0) => { 57usize }
AttributeKind::OnConst {
span: ref __binding_0, directive: ref __binding_1 } => {
58usize
}
AttributeKind::OnMove {
span: ref __binding_0, directive: ref __binding_1 } => {
59usize
}
AttributeKind::OnUnimplemented {
span: ref __binding_0, directive: ref __binding_1 } => {
60usize
}
AttributeKind::OnUnknown {
span: ref __binding_0, directive: ref __binding_1 } => {
61usize
}
AttributeKind::OnUnmatchArgs {
span: ref __binding_0, directive: ref __binding_1 } => {
62usize
}
AttributeKind::Optimize(ref __binding_0, ref __binding_1) =>
{
63usize
}
AttributeKind::PanicRuntime => { 64usize }
AttributeKind::PatchableFunctionEntry {
prefix: ref __binding_0, entry: ref __binding_1 } => {
65usize
}
AttributeKind::Path(ref __binding_0, ref __binding_1) => {
66usize
}
AttributeKind::PatternComplexityLimit {
attr_span: ref __binding_0,
limit_span: ref __binding_1,
limit: ref __binding_2 } => {
67usize
}
AttributeKind::PinV2(ref __binding_0) => { 68usize }
AttributeKind::PreludeImport => { 69usize }
AttributeKind::ProcMacro(ref __binding_0) => { 70usize }
AttributeKind::ProcMacroAttribute(ref __binding_0) => {
71usize
}
AttributeKind::ProcMacroDerive {
trait_name: ref __binding_0,
helper_attrs: ref __binding_1,
span: ref __binding_2 } => {
72usize
}
AttributeKind::ProfilerRuntime => { 73usize }
AttributeKind::RecursionLimit {
attr_span: ref __binding_0,
limit_span: ref __binding_1,
limit: ref __binding_2 } => {
74usize
}
AttributeKind::ReexportTestHarnessMain(ref __binding_0) => {
75usize
}
AttributeKind::RegisterTool(ref __binding_0,
ref __binding_1) => {
76usize
}
AttributeKind::Repr {
reprs: ref __binding_0, first_span: ref __binding_1 } => {
77usize
}
AttributeKind::RustcAbi {
attr_span: ref __binding_0, kind: ref __binding_1 } => {
78usize
}
AttributeKind::RustcAlign {
align: ref __binding_0, span: ref __binding_1 } => {
79usize
}
AttributeKind::RustcAllocator => { 80usize }
AttributeKind::RustcAllocatorZeroed => { 81usize }
AttributeKind::RustcAllocatorZeroedVariant {
name: ref __binding_0 } => {
82usize
}
AttributeKind::RustcAllowConstFnUnstable(ref __binding_0,
ref __binding_1) => {
83usize
}
AttributeKind::RustcAllowIncoherentImpl(ref __binding_0) =>
{
84usize
}
AttributeKind::RustcAsPtr(ref __binding_0) => { 85usize }
AttributeKind::RustcAutodiff(ref __binding_0) => { 86usize }
AttributeKind::RustcBodyStability {
stability: ref __binding_0, span: ref __binding_1 } => {
87usize
}
AttributeKind::RustcBuiltinMacro {
builtin_name: ref __binding_0,
helper_attrs: ref __binding_1,
span: ref __binding_2 } => {
88usize
}
AttributeKind::RustcCaptureAnalysis => { 89usize }
AttributeKind::RustcCguTestAttr(ref __binding_0) => {
90usize
}
AttributeKind::RustcClean(ref __binding_0) => { 91usize }
AttributeKind::RustcCoherenceIsCore(ref __binding_0) => {
92usize
}
AttributeKind::RustcCoinductive(ref __binding_0) => {
93usize
}
AttributeKind::RustcConfusables {
confusables: ref __binding_0 } => {
94usize
}
AttributeKind::RustcConstStability {
stability: ref __binding_0, span: ref __binding_1 } => {
95usize
}
AttributeKind::RustcConstStableIndirect => { 96usize }
AttributeKind::RustcConversionSuggestion => { 97usize }
AttributeKind::RustcDeallocator => { 98usize }
AttributeKind::RustcDelayedBugFromInsideQuery => { 99usize }
AttributeKind::RustcDenyExplicitImpl(ref __binding_0) => {
100usize
}
AttributeKind::RustcDeprecatedSafe2024 {
suggestion: ref __binding_0 } => {
101usize
}
AttributeKind::RustcDiagnosticItem(ref __binding_0) => {
102usize
}
AttributeKind::RustcDoNotConstCheck => { 103usize }
AttributeKind::RustcDocPrimitive(ref __binding_0,
ref __binding_1) => {
104usize
}
AttributeKind::RustcDummy => { 105usize }
AttributeKind::RustcDumpDefParents => { 106usize }
AttributeKind::RustcDumpDefPath(ref __binding_0) => {
107usize
}
AttributeKind::RustcDumpHiddenTypeOfOpaques => { 108usize }
AttributeKind::RustcDumpInferredOutlives => { 109usize }
AttributeKind::RustcDumpItemBounds => { 110usize }
AttributeKind::RustcDumpLayout(ref __binding_0) => {
111usize
}
AttributeKind::RustcDumpObjectLifetimeDefaults => {
112usize
}
AttributeKind::RustcDumpPredicates => { 113usize }
AttributeKind::RustcDumpSymbolName(ref __binding_0) => {
114usize
}
AttributeKind::RustcDumpUserArgs => { 115usize }
AttributeKind::RustcDumpVariances => { 116usize }
AttributeKind::RustcDumpVariancesOfOpaques => { 117usize }
AttributeKind::RustcDumpVtable(ref __binding_0) => {
118usize
}
AttributeKind::RustcDynIncompatibleTrait(ref __binding_0) =>
{
119usize
}
AttributeKind::RustcEffectiveVisibility => { 120usize }
AttributeKind::RustcEiiForeignItem => { 121usize }
AttributeKind::RustcEvaluateWhereClauses => { 122usize }
AttributeKind::RustcHasIncoherentInherentImpls => {
123usize
}
AttributeKind::RustcIfThisChanged(ref __binding_0,
ref __binding_1) => {
124usize
}
AttributeKind::RustcInheritOverflowChecks => { 125usize }
AttributeKind::RustcInsignificantDtor => { 126usize }
AttributeKind::RustcIntrinsic => { 127usize }
AttributeKind::RustcIntrinsicConstStableIndirect => {
128usize
}
AttributeKind::RustcLayoutScalarValidRangeEnd(ref __binding_0,
ref __binding_1) => {
129usize
}
AttributeKind::RustcLayoutScalarValidRangeStart(ref __binding_0,
ref __binding_1) => {
130usize
}
AttributeKind::RustcLegacyConstGenerics {
fn_indexes: ref __binding_0, attr_span: ref __binding_1 } =>
{
131usize
}
AttributeKind::RustcLintOptDenyFieldAccess {
lint_message: ref __binding_0 } => {
132usize
}
AttributeKind::RustcLintOptTy => { 133usize }
AttributeKind::RustcLintQueryInstability => { 134usize }
AttributeKind::RustcLintUntrackedQueryInformation => {
135usize
}
AttributeKind::RustcMacroTransparency(ref __binding_0) => {
136usize
}
AttributeKind::RustcMain => { 137usize }
AttributeKind::RustcMir(ref __binding_0) => { 138usize }
AttributeKind::RustcMustImplementOneOf {
attr_span: ref __binding_0, fn_names: ref __binding_1 } => {
139usize
}
AttributeKind::RustcMustMatchExhaustively(ref __binding_0)
=> {
140usize
}
AttributeKind::RustcNeverReturnsNullPtr => { 141usize }
AttributeKind::RustcNeverTypeOptions {
fallback: ref __binding_0,
diverging_block_default: ref __binding_1 } => {
142usize
}
AttributeKind::RustcNoImplicitAutorefs => { 143usize }
AttributeKind::RustcNoImplicitBounds => { 144usize }
AttributeKind::RustcNoMirInline => { 145usize }
AttributeKind::RustcNoWritable => { 146usize }
AttributeKind::RustcNonConstTraitMethod => { 147usize }
AttributeKind::RustcNonnullOptimizationGuaranteed => {
148usize
}
AttributeKind::RustcNounwind => { 149usize }
AttributeKind::RustcObjcClass {
classname: ref __binding_0, span: ref __binding_1 } => {
150usize
}
AttributeKind::RustcObjcSelector {
methname: ref __binding_0, span: ref __binding_1 } => {
151usize
}
AttributeKind::RustcOffloadKernel => { 152usize }
AttributeKind::RustcParenSugar(ref __binding_0) => {
153usize
}
AttributeKind::RustcPassByValue(ref __binding_0) => {
154usize
}
AttributeKind::RustcPassIndirectlyInNonRusticAbis(ref __binding_0)
=> {
155usize
}
AttributeKind::RustcPreserveUbChecks => { 156usize }
AttributeKind::RustcProcMacroDecls => { 157usize }
AttributeKind::RustcPubTransparent(ref __binding_0) => {
158usize
}
AttributeKind::RustcReallocator => { 159usize }
AttributeKind::RustcRegions => { 160usize }
AttributeKind::RustcReservationImpl(ref __binding_0,
ref __binding_1) => {
161usize
}
AttributeKind::RustcScalableVector {
element_count: ref __binding_0, span: ref __binding_1 } => {
162usize
}
AttributeKind::RustcShouldNotBeCalledOnConstItems(ref __binding_0)
=> {
163usize
}
AttributeKind::RustcSimdMonomorphizeLaneLimit(ref __binding_0)
=> {
164usize
}
AttributeKind::RustcSkipDuringMethodDispatch {
array: ref __binding_0,
boxed_slice: ref __binding_1,
span: ref __binding_2 } => {
165usize
}
AttributeKind::RustcSpecializationTrait(ref __binding_0) =>
{
166usize
}
AttributeKind::RustcStdInternalSymbol(ref __binding_0) => {
167usize
}
AttributeKind::RustcStrictCoherence(ref __binding_0) => {
168usize
}
AttributeKind::RustcTestMarker(ref __binding_0) => {
169usize
}
AttributeKind::RustcThenThisWouldNeed(ref __binding_0,
ref __binding_1) => {
170usize
}
AttributeKind::RustcTrivialFieldReads => { 171usize }
AttributeKind::RustcUnsafeSpecializationMarker(ref __binding_0)
=> {
172usize
}
AttributeKind::Sanitize {
on_set: ref __binding_0,
off_set: ref __binding_1,
rtsan: ref __binding_2,
span: ref __binding_3 } => {
173usize
}
AttributeKind::ShouldPanic {
reason: ref __binding_0, span: ref __binding_1 } => {
174usize
}
AttributeKind::Stability {
stability: ref __binding_0, span: ref __binding_1 } => {
175usize
}
AttributeKind::TargetFeature {
features: ref __binding_0,
attr_span: ref __binding_1,
was_forced: ref __binding_2 } => {
176usize
}
AttributeKind::TestRunner(ref __binding_0) => { 177usize }
AttributeKind::ThreadLocal => { 178usize }
AttributeKind::TrackCaller(ref __binding_0) => { 179usize }
AttributeKind::TypeLengthLimit {
attr_span: ref __binding_0,
limit_span: ref __binding_1,
limit: ref __binding_2 } => {
180usize
}
AttributeKind::UnstableFeatureBound(ref __binding_0) => {
181usize
}
AttributeKind::UnstableRemoved(ref __binding_0) => {
182usize
}
AttributeKind::Used {
used_by: ref __binding_0, span: ref __binding_1 } => {
183usize
}
AttributeKind::WindowsSubsystem(ref __binding_0,
ref __binding_1) => {
184usize
}
};
::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(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::CfgAttrTrace => {}
AttributeKind::CfgTrace(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::CfiEncoding { encoding: ref __binding_0 } =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Cold(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::CollapseDebugInfo(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::CompilerBuiltins => {}
AttributeKind::ConstContinue(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Coroutine(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Coverage(ref __binding_0, ref __binding_1) =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::CrateName {
name: ref __binding_0,
name_span: ref __binding_1,
attr_span: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
AttributeKind::CrateType(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::CustomMir(ref __binding_0, ref __binding_1,
ref __binding_2) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
AttributeKind::DebuggerVisualizer(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::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 { attr_span: ref __binding_0 }
=> {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Doc(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::DocComment {
style: ref __binding_0,
kind: ref __binding_1,
span: ref __binding_2,
comment: ref __binding_3 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_3,
__encoder);
}
AttributeKind::EiiDeclaration(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::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(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::FfiPure(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Fundamental => {}
AttributeKind::Ignore {
span: ref __binding_0, reason: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::Inline(ref __binding_0, ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::InstructionSet(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Lang(ref __binding_0, ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__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 {
span: ref __binding_0, name: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::Linkage(ref __binding_0, ref __binding_1) =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::LoopMatch(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::MacroEscape(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::MacroExport {
span: ref __binding_0, local_inner_macros: ref __binding_1 }
=> {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::MacroUse {
span: ref __binding_0, arguments: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::Marker(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::MayDangle(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::MoveSizeLimit {
attr_span: ref __binding_0,
limit_span: ref __binding_1,
limit: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
AttributeKind::MustNotSupend { reason: ref __binding_0 } =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::MustUse {
span: ref __binding_0, reason: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::Naked(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::NeedsAllocator => {}
AttributeKind::NeedsPanicRuntime => {}
AttributeKind::NoBuiltins => {}
AttributeKind::NoCore(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::NoImplicitPrelude(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::NoLink => {}
AttributeKind::NoMain => {}
AttributeKind::NoMangle(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::NoStd(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::NonExhaustive(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::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 {
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 {
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::OnUnknown {
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::OnUnmatchArgs {
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::Optimize(ref __binding_0, ref __binding_1) =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::PanicRuntime => {}
AttributeKind::PatchableFunctionEntry {
prefix: ref __binding_0, entry: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::Path(ref __binding_0, ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::PatternComplexityLimit {
attr_span: ref __binding_0,
limit_span: ref __binding_1,
limit: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
AttributeKind::PinV2(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::PreludeImport => {}
AttributeKind::ProcMacro(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::ProcMacroAttribute(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::ProcMacroDerive {
trait_name: ref __binding_0,
helper_attrs: ref __binding_1,
span: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
AttributeKind::ProfilerRuntime => {}
AttributeKind::RecursionLimit {
attr_span: ref __binding_0,
limit_span: ref __binding_1,
limit: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
AttributeKind::ReexportTestHarnessMain(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RegisterTool(ref __binding_0,
ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::Repr {
reprs: ref __binding_0, first_span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcAbi {
attr_span: ref __binding_0, kind: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcAlign {
align: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcAllocator => {}
AttributeKind::RustcAllocatorZeroed => {}
AttributeKind::RustcAllocatorZeroedVariant {
name: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcAllowConstFnUnstable(ref __binding_0,
ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcAllowIncoherentImpl(ref __binding_0) =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcAsPtr(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
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,
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::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(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcCoinductive(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcConfusables {
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(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
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::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::RustcLayoutScalarValidRangeEnd(ref __binding_0,
ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcLayoutScalarValidRangeStart(ref __binding_0,
ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcLegacyConstGenerics {
fn_indexes: ref __binding_0, attr_span: ref __binding_1 } =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcLintOptDenyFieldAccess {
lint_message: ref __binding_0 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcLintOptTy => {}
AttributeKind::RustcLintQueryInstability => {}
AttributeKind::RustcLintUntrackedQueryInformation => {}
AttributeKind::RustcMacroTransparency(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcMain => {}
AttributeKind::RustcMir(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcMustImplementOneOf {
attr_span: ref __binding_0, fn_names: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::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, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcObjcSelector {
methname: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcOffloadKernel => {}
AttributeKind::RustcParenSugar(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcPassByValue(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcPassIndirectlyInNonRusticAbis(ref __binding_0)
=> {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcPreserveUbChecks => {}
AttributeKind::RustcProcMacroDecls => {}
AttributeKind::RustcPubTransparent(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcReallocator => {}
AttributeKind::RustcRegions => {}
AttributeKind::RustcReservationImpl(ref __binding_0,
ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcScalableVector {
element_count: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcShouldNotBeCalledOnConstItems(ref __binding_0)
=> {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcSimdMonomorphizeLaneLimit(ref __binding_0)
=> {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcSkipDuringMethodDispatch {
array: ref __binding_0,
boxed_slice: ref __binding_1,
span: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
AttributeKind::RustcSpecializationTrait(ref __binding_0) =>
{
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::RustcStdInternalSymbol(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::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,
ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::RustcTrivialFieldReads => {}
AttributeKind::RustcUnsafeSpecializationMarker(ref __binding_0)
=> {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Sanitize {
on_set: ref __binding_0,
off_set: ref __binding_1,
rtsan: ref __binding_2,
span: ref __binding_3 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_3,
__encoder);
}
AttributeKind::ShouldPanic {
reason: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::Stability {
stability: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::TargetFeature {
features: ref __binding_0,
attr_span: ref __binding_1,
was_forced: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
AttributeKind::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 {
attr_span: ref __binding_0,
limit_span: ref __binding_1,
limit: ref __binding_2 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_2,
__encoder);
}
AttributeKind::UnstableFeatureBound(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::UnstableRemoved(ref __binding_0) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
}
AttributeKind::Used {
used_by: ref __binding_0, span: ref __binding_1 } => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
AttributeKind::WindowsSubsystem(ref __binding_0,
ref __binding_1) => {
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
}
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for AttributeKind {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => {
AttributeKind::AllowInternalUnsafe(::rustc_serialize::Decodable::decode(__decoder))
}
1usize => {
AttributeKind::AllowInternalUnstable(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
2usize => {
AttributeKind::AutomaticallyDerived(::rustc_serialize::Decodable::decode(__decoder))
}
3usize => { AttributeKind::CfgAttrTrace }
4usize => {
AttributeKind::CfgTrace(::rustc_serialize::Decodable::decode(__decoder))
}
5usize => {
AttributeKind::CfiEncoding {
encoding: ::rustc_serialize::Decodable::decode(__decoder),
}
}
6usize => {
AttributeKind::Cold(::rustc_serialize::Decodable::decode(__decoder))
}
7usize => {
AttributeKind::CollapseDebugInfo(::rustc_serialize::Decodable::decode(__decoder))
}
8usize => { AttributeKind::CompilerBuiltins }
9usize => {
AttributeKind::ConstContinue(::rustc_serialize::Decodable::decode(__decoder))
}
10usize => {
AttributeKind::Coroutine(::rustc_serialize::Decodable::decode(__decoder))
}
11usize => {
AttributeKind::Coverage(::rustc_serialize::Decodable::decode(__decoder),
::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),
::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 {
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
19usize => {
AttributeKind::Doc(::rustc_serialize::Decodable::decode(__decoder))
}
20usize => {
AttributeKind::DocComment {
style: ::rustc_serialize::Decodable::decode(__decoder),
kind: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
comment: ::rustc_serialize::Decodable::decode(__decoder),
}
}
21usize => {
AttributeKind::EiiDeclaration(::rustc_serialize::Decodable::decode(__decoder))
}
22usize => {
AttributeKind::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(::rustc_serialize::Decodable::decode(__decoder))
}
27usize => {
AttributeKind::FfiPure(::rustc_serialize::Decodable::decode(__decoder))
}
28usize => { AttributeKind::Fundamental }
29usize => {
AttributeKind::Ignore {
span: ::rustc_serialize::Decodable::decode(__decoder),
reason: ::rustc_serialize::Decodable::decode(__decoder),
}
}
30usize => {
AttributeKind::Inline(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
31usize => {
AttributeKind::InstructionSet(::rustc_serialize::Decodable::decode(__decoder))
}
32usize => {
AttributeKind::Lang(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
33usize => {
AttributeKind::Link(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
34usize => {
AttributeKind::LinkName {
name: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
35usize => {
AttributeKind::LinkOrdinal {
ordinal: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
36usize => {
AttributeKind::LinkSection {
span: ::rustc_serialize::Decodable::decode(__decoder),
name: ::rustc_serialize::Decodable::decode(__decoder),
}
}
37usize => {
AttributeKind::Linkage(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
38usize => {
AttributeKind::LoopMatch(::rustc_serialize::Decodable::decode(__decoder))
}
39usize => {
AttributeKind::MacroEscape(::rustc_serialize::Decodable::decode(__decoder))
}
40usize => {
AttributeKind::MacroExport {
span: ::rustc_serialize::Decodable::decode(__decoder),
local_inner_macros: ::rustc_serialize::Decodable::decode(__decoder),
}
}
41usize => {
AttributeKind::MacroUse {
span: ::rustc_serialize::Decodable::decode(__decoder),
arguments: ::rustc_serialize::Decodable::decode(__decoder),
}
}
42usize => {
AttributeKind::Marker(::rustc_serialize::Decodable::decode(__decoder))
}
43usize => {
AttributeKind::MayDangle(::rustc_serialize::Decodable::decode(__decoder))
}
44usize => {
AttributeKind::MoveSizeLimit {
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
limit_span: ::rustc_serialize::Decodable::decode(__decoder),
limit: ::rustc_serialize::Decodable::decode(__decoder),
}
}
45usize => {
AttributeKind::MustNotSupend {
reason: ::rustc_serialize::Decodable::decode(__decoder),
}
}
46usize => {
AttributeKind::MustUse {
span: ::rustc_serialize::Decodable::decode(__decoder),
reason: ::rustc_serialize::Decodable::decode(__decoder),
}
}
47usize => {
AttributeKind::Naked(::rustc_serialize::Decodable::decode(__decoder))
}
48usize => { AttributeKind::NeedsAllocator }
49usize => { AttributeKind::NeedsPanicRuntime }
50usize => { AttributeKind::NoBuiltins }
51usize => {
AttributeKind::NoCore(::rustc_serialize::Decodable::decode(__decoder))
}
52usize => {
AttributeKind::NoImplicitPrelude(::rustc_serialize::Decodable::decode(__decoder))
}
53usize => { AttributeKind::NoLink }
54usize => { AttributeKind::NoMain }
55usize => {
AttributeKind::NoMangle(::rustc_serialize::Decodable::decode(__decoder))
}
56usize => {
AttributeKind::NoStd(::rustc_serialize::Decodable::decode(__decoder))
}
57usize => {
AttributeKind::NonExhaustive(::rustc_serialize::Decodable::decode(__decoder))
}
58usize => {
AttributeKind::OnConst {
span: ::rustc_serialize::Decodable::decode(__decoder),
directive: ::rustc_serialize::Decodable::decode(__decoder),
}
}
59usize => {
AttributeKind::OnMove {
span: ::rustc_serialize::Decodable::decode(__decoder),
directive: ::rustc_serialize::Decodable::decode(__decoder),
}
}
60usize => {
AttributeKind::OnUnimplemented {
span: ::rustc_serialize::Decodable::decode(__decoder),
directive: ::rustc_serialize::Decodable::decode(__decoder),
}
}
61usize => {
AttributeKind::OnUnknown {
span: ::rustc_serialize::Decodable::decode(__decoder),
directive: ::rustc_serialize::Decodable::decode(__decoder),
}
}
62usize => {
AttributeKind::OnUnmatchArgs {
span: ::rustc_serialize::Decodable::decode(__decoder),
directive: ::rustc_serialize::Decodable::decode(__decoder),
}
}
63usize => {
AttributeKind::Optimize(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
64usize => { AttributeKind::PanicRuntime }
65usize => {
AttributeKind::PatchableFunctionEntry {
prefix: ::rustc_serialize::Decodable::decode(__decoder),
entry: ::rustc_serialize::Decodable::decode(__decoder),
}
}
66usize => {
AttributeKind::Path(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
67usize => {
AttributeKind::PatternComplexityLimit {
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
limit_span: ::rustc_serialize::Decodable::decode(__decoder),
limit: ::rustc_serialize::Decodable::decode(__decoder),
}
}
68usize => {
AttributeKind::PinV2(::rustc_serialize::Decodable::decode(__decoder))
}
69usize => { AttributeKind::PreludeImport }
70usize => {
AttributeKind::ProcMacro(::rustc_serialize::Decodable::decode(__decoder))
}
71usize => {
AttributeKind::ProcMacroAttribute(::rustc_serialize::Decodable::decode(__decoder))
}
72usize => {
AttributeKind::ProcMacroDerive {
trait_name: ::rustc_serialize::Decodable::decode(__decoder),
helper_attrs: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
73usize => { AttributeKind::ProfilerRuntime }
74usize => {
AttributeKind::RecursionLimit {
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
limit_span: ::rustc_serialize::Decodable::decode(__decoder),
limit: ::rustc_serialize::Decodable::decode(__decoder),
}
}
75usize => {
AttributeKind::ReexportTestHarnessMain(::rustc_serialize::Decodable::decode(__decoder))
}
76usize => {
AttributeKind::RegisterTool(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
77usize => {
AttributeKind::Repr {
reprs: ::rustc_serialize::Decodable::decode(__decoder),
first_span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
78usize => {
AttributeKind::RustcAbi {
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
kind: ::rustc_serialize::Decodable::decode(__decoder),
}
}
79usize => {
AttributeKind::RustcAlign {
align: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
80usize => { AttributeKind::RustcAllocator }
81usize => { AttributeKind::RustcAllocatorZeroed }
82usize => {
AttributeKind::RustcAllocatorZeroedVariant {
name: ::rustc_serialize::Decodable::decode(__decoder),
}
}
83usize => {
AttributeKind::RustcAllowConstFnUnstable(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
84usize => {
AttributeKind::RustcAllowIncoherentImpl(::rustc_serialize::Decodable::decode(__decoder))
}
85usize => {
AttributeKind::RustcAsPtr(::rustc_serialize::Decodable::decode(__decoder))
}
86usize => {
AttributeKind::RustcAutodiff(::rustc_serialize::Decodable::decode(__decoder))
}
87usize => {
AttributeKind::RustcBodyStability {
stability: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
88usize => {
AttributeKind::RustcBuiltinMacro {
builtin_name: ::rustc_serialize::Decodable::decode(__decoder),
helper_attrs: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
89usize => { AttributeKind::RustcCaptureAnalysis }
90usize => {
AttributeKind::RustcCguTestAttr(::rustc_serialize::Decodable::decode(__decoder))
}
91usize => {
AttributeKind::RustcClean(::rustc_serialize::Decodable::decode(__decoder))
}
92usize => {
AttributeKind::RustcCoherenceIsCore(::rustc_serialize::Decodable::decode(__decoder))
}
93usize => {
AttributeKind::RustcCoinductive(::rustc_serialize::Decodable::decode(__decoder))
}
94usize => {
AttributeKind::RustcConfusables {
confusables: ::rustc_serialize::Decodable::decode(__decoder),
}
}
95usize => {
AttributeKind::RustcConstStability {
stability: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
96usize => { AttributeKind::RustcConstStableIndirect }
97usize => { AttributeKind::RustcConversionSuggestion }
98usize => { AttributeKind::RustcDeallocator }
99usize => { AttributeKind::RustcDelayedBugFromInsideQuery }
100usize => {
AttributeKind::RustcDenyExplicitImpl(::rustc_serialize::Decodable::decode(__decoder))
}
101usize => {
AttributeKind::RustcDeprecatedSafe2024 {
suggestion: ::rustc_serialize::Decodable::decode(__decoder),
}
}
102usize => {
AttributeKind::RustcDiagnosticItem(::rustc_serialize::Decodable::decode(__decoder))
}
103usize => { AttributeKind::RustcDoNotConstCheck }
104usize => {
AttributeKind::RustcDocPrimitive(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
105usize => { AttributeKind::RustcDummy }
106usize => { AttributeKind::RustcDumpDefParents }
107usize => {
AttributeKind::RustcDumpDefPath(::rustc_serialize::Decodable::decode(__decoder))
}
108usize => { AttributeKind::RustcDumpHiddenTypeOfOpaques }
109usize => { AttributeKind::RustcDumpInferredOutlives }
110usize => { AttributeKind::RustcDumpItemBounds }
111usize => {
AttributeKind::RustcDumpLayout(::rustc_serialize::Decodable::decode(__decoder))
}
112usize => {
AttributeKind::RustcDumpObjectLifetimeDefaults
}
113usize => { AttributeKind::RustcDumpPredicates }
114usize => {
AttributeKind::RustcDumpSymbolName(::rustc_serialize::Decodable::decode(__decoder))
}
115usize => { AttributeKind::RustcDumpUserArgs }
116usize => { AttributeKind::RustcDumpVariances }
117usize => { AttributeKind::RustcDumpVariancesOfOpaques }
118usize => {
AttributeKind::RustcDumpVtable(::rustc_serialize::Decodable::decode(__decoder))
}
119usize => {
AttributeKind::RustcDynIncompatibleTrait(::rustc_serialize::Decodable::decode(__decoder))
}
120usize => { AttributeKind::RustcEffectiveVisibility }
121usize => { AttributeKind::RustcEiiForeignItem }
122usize => { AttributeKind::RustcEvaluateWhereClauses }
123usize => {
AttributeKind::RustcHasIncoherentInherentImpls
}
124usize => {
AttributeKind::RustcIfThisChanged(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
125usize => { AttributeKind::RustcInheritOverflowChecks }
126usize => { AttributeKind::RustcInsignificantDtor }
127usize => { AttributeKind::RustcIntrinsic }
128usize => {
AttributeKind::RustcIntrinsicConstStableIndirect
}
129usize => {
AttributeKind::RustcLayoutScalarValidRangeEnd(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
130usize => {
AttributeKind::RustcLayoutScalarValidRangeStart(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
131usize => {
AttributeKind::RustcLegacyConstGenerics {
fn_indexes: ::rustc_serialize::Decodable::decode(__decoder),
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
132usize => {
AttributeKind::RustcLintOptDenyFieldAccess {
lint_message: ::rustc_serialize::Decodable::decode(__decoder),
}
}
133usize => { AttributeKind::RustcLintOptTy }
134usize => { AttributeKind::RustcLintQueryInstability }
135usize => {
AttributeKind::RustcLintUntrackedQueryInformation
}
136usize => {
AttributeKind::RustcMacroTransparency(::rustc_serialize::Decodable::decode(__decoder))
}
137usize => { AttributeKind::RustcMain }
138usize => {
AttributeKind::RustcMir(::rustc_serialize::Decodable::decode(__decoder))
}
139usize => {
AttributeKind::RustcMustImplementOneOf {
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
fn_names: ::rustc_serialize::Decodable::decode(__decoder),
}
}
140usize => {
AttributeKind::RustcMustMatchExhaustively(::rustc_serialize::Decodable::decode(__decoder))
}
141usize => { AttributeKind::RustcNeverReturnsNullPtr }
142usize => {
AttributeKind::RustcNeverTypeOptions {
fallback: ::rustc_serialize::Decodable::decode(__decoder),
diverging_block_default: ::rustc_serialize::Decodable::decode(__decoder),
}
}
143usize => { AttributeKind::RustcNoImplicitAutorefs }
144usize => { AttributeKind::RustcNoImplicitBounds }
145usize => { AttributeKind::RustcNoMirInline }
146usize => { AttributeKind::RustcNoWritable }
147usize => { AttributeKind::RustcNonConstTraitMethod }
148usize => {
AttributeKind::RustcNonnullOptimizationGuaranteed
}
149usize => { AttributeKind::RustcNounwind }
150usize => {
AttributeKind::RustcObjcClass {
classname: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
151usize => {
AttributeKind::RustcObjcSelector {
methname: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
152usize => { AttributeKind::RustcOffloadKernel }
153usize => {
AttributeKind::RustcParenSugar(::rustc_serialize::Decodable::decode(__decoder))
}
154usize => {
AttributeKind::RustcPassByValue(::rustc_serialize::Decodable::decode(__decoder))
}
155usize => {
AttributeKind::RustcPassIndirectlyInNonRusticAbis(::rustc_serialize::Decodable::decode(__decoder))
}
156usize => { AttributeKind::RustcPreserveUbChecks }
157usize => { AttributeKind::RustcProcMacroDecls }
158usize => {
AttributeKind::RustcPubTransparent(::rustc_serialize::Decodable::decode(__decoder))
}
159usize => { AttributeKind::RustcReallocator }
160usize => { AttributeKind::RustcRegions }
161usize => {
AttributeKind::RustcReservationImpl(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
162usize => {
AttributeKind::RustcScalableVector {
element_count: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
163usize => {
AttributeKind::RustcShouldNotBeCalledOnConstItems(::rustc_serialize::Decodable::decode(__decoder))
}
164usize => {
AttributeKind::RustcSimdMonomorphizeLaneLimit(::rustc_serialize::Decodable::decode(__decoder))
}
165usize => {
AttributeKind::RustcSkipDuringMethodDispatch {
array: ::rustc_serialize::Decodable::decode(__decoder),
boxed_slice: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
166usize => {
AttributeKind::RustcSpecializationTrait(::rustc_serialize::Decodable::decode(__decoder))
}
167usize => {
AttributeKind::RustcStdInternalSymbol(::rustc_serialize::Decodable::decode(__decoder))
}
168usize => {
AttributeKind::RustcStrictCoherence(::rustc_serialize::Decodable::decode(__decoder))
}
169usize => {
AttributeKind::RustcTestMarker(::rustc_serialize::Decodable::decode(__decoder))
}
170usize => {
AttributeKind::RustcThenThisWouldNeed(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
171usize => { AttributeKind::RustcTrivialFieldReads }
172usize => {
AttributeKind::RustcUnsafeSpecializationMarker(::rustc_serialize::Decodable::decode(__decoder))
}
173usize => {
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),
}
}
174usize => {
AttributeKind::ShouldPanic {
reason: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
175usize => {
AttributeKind::Stability {
stability: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
176usize => {
AttributeKind::TargetFeature {
features: ::rustc_serialize::Decodable::decode(__decoder),
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
was_forced: ::rustc_serialize::Decodable::decode(__decoder),
}
}
177usize => {
AttributeKind::TestRunner(::rustc_serialize::Decodable::decode(__decoder))
}
178usize => { AttributeKind::ThreadLocal }
179usize => {
AttributeKind::TrackCaller(::rustc_serialize::Decodable::decode(__decoder))
}
180usize => {
AttributeKind::TypeLengthLimit {
attr_span: ::rustc_serialize::Decodable::decode(__decoder),
limit_span: ::rustc_serialize::Decodable::decode(__decoder),
limit: ::rustc_serialize::Decodable::decode(__decoder),
}
}
181usize => {
AttributeKind::UnstableFeatureBound(::rustc_serialize::Decodable::decode(__decoder))
}
182usize => {
AttributeKind::UnstableRemoved(::rustc_serialize::Decodable::decode(__decoder))
}
183usize => {
AttributeKind::Used {
used_by: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
184usize => {
AttributeKind::WindowsSubsystem(::rustc_serialize::Decodable::decode(__decoder),
::rustc_serialize::Decodable::decode(__decoder))
}
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `AttributeKind`, expected 0..185, 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(f0) => {
__p.word("AutomaticallyDerived");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::CfgAttrTrace => { __p.word("CfgAttrTrace") }
Self::CfgTrace(f0) => {
__p.word("CfgTrace");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::CfiEncoding { encoding } => {
__p.word("CfiEncoding");
if true && !encoding.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if encoding.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("encoding");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
encoding.print_attribute(__p);
__p.word("}");
}
Self::Cold(f0) => {
__p.word("Cold");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::CollapseDebugInfo(f0) => {
__p.word("CollapseDebugInfo");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::CompilerBuiltins => { __p.word("CompilerBuiltins") }
Self::ConstContinue(f0) => {
__p.word("ConstContinue");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Coroutine(f0) => {
__p.word("Coroutine");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Coverage(f0, f1) => {
__p.word("Coverage");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::CrateName { name, name_span, attr_span } => {
__p.word("CrateName");
if true && !name.should_render() &&
!name_span.should_render() && !attr_span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if name.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("name");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
name.print_attribute(__p);
if name_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("name_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
name_span.print_attribute(__p);
if attr_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_span.print_attribute(__p);
__p.word("}");
}
Self::CrateType(f0) => {
__p.word("CrateType");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::CustomMir(f0, f1, f2) => {
__p.word("CustomMir");
if true && !f0.should_render() && !f1.should_render() &&
!f2.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
if f2.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f2.print_attribute(__p);
__p.pclose();
}
Self::DebuggerVisualizer(f0) => {
__p.word("DebuggerVisualizer");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::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 { attr_span } => {
__p.word("DoNotRecommend");
if true && !attr_span.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if attr_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_span.print_attribute(__p);
__p.word("}");
}
Self::Doc(f0) => {
__p.word("Doc");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::DocComment { style, kind, span, comment } => {
__p.word("DocComment");
if true && !style.should_render() && !kind.should_render()
&& !span.should_render() && !comment.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if style.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("style");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
style.print_attribute(__p);
if kind.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("kind");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
kind.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
if comment.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("comment");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
comment.print_attribute(__p);
__p.word("}");
}
Self::EiiDeclaration(f0) => {
__p.word("EiiDeclaration");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::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(f0) => {
__p.word("FfiConst");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::FfiPure(f0) => {
__p.word("FfiPure");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Fundamental => { __p.word("Fundamental") }
Self::Ignore { span, reason } => {
__p.word("Ignore");
if true && !span.should_render() && !reason.should_render()
{
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
if reason.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("reason");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
reason.print_attribute(__p);
__p.word("}");
}
Self::Inline(f0, f1) => {
__p.word("Inline");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::InstructionSet(f0) => {
__p.word("InstructionSet");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Lang(f0, f1) => {
__p.word("Lang");
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::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 { span, name } => {
__p.word("LinkSection");
if true && !span.should_render() && !name.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 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(f0) => {
__p.word("MacroEscape");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::MacroExport { span, local_inner_macros } => {
__p.word("MacroExport");
if true && !span.should_render() &&
!local_inner_macros.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
if local_inner_macros.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("local_inner_macros");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
local_inner_macros.print_attribute(__p);
__p.word("}");
}
Self::MacroUse { span, arguments } => {
__p.word("MacroUse");
if true && !span.should_render() &&
!arguments.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
if arguments.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("arguments");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
arguments.print_attribute(__p);
__p.word("}");
}
Self::Marker(f0) => {
__p.word("Marker");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::MayDangle(f0) => {
__p.word("MayDangle");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::MoveSizeLimit { attr_span, limit_span, limit } => {
__p.word("MoveSizeLimit");
if true && !attr_span.should_render() &&
!limit_span.should_render() && !limit.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if attr_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_span.print_attribute(__p);
if limit_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("limit_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
limit_span.print_attribute(__p);
if limit.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("limit");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
limit.print_attribute(__p);
__p.word("}");
}
Self::MustNotSupend { reason } => {
__p.word("MustNotSupend");
if true && !reason.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if reason.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("reason");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
reason.print_attribute(__p);
__p.word("}");
}
Self::MustUse { span, reason } => {
__p.word("MustUse");
if true && !span.should_render() && !reason.should_render()
{
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
if reason.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("reason");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
reason.print_attribute(__p);
__p.word("}");
}
Self::Naked(f0) => {
__p.word("Naked");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::NeedsAllocator => { __p.word("NeedsAllocator") }
Self::NeedsPanicRuntime => { __p.word("NeedsPanicRuntime") }
Self::NoBuiltins => { __p.word("NoBuiltins") }
Self::NoCore(f0) => {
__p.word("NoCore");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::NoImplicitPrelude(f0) => {
__p.word("NoImplicitPrelude");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::NoLink => { __p.word("NoLink") }
Self::NoMain => { __p.word("NoMain") }
Self::NoMangle(f0) => {
__p.word("NoMangle");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::NoStd(f0) => {
__p.word("NoStd");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::NonExhaustive(f0) => {
__p.word("NonExhaustive");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::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 { span, directive } => {
__p.word("OnMove");
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 { span, directive } => {
__p.word("OnUnimplemented");
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::OnUnknown { span, directive } => {
__p.word("OnUnknown");
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::OnUnmatchArgs { span, directive } => {
__p.word("OnUnmatchArgs");
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::Optimize(f0, f1) => {
__p.word("Optimize");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::PanicRuntime => { __p.word("PanicRuntime") }
Self::PatchableFunctionEntry { prefix, entry } => {
__p.word("PatchableFunctionEntry");
if true && !prefix.should_render() && !entry.should_render()
{
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if prefix.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("prefix");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
prefix.print_attribute(__p);
if entry.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("entry");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
entry.print_attribute(__p);
__p.word("}");
}
Self::Path(f0, f1) => {
__p.word("Path");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::PatternComplexityLimit { attr_span, limit_span, limit
} => {
__p.word("PatternComplexityLimit");
if true && !attr_span.should_render() &&
!limit_span.should_render() && !limit.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if attr_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_span.print_attribute(__p);
if limit_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("limit_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
limit_span.print_attribute(__p);
if limit.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("limit");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
limit.print_attribute(__p);
__p.word("}");
}
Self::PinV2(f0) => {
__p.word("PinV2");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::PreludeImport => { __p.word("PreludeImport") }
Self::ProcMacro(f0) => {
__p.word("ProcMacro");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::ProcMacroAttribute(f0) => {
__p.word("ProcMacroAttribute");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::ProcMacroDerive { trait_name, helper_attrs, span } =>
{
__p.word("ProcMacroDerive");
if true && !trait_name.should_render() &&
!helper_attrs.should_render() && !span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if trait_name.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("trait_name");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
trait_name.print_attribute(__p);
if helper_attrs.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("helper_attrs");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
helper_attrs.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::ProfilerRuntime => { __p.word("ProfilerRuntime") }
Self::RecursionLimit { attr_span, limit_span, limit } => {
__p.word("RecursionLimit");
if true && !attr_span.should_render() &&
!limit_span.should_render() && !limit.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if attr_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_span.print_attribute(__p);
if limit_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("limit_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
limit_span.print_attribute(__p);
if limit.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("limit");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
limit.print_attribute(__p);
__p.word("}");
}
Self::ReexportTestHarnessMain(f0) => {
__p.word("ReexportTestHarnessMain");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RegisterTool(f0, f1) => {
__p.word("RegisterTool");
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::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(f0) => {
__p.word("RustcAsPtr");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::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, span }
=> {
__p.word("RustcBuiltinMacro");
if true && !builtin_name.should_render() &&
!helper_attrs.should_render() && !span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if builtin_name.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("builtin_name");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
builtin_name.print_attribute(__p);
if helper_attrs.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("helper_attrs");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
helper_attrs.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::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(f0) => {
__p.word("RustcCoherenceIsCore");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcCoinductive(f0) => {
__p.word("RustcCoinductive");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcConfusables { 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(f0) => {
__p.word("RustcDenyExplicitImpl");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::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::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::RustcLayoutScalarValidRangeEnd(f0, f1) => {
__p.word("RustcLayoutScalarValidRangeEnd");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::RustcLayoutScalarValidRangeStart(f0, f1) => {
__p.word("RustcLayoutScalarValidRangeStart");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::RustcLegacyConstGenerics { fn_indexes, attr_span } =>
{
__p.word("RustcLegacyConstGenerics");
if true && !fn_indexes.should_render() &&
!attr_span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if fn_indexes.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("fn_indexes");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
fn_indexes.print_attribute(__p);
if attr_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_span.print_attribute(__p);
__p.word("}");
}
Self::RustcLintOptDenyFieldAccess { lint_message } => {
__p.word("RustcLintOptDenyFieldAccess");
if true && !lint_message.should_render() { return; }
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if lint_message.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("lint_message");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
lint_message.print_attribute(__p);
__p.word("}");
}
Self::RustcLintOptTy => { __p.word("RustcLintOptTy") }
Self::RustcLintQueryInstability => {
__p.word("RustcLintQueryInstability")
}
Self::RustcLintUntrackedQueryInformation => {
__p.word("RustcLintUntrackedQueryInformation")
}
Self::RustcMacroTransparency(f0) => {
__p.word("RustcMacroTransparency");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcMain => { __p.word("RustcMain") }
Self::RustcMir(f0) => {
__p.word("RustcMir");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcMustImplementOneOf { attr_span, fn_names } => {
__p.word("RustcMustImplementOneOf");
if true && !attr_span.should_render() &&
!fn_names.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if attr_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_span.print_attribute(__p);
if fn_names.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("fn_names");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
fn_names.print_attribute(__p);
__p.word("}");
}
Self::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, span } => {
__p.word("RustcObjcClass");
if true && !classname.should_render() &&
!span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if classname.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("classname");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
classname.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::RustcObjcSelector { methname, span } => {
__p.word("RustcObjcSelector");
if true && !methname.should_render() &&
!span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if methname.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("methname");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
methname.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::RustcOffloadKernel => {
__p.word("RustcOffloadKernel")
}
Self::RustcParenSugar(f0) => {
__p.word("RustcParenSugar");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcPassByValue(f0) => {
__p.word("RustcPassByValue");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcPassIndirectlyInNonRusticAbis(f0) => {
__p.word("RustcPassIndirectlyInNonRusticAbis");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcPreserveUbChecks => {
__p.word("RustcPreserveUbChecks")
}
Self::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, f1) => {
__p.word("RustcReservationImpl");
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::RustcScalableVector { element_count, span } => {
__p.word("RustcScalableVector");
if true && !element_count.should_render() &&
!span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if element_count.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("element_count");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
element_count.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::RustcShouldNotBeCalledOnConstItems(f0) => {
__p.word("RustcShouldNotBeCalledOnConstItems");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcSimdMonomorphizeLaneLimit(f0) => {
__p.word("RustcSimdMonomorphizeLaneLimit");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcSkipDuringMethodDispatch {
array, boxed_slice, span } => {
__p.word("RustcSkipDuringMethodDispatch");
if true && !array.should_render() &&
!boxed_slice.should_render() && !span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if array.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("array");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
array.print_attribute(__p);
if boxed_slice.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("boxed_slice");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
boxed_slice.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::RustcSpecializationTrait(f0) => {
__p.word("RustcSpecializationTrait");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::RustcStdInternalSymbol(f0) => {
__p.word("RustcStdInternalSymbol");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::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, f1) => {
__p.word("RustcThenThisWouldNeed");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
Self::RustcTrivialFieldReads => {
__p.word("RustcTrivialFieldReads")
}
Self::RustcUnsafeSpecializationMarker(f0) => {
__p.word("RustcUnsafeSpecializationMarker");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::Sanitize { on_set, off_set, rtsan, span } => {
__p.word("Sanitize");
if true && !on_set.should_render() &&
!off_set.should_render() && !rtsan.should_render() &&
!span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if on_set.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("on_set");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
on_set.print_attribute(__p);
if off_set.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("off_set");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
off_set.print_attribute(__p);
if rtsan.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("rtsan");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
rtsan.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::ShouldPanic { reason, span } => {
__p.word("ShouldPanic");
if true && !reason.should_render() && !span.should_render()
{
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if reason.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("reason");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
reason.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::Stability { stability, span } => {
__p.word("Stability");
if true && !stability.should_render() &&
!span.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if stability.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("stability");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
stability.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::TargetFeature { features, attr_span, was_forced } => {
__p.word("TargetFeature");
if true && !features.should_render() &&
!attr_span.should_render() && !was_forced.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if features.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("features");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
features.print_attribute(__p);
if attr_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_span.print_attribute(__p);
if was_forced.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("was_forced");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
was_forced.print_attribute(__p);
__p.word("}");
}
Self::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 { attr_span, limit_span, limit } => {
__p.word("TypeLengthLimit");
if true && !attr_span.should_render() &&
!limit_span.should_render() && !limit.should_render() {
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if attr_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("attr_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
attr_span.print_attribute(__p);
if limit_span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("limit_span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
limit_span.print_attribute(__p);
if limit.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("limit");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
limit.print_attribute(__p);
__p.word("}");
}
Self::UnstableFeatureBound(f0) => {
__p.word("UnstableFeatureBound");
if true && !f0.should_render() { return; }
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
__p.pclose();
}
Self::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, span } => {
__p.word("Used");
if true && !used_by.should_render() && !span.should_render()
{
return;
}
__p.nbsp();
__p.word("{");
let mut __printed_anything = false;
if used_by.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("used_by");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
used_by.print_attribute(__p);
if span.should_render() {
if __printed_anything { __p.word_space(","); }
__p.word("span");
__p.word(":");
__p.nbsp();
__printed_anything = true;
}
span.print_attribute(__p);
__p.word("}");
}
Self::WindowsSubsystem(f0, f1) => {
__p.word("WindowsSubsystem");
if true && !f0.should_render() && !f1.should_render() {
return;
}
__p.popen();
let mut __printed_anything = false;
if f0.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f0.print_attribute(__p);
if f1.should_render() {
if __printed_anything { __p.word_space(","); }
__printed_anything = true;
}
f1.print_attribute(__p);
__p.pclose();
}
}
}
}
};PrintAttribute)]
939pub enum AttributeKind {
940 AllowInternalUnsafe(Span),
943
944 AllowInternalUnstable(ThinVec<(Symbol, Span)>, Span),
946
947 AutomaticallyDerived(Span),
949
950 CfgAttrTrace,
952
953 CfgTrace(ThinVec<(CfgEntry, Span)>),
955
956 CfiEncoding {
958 encoding: Symbol,
959 },
960
961 Cold(Span),
963
964 CollapseDebugInfo(CollapseMacroDebuginfo),
966
967 CompilerBuiltins,
969
970 ConstContinue(Span),
972
973 Coroutine(Span),
975
976 Coverage(Span, CoverageAttrKind),
978
979 CrateName {
981 name: Symbol,
982 name_span: Span,
983 attr_span: Span,
984 },
985
986 CrateType(ThinVec<CrateType>),
988
989 CustomMir(Option<(MirDialect, Span)>, Option<(MirPhase, Span)>, Span),
991
992 DebuggerVisualizer(ThinVec<DebugVisualizer>),
994
995 DefaultLibAllocator,
997
998 Deprecated {
1000 deprecation: Deprecation,
1001 span: Span,
1002 },
1003
1004 DoNotRecommend {
1006 attr_span: Span,
1007 },
1008
1009 Doc(Box<DocAttribute>),
1013
1014 DocComment {
1017 style: AttrStyle,
1018 kind: DocFragmentKind,
1019 span: Span,
1020 comment: Symbol,
1021 },
1022
1023 EiiDeclaration(EiiDecl),
1025
1026 EiiImpls(ThinVec<EiiImpl>),
1028
1029 ExportName {
1031 name: Symbol,
1034 span: Span,
1035 },
1036
1037 ExportStable,
1039
1040 Feature(ThinVec<Ident>, Span),
1042
1043 FfiConst(Span),
1045
1046 FfiPure(Span),
1048
1049 Fundamental,
1051
1052 Ignore {
1054 span: Span,
1055 reason: Option<Symbol>,
1057 },
1058
1059 Inline(InlineAttr, Span),
1061
1062 InstructionSet(InstructionSetAttr),
1064
1065 Lang(LangItem, Span),
1067
1068 Link(ThinVec<LinkEntry>, Span),
1070
1071 LinkName {
1073 name: Symbol,
1074 span: Span,
1075 },
1076
1077 LinkOrdinal {
1079 ordinal: u16,
1080 span: Span,
1081 },
1082
1083 LinkSection {
1085 span: Span,
1086 name: Symbol,
1087 },
1088
1089 Linkage(Linkage, Span),
1091
1092 LoopMatch(Span),
1094
1095 MacroEscape(Span),
1097
1098 MacroExport {
1100 span: Span,
1101 local_inner_macros: bool,
1102 },
1103
1104 MacroUse {
1106 span: Span,
1107 arguments: MacroUseArgs,
1108 },
1109
1110 Marker(Span),
1112
1113 MayDangle(Span),
1115
1116 MoveSizeLimit {
1118 attr_span: Span,
1119 limit_span: Span,
1120 limit: Limit,
1121 },
1122
1123 MustNotSupend {
1125 reason: Option<Symbol>,
1126 },
1127
1128 MustUse {
1130 span: Span,
1131 reason: Option<Symbol>,
1133 },
1134
1135 Naked(Span),
1137
1138 NeedsAllocator,
1140
1141 NeedsPanicRuntime,
1143
1144 NoBuiltins,
1146
1147 NoCore(Span),
1149
1150 NoImplicitPrelude(Span),
1152
1153 NoLink,
1155
1156 NoMain,
1158
1159 NoMangle(Span),
1161
1162 NoStd(Span),
1164
1165 NonExhaustive(Span),
1167
1168 OnConst {
1170 span: Span,
1171 directive: Option<Box<Directive>>,
1173 },
1174
1175 OnMove {
1177 span: Span,
1178 directive: Option<Box<Directive>>,
1179 },
1180
1181 OnUnimplemented {
1183 span: Span,
1184 directive: Option<Box<Directive>>,
1186 },
1187
1188 OnUnknown {
1190 span: Span,
1191 directive: Option<Box<Directive>>,
1193 },
1194
1195 OnUnmatchArgs {
1197 span: Span,
1198 directive: Option<Box<Directive>>,
1200 },
1201
1202 Optimize(OptimizeAttr, Span),
1204
1205 PanicRuntime,
1207
1208 PatchableFunctionEntry {
1210 prefix: u8,
1211 entry: u8,
1212 },
1213
1214 Path(Symbol, Span),
1216
1217 PatternComplexityLimit {
1219 attr_span: Span,
1220 limit_span: Span,
1221 limit: Limit,
1222 },
1223
1224 PinV2(Span),
1226
1227 PreludeImport,
1229
1230 ProcMacro(Span),
1232
1233 ProcMacroAttribute(Span),
1235
1236 ProcMacroDerive {
1238 trait_name: Symbol,
1239 helper_attrs: ThinVec<Symbol>,
1240 span: Span,
1241 },
1242
1243 ProfilerRuntime,
1245
1246 RecursionLimit {
1248 attr_span: Span,
1249 limit_span: Span,
1250 limit: Limit,
1251 },
1252
1253 ReexportTestHarnessMain(Symbol),
1255
1256 RegisterTool(ThinVec<Ident>, Span),
1258
1259 Repr {
1261 reprs: ThinVec<(ReprAttr, Span)>,
1262 first_span: Span,
1263 },
1264
1265 RustcAbi {
1267 attr_span: Span,
1268 kind: RustcAbiAttrKind,
1269 },
1270
1271 RustcAlign {
1274 align: Align,
1275 span: Span,
1276 },
1277
1278 RustcAllocator,
1280
1281 RustcAllocatorZeroed,
1283
1284 RustcAllocatorZeroedVariant {
1286 name: Symbol,
1287 },
1288
1289 RustcAllowConstFnUnstable(ThinVec<Symbol>, Span),
1291
1292 RustcAllowIncoherentImpl(Span),
1294
1295 RustcAsPtr(Span),
1297
1298 RustcAutodiff(Option<Box<RustcAutodiff>>),
1300
1301 RustcBodyStability {
1303 stability: DefaultBodyStability,
1304 span: Span,
1306 },
1307 RustcBuiltinMacro {
1309 builtin_name: Option<Symbol>,
1310 helper_attrs: ThinVec<Symbol>,
1311 span: Span,
1312 },
1313 RustcCaptureAnalysis,
1315
1316 RustcCguTestAttr(ThinVec<(Span, CguFields)>),
1318
1319 RustcClean(ThinVec<RustcCleanAttribute>),
1321
1322 RustcCoherenceIsCore(Span),
1324
1325 RustcCoinductive(Span),
1327
1328 RustcConfusables {
1330 confusables: ThinVec<Symbol>,
1331 },
1332 RustcConstStability {
1334 stability: PartialConstStability,
1335 span: Span,
1337 },
1338
1339 RustcConstStableIndirect,
1341
1342 RustcConversionSuggestion,
1344
1345 RustcDeallocator,
1347
1348 RustcDelayedBugFromInsideQuery,
1350
1351 RustcDenyExplicitImpl(Span),
1353
1354 RustcDeprecatedSafe2024 {
1356 suggestion: Symbol,
1357 },
1358 RustcDiagnosticItem(Symbol),
1360
1361 RustcDoNotConstCheck,
1363
1364 RustcDocPrimitive(Span, Symbol),
1366
1367 RustcDummy,
1369
1370 RustcDumpDefParents,
1372
1373 RustcDumpDefPath(Span),
1375
1376 RustcDumpHiddenTypeOfOpaques,
1378
1379 RustcDumpInferredOutlives,
1381
1382 RustcDumpItemBounds,
1384
1385 RustcDumpLayout(ThinVec<RustcDumpLayoutKind>),
1387
1388 RustcDumpObjectLifetimeDefaults,
1390
1391 RustcDumpPredicates,
1393
1394 RustcDumpSymbolName(Span),
1396
1397 RustcDumpUserArgs,
1399
1400 RustcDumpVariances,
1402
1403 RustcDumpVariancesOfOpaques,
1405
1406 RustcDumpVtable(Span),
1408
1409 RustcDynIncompatibleTrait(Span),
1411
1412 RustcEffectiveVisibility,
1414
1415 RustcEiiForeignItem,
1417
1418 RustcEvaluateWhereClauses,
1420
1421 RustcHasIncoherentInherentImpls,
1422
1423 RustcIfThisChanged(Span, Option<Symbol>),
1425
1426 RustcInheritOverflowChecks,
1428
1429 RustcInsignificantDtor,
1431
1432 RustcIntrinsic,
1434
1435 RustcIntrinsicConstStableIndirect,
1437
1438 RustcLayoutScalarValidRangeEnd(Box<u128>, Span),
1440
1441 RustcLayoutScalarValidRangeStart(Box<u128>, Span),
1443
1444 RustcLegacyConstGenerics {
1446 fn_indexes: ThinVec<(usize, Span)>,
1447 attr_span: Span,
1448 },
1449
1450 RustcLintOptDenyFieldAccess {
1452 lint_message: Symbol,
1453 },
1454
1455 RustcLintOptTy,
1457
1458 RustcLintQueryInstability,
1460
1461 RustcLintUntrackedQueryInformation,
1463
1464 RustcMacroTransparency(Transparency),
1466
1467 RustcMain,
1469
1470 RustcMir(ThinVec<RustcMirKind>),
1472
1473 RustcMustImplementOneOf {
1475 attr_span: Span,
1476 fn_names: ThinVec<Ident>,
1477 },
1478
1479 RustcMustMatchExhaustively(Span),
1481
1482 RustcNeverReturnsNullPtr,
1484
1485 RustcNeverTypeOptions {
1487 fallback: Option<DivergingFallbackBehavior>,
1488 diverging_block_default: Option<DivergingBlockBehavior>,
1489 },
1490
1491 RustcNoImplicitAutorefs,
1493
1494 RustcNoImplicitBounds,
1496
1497 RustcNoMirInline,
1499
1500 RustcNoWritable,
1502
1503 RustcNonConstTraitMethod,
1505
1506 RustcNonnullOptimizationGuaranteed,
1508
1509 RustcNounwind,
1511
1512 RustcObjcClass {
1514 classname: Symbol,
1515 span: Span,
1516 },
1517
1518 RustcObjcSelector {
1520 methname: Symbol,
1521 span: Span,
1522 },
1523
1524 RustcOffloadKernel,
1526
1527 RustcParenSugar(Span),
1529
1530 RustcPassByValue(Span),
1532
1533 RustcPassIndirectlyInNonRusticAbis(Span),
1535
1536 RustcPreserveUbChecks,
1538
1539 RustcProcMacroDecls,
1541
1542 RustcPubTransparent(Span),
1544
1545 RustcReallocator,
1547
1548 RustcRegions,
1550
1551 RustcReservationImpl(Span, Symbol),
1553
1554 RustcScalableVector {
1556 element_count: Option<u16>,
1559 span: Span,
1560 },
1561
1562 RustcShouldNotBeCalledOnConstItems(Span),
1564
1565 RustcSimdMonomorphizeLaneLimit(Limit),
1567
1568 RustcSkipDuringMethodDispatch {
1570 array: bool,
1571 boxed_slice: bool,
1572 span: Span,
1573 },
1574
1575 RustcSpecializationTrait(Span),
1577
1578 RustcStdInternalSymbol(Span),
1580
1581 RustcStrictCoherence(Span),
1583
1584 RustcTestMarker(Symbol),
1586
1587 RustcThenThisWouldNeed(Span, ThinVec<Ident>),
1589
1590 RustcTrivialFieldReads,
1592
1593 RustcUnsafeSpecializationMarker(Span),
1595
1596 Sanitize {
1602 on_set: SanitizerSet,
1603 off_set: SanitizerSet,
1604 rtsan: Option<RtsanSetting>,
1605 span: Span,
1606 },
1607
1608 ShouldPanic {
1610 reason: Option<Symbol>,
1611 span: Span,
1612 },
1613
1614 Stability {
1616 stability: Stability,
1617 span: Span,
1619 },
1620
1621 TargetFeature {
1624 features: ThinVec<(Symbol, Span)>,
1625 attr_span: Span,
1626 was_forced: bool,
1627 },
1628
1629 TestRunner(Path),
1631
1632 ThreadLocal,
1634
1635 TrackCaller(Span),
1637
1638 TypeLengthLimit {
1640 attr_span: Span,
1641 limit_span: Span,
1642 limit: Limit,
1643 },
1644
1645 UnstableFeatureBound(ThinVec<(Symbol, Span)>),
1647
1648 UnstableRemoved(ThinVec<UnstableRemovedFeature>),
1650
1651 Used {
1653 used_by: UsedBy,
1654 span: Span,
1655 },
1656
1657 WindowsSubsystem(WindowsSubsystemKind, Span),
1659 }