[Lldb-commits] [lldb] e84751a - [lldb] Add basic support to Rust enums in TypeSystemClang

Vladimir Makaev via lldb-commits lldb-commits at lists.llvm.org
Wed Aug 16 18:35:22 PDT 2023


Author: Vladimir Makaev
Date: 2023-08-17T02:34:35+01:00
New Revision: e84751a21561c5b1d5673cdff8e22ac4cf2f5dc2

URL: https://github.com/llvm/llvm-project/commit/e84751a21561c5b1d5673cdff8e22ac4cf2f5dc2
DIFF: https://github.com/llvm/llvm-project/commit/e84751a21561c5b1d5673cdff8e22ac4cf2f5dc2.diff

LOG: [lldb] Add basic support to Rust enums in TypeSystemClang

LLDB doesn't yet have a TypeSystemRust implemented however it is used to debug Rust applications. Most of the types map well enough to Clang types and there are python formatters implemented to display those types reasonably well in a debugger.

However, Rust enums are completely ignored by LLDB as Clang never emits DW_TAG_variant_part inside DW_TAG_structure_type

This diff adds a parser for DW_TAG_variant_part (Rust-only) that creates a matching valid Clang declaration to the Rust enum. As long as there is enough information and all fields have correct offsets synthetic/summary providers can be implemented to display it correctly when debugging Rust code

Differential Revision: https://reviews.llvm.org/D149213

Added: 
    lldb/test/API/lang/rust/enum-structs/RustEnumValue.py
    lldb/test/API/lang/rust/enum-structs/TestRustEnumStructs.py
    lldb/test/API/lang/rust/enum-structs/main.rs
    lldb/test/API/lang/rust/enum-structs/main.yaml

Modified: 
    lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h

Removed: 
    


################################################################################
diff  --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
index 2dd61ee219e1e4..4f891a5c28c464 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
@@ -2496,8 +2496,163 @@ struct PropertyAttributes {
   /// \see clang::ObjCPropertyAttribute
   uint32_t prop_attributes = 0;
 };
+
+struct DiscriminantValue {
+  explicit DiscriminantValue(const DWARFDIE &die, ModuleSP module_sp);
+
+  uint32_t byte_offset;
+  uint32_t byte_size;
+  DWARFFormValue type_ref;
+};
+
+struct VariantMember {
+  explicit VariantMember(DWARFDIE &die, ModuleSP module_sp);
+  bool IsDefault() const;
+
+  std::optional<u_int32_t> discr_value;
+  DWARFFormValue type_ref;
+  ConstString variant_name;
+  uint32_t byte_offset;
+  ConstString GetName() const;
+};
+
+struct VariantPart {
+  explicit VariantPart(const DWARFDIE &die, const DWARFDIE &parent_die,
+                       ModuleSP module_sp);
+
+  std::vector<VariantMember> &members();
+
+  DiscriminantValue &discriminant();
+
+private:
+  std::vector<VariantMember> _members;
+  DiscriminantValue _discriminant;
+};
+
 } // namespace
 
+ConstString VariantMember::GetName() const { return this->variant_name; }
+
+bool VariantMember::IsDefault() const { return !discr_value; }
+
+VariantMember::VariantMember(DWARFDIE &die, lldb::ModuleSP module_sp) {
+  assert(die.Tag() == llvm::dwarf::DW_TAG_variant);
+  this->discr_value =
+      die.GetAttributeValueAsOptionalUnsigned(DW_AT_discr_value);
+
+  for (auto child_die : die.children()) {
+    switch (child_die.Tag()) {
+    case llvm::dwarf::DW_TAG_member: {
+      DWARFAttributes attributes = child_die.GetAttributes();
+      for (std::size_t i = 0; i < attributes.Size(); ++i) {
+        DWARFFormValue form_value;
+        const dw_attr_t attr = attributes.AttributeAtIndex(i);
+        if (attributes.ExtractFormValueAtIndex(i, form_value)) {
+          switch (attr) {
+          case DW_AT_name:
+            variant_name = ConstString(form_value.AsCString());
+            break;
+          case DW_AT_type:
+            type_ref = form_value;
+            break;
+
+          case DW_AT_data_member_location:
+            if (form_value.BlockData()) {
+              Value initialValue(0);
+              Value memberOffset(0);
+              const DWARFDataExtractor &debug_info_data = die.GetData();
+              uint32_t block_length = form_value.Unsigned();
+              uint32_t block_offset =
+                  form_value.BlockData() - debug_info_data.GetDataStart();
+              if (DWARFExpression::Evaluate(
+                      nullptr, // ExecutionContext *
+                      nullptr, // RegisterContext *
+                      module_sp,
+                      DataExtractor(debug_info_data, block_offset,
+                                    block_length),
+                      die.GetCU(), eRegisterKindDWARF, &initialValue, nullptr,
+                      memberOffset, nullptr)) {
+                byte_offset = memberOffset.ResolveValue(nullptr).UInt();
+              }
+            } else {
+              // With DWARF 3 and later, if the value is an integer constant,
+              // this form value is the offset in bytes from the beginning of
+              // the containing entity.
+              byte_offset = form_value.Unsigned();
+            }
+            break;
+
+          default:
+            break;
+          }
+        }
+      }
+      break;
+    }
+    default:
+      break;
+    }
+    break;
+  }
+}
+
+DiscriminantValue::DiscriminantValue(const DWARFDIE &die, ModuleSP module_sp) {
+  auto referenced_die = die.GetReferencedDIE(DW_AT_discr);
+  DWARFAttributes attributes = referenced_die.GetAttributes();
+  for (std::size_t i = 0; i < attributes.Size(); ++i) {
+    const dw_attr_t attr = attributes.AttributeAtIndex(i);
+    DWARFFormValue form_value;
+    if (attributes.ExtractFormValueAtIndex(i, form_value)) {
+      switch (attr) {
+      case DW_AT_type:
+        type_ref = form_value;
+        break;
+      case DW_AT_data_member_location:
+        if (form_value.BlockData()) {
+          Value initialValue(0);
+          Value memberOffset(0);
+          const DWARFDataExtractor &debug_info_data = die.GetData();
+          uint32_t block_length = form_value.Unsigned();
+          uint32_t block_offset =
+              form_value.BlockData() - debug_info_data.GetDataStart();
+          if (DWARFExpression::Evaluate(
+                  nullptr, // ExecutionContext *
+                  nullptr, // RegisterContext *
+                  module_sp,
+                  DataExtractor(debug_info_data, block_offset, block_length),
+                  die.GetCU(), eRegisterKindDWARF, &initialValue, nullptr,
+                  memberOffset, nullptr)) {
+            byte_offset = memberOffset.ResolveValue(nullptr).UInt();
+          }
+        } else {
+          // With DWARF 3 and later, if the value is an integer constant,
+          // this form value is the offset in bytes from the beginning of
+          // the containing entity.
+          byte_offset = form_value.Unsigned();
+        }
+        break;
+      default:
+        break;
+      }
+    }
+  }
+}
+
+VariantPart::VariantPart(const DWARFDIE &die, const DWARFDIE &parent_die,
+                         lldb::ModuleSP module_sp)
+    : _members(), _discriminant(die, module_sp) {
+
+  for (auto child : die.children()) {
+    if (child.Tag() == llvm::dwarf::DW_TAG_variant) {
+      _members.push_back(VariantMember(child, module_sp));
+    }
+  }
+}
+
+std::vector<VariantMember> &VariantPart::members() { return this->_members; }
+
+DiscriminantValue &VariantPart::discriminant() { return this->_discriminant; }
+
 MemberAttributes::MemberAttributes(const DWARFDIE &die,
                                    const DWARFDIE &parent_die,
                                    ModuleSP module_sp) {
@@ -3021,6 +3176,13 @@ bool DWARFASTParserClang::ParseChildMembers(
       ParseObjCProperty(die, parent_die, class_clang_type, delayed_properties);
       break;
 
+    case DW_TAG_variant_part:
+      if (die.GetCU()->GetDWARFLanguageType() == eLanguageTypeRust) {
+        ParseRustVariantPart(die, parent_die, class_clang_type,
+                             default_accessibility, layout_info);
+      }
+      break;
+
     case DW_TAG_member:
       ParseSingleMember(die, parent_die, class_clang_type,
                         default_accessibility, layout_info, last_field_info);
@@ -3728,3 +3890,76 @@ bool DWARFASTParserClang::ShouldCreateUnnamedBitfield(
 
   return true;
 }
+
+void DWARFASTParserClang::ParseRustVariantPart(
+    DWARFDIE &die, const DWARFDIE &parent_die, CompilerType &class_clang_type,
+    const lldb::AccessType default_accesibility,
+    ClangASTImporter::LayoutInfo &layout_info) {
+  assert(die.Tag() == llvm::dwarf::DW_TAG_variant_part);
+  assert(SymbolFileDWARF::GetLanguage(*die.GetCU()) ==
+         LanguageType::eLanguageTypeRust);
+
+  ModuleSP module_sp = parent_die.GetDWARF()->GetObjectFile()->GetModule();
+
+  VariantPart variants(die, parent_die, module_sp);
+
+  auto discriminant_type =
+      die.ResolveTypeUID(variants.discriminant().type_ref.Reference());
+
+  auto decl_context = m_ast.GetDeclContextForType(class_clang_type);
+
+  auto inner_holder = m_ast.CreateRecordType(
+      decl_context, OptionalClangModuleID(), lldb::eAccessPublic,
+      std::string(
+          llvm::formatv("{0}$Inner", class_clang_type.GetTypeName(false))),
+      clang::TTK_Union, lldb::eLanguageTypeRust);
+  m_ast.StartTagDeclarationDefinition(inner_holder);
+  m_ast.SetIsPacked(inner_holder);
+
+  for (auto member : variants.members()) {
+
+    auto has_discriminant = !member.IsDefault();
+
+    auto member_type = die.ResolveTypeUID(member.type_ref.Reference());
+
+    auto field_type = m_ast.CreateRecordType(
+        m_ast.GetDeclContextForType(inner_holder), OptionalClangModuleID(),
+        lldb::eAccessPublic,
+        std::string(llvm::formatv("{0}$Variant", member.GetName())),
+        clang::TTK_Struct, lldb::eLanguageTypeRust);
+
+    m_ast.StartTagDeclarationDefinition(field_type);
+    auto offset = member.byte_offset;
+
+    if (has_discriminant) {
+      m_ast.AddFieldToRecordType(
+          field_type, "$discr$", discriminant_type->GetFullCompilerType(),
+          lldb::eAccessPublic, variants.discriminant().byte_offset);
+      offset += discriminant_type->GetByteSize(nullptr).value_or(0);
+    }
+
+    m_ast.AddFieldToRecordType(field_type, "value",
+                               member_type->GetFullCompilerType(),
+                               lldb::eAccessPublic, offset * 8);
+
+    m_ast.CompleteTagDeclarationDefinition(field_type);
+
+    auto name = has_discriminant
+                    ? llvm::formatv("$variant${0}", member.discr_value.value())
+                    : std::string("$variant$");
+
+    auto variant_decl =
+        m_ast.AddFieldToRecordType(inner_holder, llvm::StringRef(name),
+                                   field_type, default_accesibility, 0);
+
+    layout_info.field_offsets.insert({variant_decl, 0});
+  }
+
+  auto inner_field = m_ast.AddFieldToRecordType(class_clang_type,
+                                                llvm::StringRef("$variants$"),
+                                                inner_holder, eAccessPublic, 0);
+
+  m_ast.CompleteTagDeclarationDefinition(inner_holder);
+
+  layout_info.field_offsets.insert({inner_field, 0});
+}

diff  --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
index 042075b7df5f0c..88bfc490e89074 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
@@ -317,6 +317,21 @@ class DWARFASTParserClang : public DWARFASTParser {
       const lldb::ModuleSP &module_sp,
       std::vector<std::unique_ptr<clang::CXXBaseSpecifier>> &base_classes,
       lldb_private::ClangASTImporter::LayoutInfo &layout_info);
+
+  /// Parses DW_TAG_variant_part DIE into a structure that encodes all variants
+  /// Note that this is currently being emitted by rustc and not Clang
+  /// \param die DW_TAG_variant_part DIE to parse
+  /// \param parent_die The parent DW_TAG_structure_type to parse
+  /// \param class_clang_type The Rust struct representing parent_die.
+  /// \param default_accesibility The default accessibility that is given to
+  ///  base classes if they don't have an explicit accessibility set
+  /// \param layout_info The layout information that will be updated for
+  //   base classes with the base offset
+  void
+  ParseRustVariantPart(DWARFDIE &die, const DWARFDIE &parent_die,
+                       lldb_private::CompilerType &class_clang_type,
+                       const lldb::AccessType default_accesibility,
+                       lldb_private::ClangASTImporter::LayoutInfo &layout_info);
 };
 
 /// Parsed form of all attributes that are relevant for type reconstruction.

diff  --git a/lldb/test/API/lang/rust/enum-structs/RustEnumValue.py b/lldb/test/API/lang/rust/enum-structs/RustEnumValue.py
new file mode 100644
index 00000000000000..dcf534ad587ae5
--- /dev/null
+++ b/lldb/test/API/lang/rust/enum-structs/RustEnumValue.py
@@ -0,0 +1,63 @@
+"""Helper library to traverse data emitted for Rust enums """
+from lldbsuite.test.lldbtest import *
+
+DISCRIMINANT_MEMBER_NAME = "$discr$"
+VALUE_MEMBER_NAME = "value"
+
+class RustEnumValue:
+
+    def __init__(self, value: lldb.SBValue):
+        self.value = value
+
+    def getAllVariantTypes(self):
+        result = []
+        for i in range(self._inner().GetNumChildren()):
+            result.append(self.getVariantByIndex(i).GetDisplayTypeName())
+        return result
+
+    def _inner(self) -> lldb.SBValue:
+        return self.value.GetChildAtIndex(0)
+
+    def getVariantByIndex(self, index):
+        return self._inner().GetChildAtIndex(index).GetChildMemberWithName(VALUE_MEMBER_NAME)
+
+    @staticmethod
+    def _getDiscriminantValueAsUnsigned(discr_sbvalue: lldb.SBValue):
+        byte_size = discr_sbvalue.GetType().GetByteSize()
+        error = lldb.SBError()
+
+        # when discriminant is u16 Clang emits 'unsigned char'
+        # and LLDB seems to treat it as character type disalowing to call GetValueAsUnsigned
+        if byte_size == 1:
+            return discr_sbvalue.GetData().GetUnsignedInt8(error, 0)
+        elif byte_size == 2:
+            return discr_sbvalue.GetData().GetUnsignedInt16(error, 0)
+        elif byte_size == 4:
+            return discr_sbvalue.GetData().GetUnsignedInt32(error, 0)
+        elif byte_size == 8:
+            return discr_sbvalue.GetData().GetUnsignedInt64(error, 0)
+        else:
+            return discr_sbvalue.GetValueAsUnsigned()
+
+    def getCurrentVariantIndex(self):
+        default_index = 0
+        for i in range(self._inner().GetNumChildren()):
+            variant: lldb.SBValue = self._inner().GetChildAtIndex(i);
+            discr = variant.GetChildMemberWithName(DISCRIMINANT_MEMBER_NAME)
+            if discr.IsValid():
+                discr_unsigned_value = RustEnumValue._getDiscriminantValueAsUnsigned(discr)
+                if variant.GetName() == f"$variant${discr_unsigned_value}":
+                    return discr_unsigned_value
+            else:
+                default_index = i
+        return default_index
+
+    def getFields(self):
+        result = []
+        for i in range(self._inner().GetNumChildren()):
+            type: lldb.SBType = self._inner().GetType()
+            result.append(type.GetFieldAtIndex(i).GetName())
+        return result
+
+    def getCurrentValue(self) -> lldb.SBValue:
+        return self.getVariantByIndex(self.getCurrentVariantIndex())

diff  --git a/lldb/test/API/lang/rust/enum-structs/TestRustEnumStructs.py b/lldb/test/API/lang/rust/enum-structs/TestRustEnumStructs.py
new file mode 100644
index 00000000000000..4cd4243f17f68c
--- /dev/null
+++ b/lldb/test/API/lang/rust/enum-structs/TestRustEnumStructs.py
@@ -0,0 +1,219 @@
+"""Test that lldb recognizes enum structs emitted by Rust compiler """
+import logging
+
+import lldb
+from lldbsuite.test.decorators import *
+from lldbsuite.test.lldbtest import *
+from RustEnumValue import RustEnumValue
+
+
+class TestRustEnumStructs(TestBase):
+    def setUp(self):
+        TestBase.setUp(self)
+        src_dir = self.getSourceDir()
+        yaml_path = os.path.join(src_dir, "main.yaml")
+        obj_path = self.getBuildArtifact("main.o")
+        self.yaml2obj(yaml_path, obj_path)
+        self.dbg.CreateTarget(obj_path)
+
+    def getFromGlobal(self, name):
+        values = self.target().FindGlobalVariables(name, 1)
+        self.assertEqual(values.GetSize(), 1)
+        return RustEnumValue(values[0])
+
+    def test_clike_enums_are_represented_correctly(self):
+        # these type of enums are not using DW_TAG_variant_part.
+        all_values = [
+            self.target().FindFirstGlobalVariable("CLIKE_DEFAULT_A").GetValue(),
+            self.target().FindFirstGlobalVariable("CLIKE_DEFAULT_B").GetValue(),
+            self.target().FindFirstGlobalVariable("CLIKE_U8_A").GetValue(),
+            self.target().FindFirstGlobalVariable("CLIKE_U8_C").GetValue(),
+            self.target().FindFirstGlobalVariable("CLIKE_U32_A").GetValue(),
+            self.target().FindFirstGlobalVariable("CLIKE_U32_B").GetValue(),
+        ]
+        self.assertEqual(all_values, ['A', 'B', 'VariantA', 'VariantC', 'VariantA', 'VariantB'])
+
+    def test_enum_with_tuples_has_all_variants(self):
+        self.assertEqual(self.getFromGlobal("ENUM_WITH_TUPLES_A").getAllVariantTypes(),
+                         ['main::EnumWithTuples::A:8',
+                          'main::EnumWithTuples::B:8',
+                          'main::EnumWithTuples::C:8',
+                          'main::EnumWithTuples::D:8',
+                          'main::EnumWithTuples::AA:8',
+                          'main::EnumWithTuples::BB:8',
+                          'main::EnumWithTuples::BC:8',
+                          'main::EnumWithTuples::CC:8'])
+
+    def test_enum_with_tuples_values_are_correct_a(self):
+        # static ENUM_WITH_TUPLES_A: EnumWithTuples = EnumWithTuples::A(13);
+        self.assertEqual(
+            self.getFromGlobal("ENUM_WITH_TUPLES_A").getCurrentValue().GetChildAtIndex(0).GetData().GetUnsignedInt8(
+                lldb.SBError(), 0),
+            13)
+
+    def test_enum_with_tuples_values_are_correct_aa(self):
+        # static ENUM_WITH_TUPLES_AA: EnumWithTuples = EnumWithTuples::AA(13, 37);
+        value = self.getFromGlobal("ENUM_WITH_TUPLES_AA").getCurrentValue()
+        self.assertEqual(
+            (value.GetChildAtIndex(0).GetData().GetUnsignedInt8(
+                lldb.SBError(), 0),
+             value.GetChildAtIndex(1).GetData().GetUnsignedInt8(
+                 lldb.SBError(), 0)),
+            (13, 37))
+
+    def test_enum_with_tuples_values_are_correct_b(self):
+        # static ENUM_WITH_TUPLES_B: EnumWithTuples = EnumWithTuples::B(37);
+        self.assertEqual(
+            self.getFromGlobal("ENUM_WITH_TUPLES_B").getCurrentValue().GetChildAtIndex(0).GetData().GetUnsignedInt16(
+                lldb.SBError(), 0),
+            37)
+
+    def test_enum_with_tuples_values_are_correct_bb(self):
+        # static ENUM_WITH_TUPLES_BB: EnumWithTuples = EnumWithTuples::BB(37, 5535);
+        value = self.getFromGlobal("ENUM_WITH_TUPLES_BB").getCurrentValue()
+        self.assertEqual(
+            (value.GetChildAtIndex(0).GetData().GetUnsignedInt16(lldb.SBError(), 0),
+             value.GetChildAtIndex(1).GetData().GetUnsignedInt16(lldb.SBError(), 0)),
+            (37, 5535))
+
+    def test_enum_with_tuples_values_are_correct_bc(self):
+        # static ENUM_WITH_TUPLES_BC: EnumWithTuples = EnumWithTuples::BC(65000, 165000);
+        value = self.getFromGlobal("ENUM_WITH_TUPLES_BC").getCurrentValue()
+        self.assertEqual(
+            (value.GetChildAtIndex(0).GetData().GetUnsignedInt16(lldb.SBError(), 0),
+             value.GetChildAtIndex(1).GetData().GetUnsignedInt32(lldb.SBError(), 0)),
+            (65000, 165000))
+
+    def test_enum_with_tuples_values_are_correct_c(self):
+        # static ENUM_WITH_TUPLES_C: EnumWithTuples = EnumWithTuples::C(31337);
+        self.assertEqual(
+            self.getFromGlobal("ENUM_WITH_TUPLES_C").getCurrentValue().GetChildAtIndex(0).GetData().GetUnsignedInt32(
+                lldb.SBError(), 0),
+            31337)
+
+    def test_enum_with_tuples_values_are_correct_cc(self):
+        # static ENUM_WITH_TUPLES_CC: EnumWithTuples = EnumWithTuples::CC(31337, 87236);
+        value = self.getFromGlobal("ENUM_WITH_TUPLES_CC").getCurrentValue()
+        self.assertEqual(
+            (value.GetChildAtIndex(0).GetData().GetUnsignedInt32(lldb.SBError(), 0),
+             value.GetChildAtIndex(1).GetData().GetUnsignedInt32(lldb.SBError(), 0)),
+            (31337, 87236))
+
+    def test_enum_with_tuples_values_are_correct_d(self):
+        # static ENUM_WITH_TUPLES_D: EnumWithTuples = EnumWithTuples::D(123456789012345678);
+        self.assertEqual(
+            self.getFromGlobal("ENUM_WITH_TUPLES_D").getCurrentValue().GetChildAtIndex(0).GetData().GetUnsignedInt64(
+                lldb.SBError(), 0),
+            123456789012345678)
+
+    def test_mixed_enum_variants(self):
+        # static MIXED_ENUM_A: MixedEnum1 = MixedEnum1::A;
+        self.assertEqual(self.getFromGlobal("MIXED_ENUM_A").getAllVariantTypes(), ['main::MixedEnum::A:64',
+                                                                                   'main::MixedEnum::B:64',
+                                                                                   'main::MixedEnum::C:64',
+                                                                                   'main::MixedEnum::D:64',
+                                                                                   'main::MixedEnum::E:64'])
+
+    def test_mixed_enum_a(self):
+        # static MIXED_ENUM_A: MixedEnum = MixedEnum::A;
+        value = self.getFromGlobal("MIXED_ENUM_A").getCurrentValue()
+        self.assertEqual(value.GetType().GetDisplayTypeName(), "main::MixedEnum::A")
+        self.assertEqual(value.GetValue(), None)
+
+    def test_mixed_enum_c(self):
+        # static MIXED_ENUM_C: MixedEnum = MixedEnum::C(254, -254);
+        value = self.getFromGlobal("MIXED_ENUM_C").getCurrentValue()
+        self.assertEqual(
+            (value.GetChildAtIndex(0).GetData().GetUnsignedInt8(lldb.SBError(), 0),
+             value.GetChildAtIndex(1).GetData().GetSignedInt32(lldb.SBError(), 0)),
+            (254, -254))
+
+    def test_mixed_enum_d_none(self):
+        # static MIXED_ENUM_D_NONE: MixedEnum = MixedEnum::D(None);
+        value = RustEnumValue(self.getFromGlobal("MIXED_ENUM_D_NONE").getCurrentValue().GetChildAtIndex(0))
+        self.assertEqual(value.getAllVariantTypes(), ["core::option::Option<main::Struct2>::None<main::Struct2>:32",
+                                                      "core::option::Option<main::Struct2>::Some<main::Struct2>:32"])
+        self.assertEqual(value.getCurrentValue().GetValue(), None)
+        self.assertEqual(value.getCurrentValue().GetType().GetDisplayTypeName(),
+                         "core::option::Option<main::Struct2>::None<main::Struct2>")
+
+    def test_mixed_enum_d_some(self):
+        # static MIXED_ENUM_D_SOME: MixedEnum = MixedEnum::D(Some(Struct2 {
+        #     field: 123456,
+        #     inner: Struct1 { field: 123 },
+        # }));
+        variant_with_option = RustEnumValue(
+            self.getFromGlobal("MIXED_ENUM_D_SOME").getCurrentValue().GetChildAtIndex(0))
+
+        value_inside_option = variant_with_option.getCurrentValue().GetChildAtIndex(0)
+        self.assertEqual(
+            value_inside_option.GetChildMemberWithName("field").GetData().GetUnsignedInt32(lldb.SBError(), 0), 123456)
+
+        self.assertEqual(
+            value_inside_option.GetChildMemberWithName("inner").GetChildMemberWithName(
+                "field").GetData().GetSignedInt32(lldb.SBError(), 0),
+            123)
+        self.assertEqual(value_inside_option.GetType().GetDisplayTypeName(), "main::Struct2")
+
+    def test_option_non_null_some_pointer(self):
+        type = self.target().FindFirstType("core::option::Option<core::ptr::non_null::NonNull<u64>>")
+        # this type is "optimized" by rust compiler so the discriminant isn't present on Some variant of option
+        data = [1337]
+        pointer_size = self.target().GetAddressByteSize()
+        byte_order = self.target().GetByteOrder()
+        value = RustEnumValue(self.target().CreateValueFromData("adhoc_value",
+                                                                lldb.SBData.CreateDataFromUInt64Array(byte_order,
+                                                                                                      pointer_size,
+                                                                                                      data),
+                                                                type))
+        self.assertEqual(value.getFields(), ["$variant$0", "$variant$"])
+        self.assertEqual(
+            value.getCurrentValue().GetChildAtIndex(0).GetChildMemberWithName("pointer").GetValueAsUnsigned(), 1337)
+
+    def test_option_non_null_none(self):
+        type = self.target().FindFirstType("core::option::Option<core::ptr::non_null::NonNull<u64>>")
+        # this type is "optimized" by rust compiler so the discriminant isn't present on Some variant of option
+        # in this test case 0 is used to represent 'None'
+        data = [0]
+        pointer_size = self.target().GetAddressByteSize()
+        byte_order = self.target().GetByteOrder()
+        value = RustEnumValue(self.target().CreateValueFromData("adhoc_value",
+                                                                lldb.SBData.CreateDataFromUInt64Array(byte_order,
+                                                                                                      pointer_size,
+                                                                                                      data),
+                                                                type))
+        self.assertEqual(value.getFields(), ["$variant$0", "$variant$"])
+        self.assertEqual(value.getCurrentValue().GetValue(), None)
+        self.assertEqual(value.getCurrentValue().GetType().GetDisplayTypeName(),
+                         "core::option::Option<core::ptr::non_null::NonNull<u64>>::None<core::ptr::non_null::NonNull<unsigned long> >")
+
+    def test_niche_layout_with_fields_2(self):
+        # static NICHE_W_FIELDS_2_A: NicheLayoutWithFields2 =
+        #           NicheLayoutWithFields2::A(NonZeroU32::new(800).unwrap(), 900);
+        value = self.getFromGlobal("NICHE_W_FIELDS_2_A").getCurrentValue()
+        self.assertEqual(
+            (
+                value.GetChildAtIndex(0).GetChildAtIndex(0).GetData().GetUnsignedInt32(lldb.SBError(), 0),
+                value.GetChildAtIndex(1).GetData().GetUnsignedInt32(lldb.SBError(), 0)
+            ),
+            (800, 900)
+        )
+
+    def test_niche_layout_with_fields_3_a(self):
+        # static NICHE_W_FIELDS_3_A: NicheLayoutWithFields3 = NicheLayoutWithFields3::A(137, true);
+        value = self.getFromGlobal("NICHE_W_FIELDS_3_A").getCurrentValue()
+        self.assertEqual(
+            (
+                value.GetChildAtIndex(0).GetData().GetUnsignedInt8(lldb.SBError(), 0),
+                value.GetChildAtIndex(1).GetData().GetUnsignedInt8(lldb.SBError(), 0),
+            ),
+            (137, 1)
+        )
+
+    def test_niche_layout_with_fields_3_a(self):
+        # static NICHE_W_FIELDS_3_C: NicheLayoutWithFields3 = NicheLayoutWithFields3::C(false);
+        value = self.getFromGlobal("NICHE_W_FIELDS_3_C").getCurrentValue()
+        self.assertEqual(
+            value.GetChildAtIndex(0).GetData().GetUnsignedInt8(lldb.SBError(), 0),
+            0
+        )

diff  --git a/lldb/test/API/lang/rust/enum-structs/main.rs b/lldb/test/API/lang/rust/enum-structs/main.rs
new file mode 100644
index 00000000000000..813933602966e7
--- /dev/null
+++ b/lldb/test/API/lang/rust/enum-structs/main.rs
@@ -0,0 +1,161 @@
+#![feature(repr128)]
+#![feature(rustc_attrs)]
+#![feature(const_option)]
+
+use core::num::{NonZeroI128, NonZeroU32};
+
+/// This file was manually compiled with rustc as object file
+/// obj2yaml tool was used to convert this to main.yaml
+/// This is done in order to make the test portable since LLVM codebase tests don't have setup to compile Rust programs
+/// no_std , no_main is used in order to make the object file as small as possible eliminating extra symbols from standard library
+/// static global variables are used because they can be inspected on object file without starting the process
+
+/// Command:
+/// rustc -g --emit=obj --crate-type=bin -C panic=abort -C link-arg=-nostdlib main.rs && obj2yaml main.o -o main.yaml
+use core::ptr::NonNull;
+
+pub enum CLikeEnumDefault {
+    A = 2,
+    B = 10,
+}
+
+#[repr(u8)]
+pub enum CLikeEnumReprU8 {
+    VariantA,
+    VariantB,
+    VariantC,
+}
+
+#[repr(u32)]
+pub enum CLikeEnumReprU32 {
+    VariantA = 1,
+    VariantB = 2,
+    VariantC = 3,
+}
+
+pub enum EnumWithTuples {
+    A(u8),
+    B(u16),
+    C(u32),
+    D(usize),
+    AA(u8, u8),
+    BB(u16, u16),
+    BC(u16, u32),
+    CC(u32, u32),
+    // no DD on purpose to have D = CC in size
+}
+
+pub enum EnumWithStructs {
+    A(Struct1),
+    B(Struct2),
+}
+
+#[repr(usize)]
+pub enum MixedEnum {
+    A,
+    B(i32),
+    C(u8, i32),
+    D(Option<Struct2>),
+    E(EnumWithStructs),
+}
+
+pub struct Struct1 {
+    field: i32,
+}
+
+pub struct Struct2 {
+    field: u32,
+    inner: Struct1,
+}
+
+pub struct NonNullHolder {
+    inner: Option<NonNull<u64>>,
+}
+
+pub enum NicheLayoutEnum {
+    Tag1,
+    Data { my_data: CLikeEnumDefault },
+    Tag2,
+}
+
+// The following three types will use a niche layout once
+pub enum NicheLayoutWithFields1<'a> {
+    A(&'a u8, u32),
+    B(u32),
+}
+
+pub enum NicheLayoutWithFields2 {
+    A(NonZeroU32, u64),
+    B(u64),
+}
+
+pub enum NicheLayoutWithFields3 {
+    A(u8, bool),
+    B(u8),
+    C(bool),
+    D(u8),
+    E(u8),
+    F,
+}
+
+#[repr(i128)]
+enum DirectTag128 {
+    A(u32),
+    B(u32),
+}
+
+static CLIKE_DEFAULT_A: CLikeEnumDefault = CLikeEnumDefault::A;
+static CLIKE_DEFAULT_B: CLikeEnumDefault = CLikeEnumDefault::B;
+
+static CLIKE_U8_A: CLikeEnumReprU8 = CLikeEnumReprU8::VariantA;
+static CLIKE_U8_B: CLikeEnumReprU8 = CLikeEnumReprU8::VariantB;
+static CLIKE_U8_C: CLikeEnumReprU8 = CLikeEnumReprU8::VariantC;
+
+static CLIKE_U32_A: CLikeEnumReprU32 = CLikeEnumReprU32::VariantA;
+static CLIKE_U32_B: CLikeEnumReprU32 = CLikeEnumReprU32::VariantB;
+static CLIKE_U32_C: CLikeEnumReprU32 = CLikeEnumReprU32::VariantC;
+
+static ENUM_WITH_TUPLES_A: EnumWithTuples = EnumWithTuples::A(13);
+static ENUM_WITH_TUPLES_AA: EnumWithTuples = EnumWithTuples::AA(13, 37);
+static ENUM_WITH_TUPLES_B: EnumWithTuples = EnumWithTuples::B(37);
+static ENUM_WITH_TUPLES_BB: EnumWithTuples = EnumWithTuples::BB(37, 5535);
+static ENUM_WITH_TUPLES_BC: EnumWithTuples = EnumWithTuples::BC(65000, 165000);
+static ENUM_WITH_TUPLES_C: EnumWithTuples = EnumWithTuples::C(31337);
+static ENUM_WITH_TUPLES_CC: EnumWithTuples = EnumWithTuples::CC(31337, 87236);
+static ENUM_WITH_TUPLES_D: EnumWithTuples = EnumWithTuples::D(123456789012345678);
+
+static MIXED_ENUM_A: MixedEnum = MixedEnum::A;
+static MIXED_ENUM_B: MixedEnum = MixedEnum::B(-10);
+static MIXED_ENUM_C: MixedEnum = MixedEnum::C(254, -254);
+static MIXED_ENUM_D_NONE: MixedEnum = MixedEnum::D(None);
+static MIXED_ENUM_D_SOME: MixedEnum = MixedEnum::D(Some(Struct2 {
+    field: 123456,
+    inner: Struct1 { field: 123 },
+}));
+
+static NICHE_W_FIELDS_1_A: NicheLayoutWithFields1 = NicheLayoutWithFields1::A(&77, 7);
+static NICHE_W_FIELDS_1_B: NicheLayoutWithFields1 = NicheLayoutWithFields1::B(99);
+static NICHE_W_FIELDS_2_A: NicheLayoutWithFields2 =
+    NicheLayoutWithFields2::A(NonZeroU32::new(800).unwrap(), 900);
+static NICHE_W_FIELDS_2_B: NicheLayoutWithFields2 = NicheLayoutWithFields2::B(1000);
+static NICHE_W_FIELDS_3_A: NicheLayoutWithFields3 = NicheLayoutWithFields3::A(137, true);
+static NICHE_W_FIELDS_3_B: NicheLayoutWithFields3 = NicheLayoutWithFields3::B(12);
+static NICHE_W_FIELDS_3_C: NicheLayoutWithFields3 = NicheLayoutWithFields3::C(false);
+static NICHE_W_FIELDS_3_D: NicheLayoutWithFields3 = NicheLayoutWithFields3::D(34);
+static NICHE_W_FIELDS_3_E: NicheLayoutWithFields3 = NicheLayoutWithFields3::E(56);
+static NICHE_W_FIELDS_3_F: NicheLayoutWithFields3 = NicheLayoutWithFields3::F;
+
+static DIRECT_TAG_128_A: DirectTag128 = DirectTag128::A(12345);
+static DIRECT_TAG_128_B: DirectTag128 = DirectTag128::B(6789);
+
+pub fn main() {
+    let niche_w_fields_1_a: NicheLayoutWithFields1 = NicheLayoutWithFields1::A(&77, 7);
+    let niche_w_fields_1_b: NicheLayoutWithFields1 = NicheLayoutWithFields1::B(99);
+    let direct_tag_128_a: DirectTag128 = DirectTag128::A(0xF1F2);
+    let direct_tag_128_b: DirectTag128 = DirectTag128::B(0xF3F4);
+    let non_null = unsafe {
+        NonNullHolder {
+            inner: NonNull::new(12345 as *mut u64),
+        }
+    };
+}

diff  --git a/lldb/test/API/lang/rust/enum-structs/main.yaml b/lldb/test/API/lang/rust/enum-structs/main.yaml
new file mode 100644
index 00000000000000..09f0585586dc32
--- /dev/null
+++ b/lldb/test/API/lang/rust/enum-structs/main.yaml
@@ -0,0 +1,3082 @@
+--- !ELF
+FileHeader:
+  Class:           ELFCLASS64
+  Data:            ELFDATA2LSB
+  Type:            ET_REL
+  Machine:         EM_X86_64
+  SectionHeaderStringTable: .strtab
+Sections:
+  - Name:            .text
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
+    AddressAlign:    0x4
+  - Name:            .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
+    AddressAlign:    0x10
+    Content:         4883EC1848897C2408E8000000004883C418C3
+  - Name:            .text._ZN3std2rt10lang_start17h2b298beff3390667E
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
+    AddressAlign:    0x10
+    Content:         4883EC3889C84889D14889F248897C2410488954241848894C24208844242F48897C2408488D7C2408488D3500000000440FB6C0FF150000000048890424488B042448894424304883C438C3
+  - Name:            '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE'
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
+    AddressAlign:    0x10
+    Content:         4883EC1848893C24488B3FE800000000E8000000008844240F488D4C240F48894C24100FB6C04883C418C3
+  - Name:            '.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE'
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
+    AddressAlign:    0x10
+    Content:         4883EC1848897C2410488B3FE8000000004883C418C3
+  - Name:            .text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
+    AddressAlign:    0x10
+    Content:         4883EC2848897C2408488D7C2408E80000000089442404EB1C488B7C2418E8000000000F0B4889C189D048894C241889442420EBE48B4424044883C428C3
+  - Name:            .gcc_except_table._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x4
+    Content:         FFFF0108090A2500132B0000
+  - Name:            .text._ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
+    AddressAlign:    0x10
+    Content:         4883EC1848897C2410FFD74883C418C3
+  - Name:            '.text._ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE'
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
+    AddressAlign:    0x10
+    Content:         48897C24F8C3
+  - Name:            '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E'
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
+    AddressAlign:    0x10
+    Content:         48897C24D848897C24F048897C24F84883FF000F94C034FFA801750B48C74424E000000000EB14488B4424D848894424E8488B4424E848894424E0488B4424E0C3
+  - Name:            '.text._ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E'
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
+    AddressAlign:    0x10
+    Content:         31C0C3
+  - Name:            .text._ZN4main4main17h7325ffd5ffbc49e1E
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
+    AddressAlign:    0x10
+    Content:         4883EC58488D05000000004889442408C744240407000000C7042400000000C744241463000000C744241001000000C7442430F2F1000048C74424280000000048C744242000000000C7442448F4F3000048C74424400000000048C744243801000000BF39300000E80000000048894424504883C458C3
+  - Name:            .text.main
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
+    AddressAlign:    0x10
+    Content:         504889F2488B05000000008A004863F7488D3D0000000031C9E80000000059C3
+  - Name:            .data.rel.ro..L__unnamed_1
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_WRITE, SHF_ALLOC ]
+    AddressAlign:    0x8
+    Content:         '000000000000000008000000000000000800000000000000000000000000000000000000000000000000000000000000'
+  - Name:            .rodata._ZN4main15CLIKE_DEFAULT_A17hc455996da56e04cdE
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x1
+    Content:         '02'
+  - Name:            .rodata._ZN4main15CLIKE_DEFAULT_B17h363cd69e0cdcbafdE
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x1
+    Content:         0A
+  - Name:            .rodata._ZN4main10CLIKE_U8_A17h9499b0bb03002d62E
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x1
+    Content:         '00'
+  - Name:            .rodata._ZN4main10CLIKE_U8_B17h79128c8c1e712c84E
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x1
+    Content:         '01'
+  - Name:            .rodata._ZN4main10CLIKE_U8_C17h2b694c5f3dd47839E
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x1
+    Content:         '02'
+  - Name:            .rodata._ZN4main11CLIKE_U32_A17h170c70900b005ed8E
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x4
+    Content:         '01000000'
+  - Name:            .rodata._ZN4main11CLIKE_U32_B17hd70ec618637ad315E
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x4
+    Content:         '02000000'
+  - Name:            .rodata._ZN4main11CLIKE_U32_C17h51ec19ef8d1f9972E
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x4
+    Content:         '03000000'
+  - Name:            .rodata._ZN4main18ENUM_WITH_TUPLES_A17h41303a2c8e509adfE
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x8
+    Content:         000D0000000000000000000000000000
+  - Name:            .rodata._ZN4main19ENUM_WITH_TUPLES_AA17h6d79192ff537e3beE
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x8
+    Content:         040D2500000000000000000000000000
+  - Name:            .rodata._ZN4main18ENUM_WITH_TUPLES_B17h67d8b0c484846519E
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x8
+    Content:         '01002500000000000000000000000000'
+  - Name:            .rodata._ZN4main19ENUM_WITH_TUPLES_BB17ha7335cbcf854acc3E
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x8
+    Content:         050025009F1500000000000000000000
+  - Name:            .rodata._ZN4main19ENUM_WITH_TUPLES_BC17h812363a982e748dcE
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x8
+    Content:         0600E8FD888402000000000000000000
+  - Name:            .rodata._ZN4main18ENUM_WITH_TUPLES_C17hacad25cb7d0b3e1eE
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x8
+    Content:         02000000697A00000000000000000000
+  - Name:            .rodata._ZN4main19ENUM_WITH_TUPLES_CC17h0774aa4ce6bfa016E
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x8
+    Content:         07000000697A0000C454010000000000
+  - Name:            .rodata._ZN4main18ENUM_WITH_TUPLES_D17h4731ab88c400dd95E
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x8
+    Content:         03000000000000004EF330A64B9BB601
+  - Name:            .rodata._ZN4main12MIXED_ENUM_A17ha55ef45ea3e427bcE
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x8
+    Content:         '000000000000000000000000000000000000000000000000'
+  - Name:            .rodata._ZN4main12MIXED_ENUM_B17hcf18c7a95921e399E
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x8
+    Content:         0100000000000000F6FFFFFF000000000000000000000000
+  - Name:            .rodata._ZN4main12MIXED_ENUM_C17h5c3d9d01cbf81a21E
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x8
+    Content:         0200000000000000FE00000002FFFFFF0000000000000000
+  - Name:            .rodata._ZN4main17MIXED_ENUM_D_NONE17hcaef0fe0fe217d17E
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x8
+    Content:         '030000000000000000000000000000000000000000000000'
+  - Name:            .rodata._ZN4main17MIXED_ENUM_D_SOME17h798d0887278d0893E
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x8
+    Content:         03000000000000000100000040E201007B00000000000000
+  - Name:            .rodata..L__unnamed_2
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x1
+    Content:         4D
+  - Name:            .data.rel.ro._ZN4main18NICHE_W_FIELDS_1_A17h65eeed3d0325eae0E
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_WRITE, SHF_ALLOC ]
+    AddressAlign:    0x8
+    Content:         '00000000070000000000000000000000'
+  - Name:            .rodata._ZN4main18NICHE_W_FIELDS_1_B17hb659dddb70a08b8bE
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x8
+    Content:         '01000000630000000000000000000000'
+  - Name:            .rodata._ZN4main18NICHE_W_FIELDS_2_A17h66f431dc0236eec2E
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x8
+    Content:         '00000000200300008403000000000000'
+  - Name:            .rodata._ZN4main18NICHE_W_FIELDS_2_B17hc147333272f8c6c6E
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x8
+    Content:         '0100000000000000E803000000000000'
+  - Name:            .rodata._ZN4main18NICHE_W_FIELDS_3_A17h6a085f505e2e34e6E
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x1
+    Content:         '0189'
+  - Name:            .rodata._ZN4main18NICHE_W_FIELDS_3_B17hd64758aabdd1bdccE
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x1
+    Content:         020C
+  - Name:            .rodata._ZN4main18NICHE_W_FIELDS_3_C17h127a1a3167bca956E
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x1
+    Content:         '0300'
+  - Name:            .rodata._ZN4main18NICHE_W_FIELDS_3_D17hbbc9256dbd7ab735E
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x1
+    Content:         '0422'
+  - Name:            .rodata._ZN4main18NICHE_W_FIELDS_3_E17h290f55577c37fd9eE
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x1
+    Content:         '0538'
+  - Name:            .rodata._ZN4main18NICHE_W_FIELDS_3_F17h4e188761c9e19730E
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x1
+    Content:         '0600'
+  - Name:            .rodata._ZN4main16DIRECT_TAG_128_A17hb7cbb90b3722e375E
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x8
+    Content:         '000000000000000000000000000000003930000000000000'
+  - Name:            .rodata._ZN4main16DIRECT_TAG_128_B17hcb0558940d0b3df3E
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x8
+    Content:         01000000000000000000000000000000851A000000000000
+  - Name:            .debug_gdb_scripts
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC, SHF_MERGE, SHF_STRINGS ]
+    AddressAlign:    0x1
+    EntSize:         0x1
+    Content:         016764625F6C6F61645F727573745F7072657474795F7072696E746572732E707900
+  - Name:            .debug_abbrev
+    Type:            SHT_PROGBITS
+    AddressAlign:    0x1
+    Content:         011101250E1305030E10171B0EB44219110155170000023400030E4913021800000313011D13030E0B0B88010F0000040D00030E491388010F380B0000050F004913030E33060000062400030E3E0B0B0B0000073901030E0000081301030E0B0B88010F0000092E011101120640186E0E030E3A0B3B0B491300000A34000218030E88010F3A0B3B0B491300000B1D01311311011206580B590B570B00000C05000218311300000D1D01311311011206580B5905570B00000E34000218311300000F2F004913030E00001005000218030E3A0B3B0B49130000112E011101120640186E0E030E3A0B3B0B0000120B01551700001334000218030E3A0B3B0B49130000141D0131135517580B590B570B0000152E016E0E030E3A0B3B0549133C19000016050049130000172E011101120640186E0E030E3A0B3B054913000018050002183A0B3B05491300001934000218030E3A0B3B05491300001A150000001B3400030E49133A0B3B0B88010F02186E0E00001C040149136D19030E0B0B88010F00001D2800030E1C0F00001E3301151300001F0D00491388010F380B34190000201901160B0000211300030E0B0B88010F00002219010000232E011101120640186E0E030E3A0B3B0B6A190000240B01110112060000252E016E0E030E3A0B3B05200B0000263400030E3A0B3B054913000027050002183A0B3B0B49130000282E011101120640186E0E030E3A0B3B050000292E016E0E030E3A0B3B0B4913200B00002A0500030E3A0B3B0B491300002B2E016E0E030E3A0B3B0B49133C1900002C2E014713200B00002D3400030E88010F3A0B3B05491300002E0500030E3A0B3B05491300002F2E011101120640184713000000
+  - Name:            .debug_info
+    Type:            SHT_PROGBITS
+    AddressAlign:    0x1
+    Content:         C50F00000400000000000801000000001C0000000000000000000000000000000000000000000000000002000000003D0000000903000000000000000003B500000000000000300804000000008B000000080004000000009F000000080804000000009F000000081004000000008B000000081804000000008B000000082004000000008B000000082800059800000000000000000000000600000000070006000000000708070000000007000000000700000000080000000008080400000000BA0200000800000900000000000000002B0000000157000000000000000004A6A40B00000A03910006000000000104A0BA0200000BC30E000000000000000000000300000004A65C0C02910FC90E00000DA20E0000000000000000000003000000065907100E029110A80E000000000F980000000000000000000900000000000000004C00000001570000000000000000049F9A0F0000100291100000000004A0BA020000100291180000000004A19A0F0000100291200000000004A2A10F00001002912F0000000004A3880B00000F98000000000000000000070000000007000000001100000000000000001300000001570000000000000000028310029108000000000283BA0200001200000000130291100000000002879800000014950C000000000000028A050E029100AB0C000000000FBA020000000000000F98000000000000000000000700000000070000000007000000000700000000080000000001010400000000880B00000100150000000000000000055102A40B000016950E000000000000000007000000000800000000010104000000001E0200000100150000000000000000065807A40B0000165002000000000700000000170000000000000000030000000157000000000000000006C408500200001802917806C40898000000190291700000000006C408980000000000000005C702000000000000000000001A07000000001B00000000E7020000016B0109030000000000000000000000001C880B00000000000001011D00000000021D000000000A001B00000000E7020000016C0109030000000000000000000000001B0000000033030000016E0109030000000000000000000000001C880B00000000000001011D00000000001D00000000011D0000000002001B0000000033030000016F0109030000000000000000000000001B000000003303000001700109030000000000000000000000001B000000009F03000001720409030000000000000000000000001C8F0B00000000000004041D00000000011D00000000021D0000000003001B000000009F03000001730409030000000000000000000000001B000000009F03000001740409030000000000000000000000001B000000000B0400000176080903000000000000000000000000080000000010081E170400001F880B00000100200004000000008F04000008000020010400000000A204000008000020020400000000B504000008000020030400000000C804000008000020040400000000DB04000008000020050400000000F90400000800002006040000000017050000080000200704000000003505000008000000080000000010080400000000880B0000010100080000000010080400000000960B00000202000800000000100804000000008F0B00000404000800000000100804000000009F000000080800080000000010080400000000880B000001010400000000880B0000010200080000000010080400000000960B000002020400000000960B0000020400080000000010080400000000960B0000020204000000008F0B00000404000800000000100804000000008F0B0000040404000000008F0B0000040800001B000000000B04000001770809030000000000000000000000001B000000000B04000001780809030000000000000000000000001B000000000B04000001790809030000000000000000000000001B000000000B040000017A0809030000000000000000000000001B000000000B040000017B0809030000000000000000000000001B000000000B040000017C0809030000000000000000000000001B000000000B040000017D0809030000000000000000000000001B0000000024060000017F080903000000000000000000000000080000000018081E300600001F9D0B00000800200004000000007E0600000800002001040000000085060000080000200204000000009806000008000020030400000000B606000008000020040400000000C90600000800000021000000001808080000000018080400000000A40B0000040800080000000018080400000000880B000001080400000000A40B0000040C00080000000018080400000000B50B00000408000800000000180804000000000E070000040800000800000000080404000000008F0B000004000400000000FB060000040400080000000004040400000000A40B000004000008000000000C041E1A0700001F8F0B00000400200004000000003E07000004000020010400000000510700000400000008000000000C040400000000FB06000004040008000000000C040400000000DD060000040400001B000000002406000001800809030000000000000000000000001B000000002406000001810809030000000000000000000000001B000000002406000001820809030000000000000000000000001B000000002406000001830809030000000000000000000000001B00000000E70700000188080903000000000000000000000000080000000010081EF30700001F8F0B0000040020000400000000170800000800002001040000000035080000080000000800000000100804000000007A0E0000080804000000008F0B00000404000800000000100804000000008F0B0000040400001B00000000E707000001890809030000000000000000000000001B000000007D080000018A080903000000000000000000000000080000000010081E890800001F8F0B0000040020000400000000AD08000008000020010400000000CB080000080000000800000000100804000000007B0C0000040404000000009D0B00000808000800000000100804000000009D0B0000080800001B000000007D080000018C0809030000000000000000000000001B0000000013090000018D010903000000000000000000000000080000000002011E1F0900001F880B000001002204000000007A090000010000200204000000009809000001000020030400000000AB09000001000020040400000000BE09000001000020050400000000D109000001000020060400000000E409000001000000080000000002010400000000880B000001010400000000870E0000010000080000000002010400000000880B0000010100080000000002010400000000870E0000010100080000000002010400000000880B0000010100080000000002010400000000880B000001010021000000000201001B0000000013090000018E0109030000000000000000000000001B0000000013090000018F0109030000000000000000000000001B000000001309000001900109030000000000000000000000001B000000001309000001910109030000000000000000000000001B000000001309000001920109030000000000000000000000001B00000000880A00000194080903000000000000000000000000080000000018081E940A00001F8E0E0000080020000400000000B80A000008000020010400000000CB0A0000080000000800000000180804000000008F0B00000410000800000000180804000000008F0B0000041000001B00000000880A0000019508090300000000000000000000000023000000000000000077000000015700000000000000000197240000000000000000530000000A02910000000000010198E7070000240000000000000000430000000A02911000000000010199E7070000240000000000000000290000000A0291200000000001019A880A00002400000000000000000F0000000A0291380000000001019B880A000000000000000006000000000701060000000007040600000000070206000000000708060000000005040700000000070000000008000000000C041EC10B00001F8F0B0000040020000400000000E50B000004000020010400000000F60B00000400000008000000000C040FDD060000000000000008000000000C040FDD060000000000000400000000DD06000004040000080000000008081E1F0C00001F9D0B0000080020000400000000420C0000080000220400000000530C000008000000080000000008080F1F0E00000000000000080000000008080F1F0E00000000000004000000001F0E00000800000000070000000007000000000800000000040404000000008F0B000004000000000700000000250000000000000000032401010F98000000000000002600000000032401980000000000070000000007000000000700000000090000000000000000160000000157000000000000000007FAA40B00002702911007FABB0F00002702910807FA980000000FB5000000000000000F9800000000000000000900000000000000003E0000000157000000000000000007FAA40B00002702910807FAB50000002702911007FA980000000FB5000000000000000F980000000000000000110000000000000000100000000157000000000000000007FA2702911007FABA0200002702910807FA980000000FBA020000000000000F9800000000000000000000000700000000280000000000000000060000000157000000000000000008F1011802917808F101BB0F00000FB50000000000000000070000000007000000002900000000000000000A22870E0000010F9D0B0000000000002A000000000A22D60E00000007000000002900000000000000000A24870E0000012A000000000A24E30E0000000000000700000000080000000008080F9D0B0000000000000400000000F00E000008002B000000000000000009C51F0E00000F9D0B00000000000016D60E0000002B000000000000000009DE130C00000F9D0B00000000000016D60E0000000000000005880B000000000000000000000600000000020106000000000510051E02000000000000000000002C30020000012D0000000001055102B60E000000051E02000000000000000000002C62020000012E000000000658075002000000059D0B0000000000000000000005880B00000000000000000000059D0B000000000000000000002C3A0E0000010F9D0B0000000000002A0000000009C5D60E0000002F0000000000000000410000000157580E0000100291700000000009DED60E00000BD10D000000000000000000000C00000009DF110C029170EA0D00000BFB0D00000000000000000000070000000A33120C0291780B0E000000000BFD0E000000000000000000000500000009E11B0C0291700C0F0000000F9D0B000000000000000600000000050805AE0F0000000000000000000005880B0000000000000000000005B5000000000000000000000000
+  - Name:            .debug_pubnames
+    Type:            SHT_PROGBITS
+    AddressAlign:    0x1
+    Content:         B1050000020000000000C90F0000A00100006261636B747261636500B30700004D495845445F454E554D5F445F534F4D4500A600000073746400C70D00006D75745F70747200B00000006C616E675F737461727400D10D000069735F6E756C6C3C7536343E00B90C00006F707300790200007B696D706C2335337D00F60D000069735F6E756C6C00B00B00006F7074696F6E0085030000434C494B455F5533325F4100BD030000434C494B455F5533325F4200D7030000434C494B455F5533325F4300CD0700004E494348455F575F4649454C44535F315F4100490800004E494348455F575F4649454C44535F315F4200AB000000727400EC0900004E494348455F575F4649454C44535F335F4200200A00004E494348455F575F4649454C44535F335F44003A0A00004E494348455F575F4649454C44535F335F4500540A00004E494348455F575F4649454C44535F335F4600760C00006E6F6E7A65726F002A0000003C7374643A3A72743A3A6C616E675F73746172743A3A7B636C6F737572655F656E7623307D3C28293E20617320636F72653A3A6F70733A3A66756E6374696F6E3A3A466E3C28293E3E3A3A7B767461626C657D0054050000454E554D5F574954485F5455504C45535F4141007F0700004D495845445F454E554D5F4300650700004D495845445F454E554D5F4200950C0000626C61636B5F626F783C28293E000A0600004D495845445F454E554D5F4100DF0A00004449524543545F5441475F3132385F4200900C000068696E7400F90800004E494348455F575F4649454C44535F335F4100FB0D000072756E74696D655F696D706C00AA03000056617269616E744100B003000056617269616E744200B603000056617269616E7443006E0A00004449524543545F5441475F3132385F4100060A00004E494348455F575F4649454C44535F335F4300990700004D495845445F454E554D5F445F4E4F4E4500CC0D00007B696D706C23307D000A02000073797300F20200004100F802000042001902000070726F636573735F636F6D6D6F6E000F020000756E697800BE0C000066756E6374696F6E00AB0B0000636F7265000C0D000063616C6C5F6F6E63653C7374643A3A72743A3A6C616E675F73746172743A3A7B636C6F737572655F656E7623307D3C28293E2C2028293E00500D000063616C6C5F6F6E63653C666E28292C2028293E00CD020000434C494B455F44454641554C545F4100FF020000434C494B455F44454641554C545F420088050000454E554D5F574954485F5455504C45535F424200A2050000454E554D5F574954485F5455504C45535F424300C30E0000746F5F693332001A0E00006E6F6E5F6E756C6C0019030000434C494B455F55385F410051030000434C494B455F55385F42006B030000434C494B455F55385F4300930D0000707472007E0200007265706F727400980D000064726F705F696E5F706C6163653C7374643A3A72743A3A6C616E675F73746172743A3A7B636C6F737572655F656E7623307D3C28293E3E00A20E000061735F69333200180F00006E65773C7536343E00630800004E494348455F575F4649454C44535F325F4100F90A00006D61696E00DF0800004E494348455F575F4649454C44535F325F42009B0100007379735F636F6D6D6F6E00F1030000454E554D5F574954485F5455504C45535F41006E050000454E554D5F574954485F5455504C45535F4200BC050000454E554D5F574954485F5455504C45535F4300F0050000454E554D5F574954485F5455504C45535F4400710C00006E756D00D6050000454E554D5F574954485F5455504C45535F434300FD0E00006E65775F756E636865636B65643C7536343E00C80000007B636C6F7375726523307D3C28293E00C30C0000466E4F6E636500A50100005F5F727573745F626567696E5F73686F72745F6261636B74726163653C666E28292C2028293E003B0100006C616E675F73746172743C28293E004B02000070726F636573730000000000
+  - Name:            .debug_pubtypes
+    Type:            SHT_PROGBITS
+    AddressAlign:    0x1
+    Content:         47030000020000000000C90F000033030000434C696B65456E756D526570725538009A0F00006973697A65000E070000456E756D576974685374727563747300240600004D69786564456E756D00880B0000753800B60E00002A6D7574207374643A3A7379733A3A756E69783A3A70726F636573733A3A70726F636573735F636F6D6D6F6E3A3A45786974436F646500870E0000626F6F6C009F0000007573697A650098000000282900880A000044697265637454616731323800E30E00002A6D757420753800130C00004F7074696F6E3C636F72653A3A7074723A3A6E6F6E5F6E756C6C3A3A4E6F6E4E756C6C3C7536343E3E00FB0600005374727563743100DD0600005374727563743200BB0F00002A6D7574207374643A3A72743A3A6C616E675F73746172743A3A7B636C6F737572655F656E7623307D3C28293E00A10F00002A636F6E7374202A636F6E737420753800F00E00002A636F6E73742075363400AE0F00002A636F6E7374207538009D0B000075363400D60E00002A6D757420753634001F0E00004E6F6E4E756C6C3C7536343E008B0000002A636F6E737420282900E7020000434C696B65456E756D44656661756C7400B50B00004F7074696F6E3C6D61696E3A3A537472756374323E00BA020000666E2829007B0C00004E6F6E5A65726F553332008E0E00006931323800E70700004E696368654C61796F7574576974684669656C647331007D0800004E696368654C61796F7574576974684669656C64733200130900004E696368654C61796F7574576974684669656C647333003D0000003C7374643A3A72743A3A6C616E675F73746172743A3A7B636C6F737572655F656E7623307D3C28293E20617320636F72653A3A6F70733A3A66756E6374696F6E3A3A466E3C28293E3E3A3A7B767461626C655F747970657D000B040000456E756D576974685475706C657300A40B0000693332009F030000434C696B65456E756D52657072553332007A0E000026753800950E0000267374643A3A7379733A3A756E69783A3A70726F636573733A3A70726F636573735F636F6D6D6F6E3A3A45786974436F6465005002000045786974436F6465008F0B000075333200B50000007B636C6F737572655F656E7623307D3C28293E00960B00007531360000000000
+  - Name:            .data.DW.ref.rust_eh_personality
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_WRITE, SHF_ALLOC, SHF_GROUP ]
+    AddressAlign:    0x8
+    Content:         '0000000000000000'
+  - Name:            .note.GNU-stack
+    Type:            SHT_PROGBITS
+    AddressAlign:    0x1
+  - Name:            .eh_frame
+    Type:            SHT_X86_64_UNWIND
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x8
+    Content:         1400000000000000017A5200017810011B0C070890010000140000001C000000000000001300000000440E204E0E08001400000034000000000000004C00000000440E4002470E08140000004C000000000000002B00000000440E20660E08001400000064000000000000001600000000440E20510E0800140000007C000000000000001000000000440E204B0E0800100000009400000000000000060000000000000010000000A800000000000000410000000000000010000000BC00000000000000030000000000000014000000D0000000000000007700000000440E6002720E0814000000E8000000000000002000000000410E105E0E08001C00000000000000017A504C5200017810079B000000001B1B0C0708900100001800000024000000000000003E0000000400000000440E30790E0800
+  - Name:            .debug_line
+    Type:            SHT_PROGBITS
+    AddressAlign:    0x1
+    Content:         E0030000040047020000010101FB0E0D000101010100000001000001737263002F72757374632F646136623535636335656166373665643661636237646332663764363131653332616637633961372F6C6962726172792F7374642F7372632F7379735F636F6D6D6F6E002F72757374632F646136623535636335656166373665643661636237646332663764363131653332616637633961372F6C6962726172792F636F72652F737263002F72757374632F646136623535636335656166373665643661636237646332663764363131653332616637633961372F6C6962726172792F7374642F737263002F72757374632F646136623535636335656166373665643661636237646332663764363131653332616637633961372F6C6962726172792F7374642F7372632F7379732F756E69782F70726F63657373002F72757374632F646136623535636335656166373665643661636237646332663764363131653332616637633961372F6C6962726172792F636F72652F7372632F6F7073002F72757374632F646136623535636335656166373665643661636237646332663764363131653332616637633961372F6C6962726172792F636F72652F7372632F70747200006D61696E2E7273000100006261636B74726163652E72730002000068696E742E72730003000072742E72730004000070726F636573735F636F6D6D6F6E2E72730005000070726F636573732E72730004000066756E6374696F6E2E7273000600006D6F642E7273000700006E6F6E5F6E756C6C2E7273000700006D75745F7074722E7273000700000004020009020000000000000000038201010403051B0A03A1014A0402051203E37E5804030505039E0158040205020B03E87E01020500010104040009020000000000000000039E0101050A0A08DD051157050C0608900502060B9702050001010404000902000000000000000003A50101054D0A820512063C040505090603AC030874040405640B03D47C3C02050001010407000902000000000000000003F9010105050A90060B8202050001010407000902000000000000000003F9010105050AD60603867E08660B03FA01083C02050001010407000902000000000000000003F9010105050A90060B2E02050001010408000902000000000000000003F0030105010A5802010001010409000902000000000000000003DD0101040A05250A03D57E9E050D0372580409050C03BA0174050D6A05098C0603A17E2E050D0603C901580318580506A202060001010406000902000000000000000003C3110105060A14020300010100090200000000000000000396010105360A4B089F052AF308910514089305099D05020B5C0205000101
+  - Name:            .group
+    Type:            SHT_GROUP
+    Link:            .symtab
+    AddressAlign:    0x4
+    Info:            DW.ref.rust_eh_personality
+    Members:
+      - SectionOrType:   GRP_COMDAT
+      - SectionOrType:   .data.DW.ref.rust_eh_personality
+      - SectionOrType:   .rela.data.DW.ref.rust_eh_personality
+  - Name:            .rela.text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE
+    Type:            SHT_RELA
+    Flags:           [ SHF_INFO_LINK ]
+    Link:            .symtab
+    AddressAlign:    0x8
+    Info:            .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE
+    Relocations:
+      - Offset:          0xA
+        Symbol:          .text._ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E
+        Type:            R_X86_64_PLT32
+        Addend:          -4
+  - Name:            .rela.text._ZN3std2rt10lang_start17h2b298beff3390667E
+    Type:            SHT_RELA
+    Flags:           [ SHF_INFO_LINK ]
+    Link:            .symtab
+    AddressAlign:    0x8
+    Info:            .text._ZN3std2rt10lang_start17h2b298beff3390667E
+    Relocations:
+      - Offset:          0x2C
+        Symbol:          .data.rel.ro..L__unnamed_1
+        Type:            R_X86_64_PC32
+        Addend:          -4
+      - Offset:          0x36
+        Symbol:          _ZN3std2rt19lang_start_internal17h53e91f0c64cf90ebE
+        Type:            R_X86_64_GOTPCREL
+        Addend:          -4
+  - Name:            '.rela.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE'
+    Type:            SHT_RELA
+    Flags:           [ SHF_INFO_LINK ]
+    Link:            .symtab
+    AddressAlign:    0x8
+    Info:            '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE'
+    Relocations:
+      - Offset:          0xC
+        Symbol:          .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE
+        Type:            R_X86_64_PLT32
+        Addend:          -4
+      - Offset:          0x11
+        Symbol:          '.text._ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E'
+        Type:            R_X86_64_PLT32
+        Addend:          -4
+  - Name:            '.rela.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE'
+    Type:            SHT_RELA
+    Flags:           [ SHF_INFO_LINK ]
+    Link:            .symtab
+    AddressAlign:    0x8
+    Info:            '.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE'
+    Relocations:
+      - Offset:          0xD
+        Symbol:          .text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE
+        Type:            R_X86_64_PLT32
+        Addend:          -4
+  - Name:            .rela.text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE
+    Type:            SHT_RELA
+    Flags:           [ SHF_INFO_LINK ]
+    Link:            .symtab
+    AddressAlign:    0x8
+    Info:            .text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE
+    Relocations:
+      - Offset:          0xF
+        Symbol:          '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE'
+        Type:            R_X86_64_PLT32
+        Addend:          -4
+      - Offset:          0x1F
+        Symbol:          _Unwind_Resume
+        Type:            R_X86_64_PLT32
+        Addend:          -4
+  - Name:            .rela.text._ZN4main4main17h7325ffd5ffbc49e1E
+    Type:            SHT_RELA
+    Flags:           [ SHF_INFO_LINK ]
+    Link:            .symtab
+    AddressAlign:    0x8
+    Info:            .text._ZN4main4main17h7325ffd5ffbc49e1E
+    Relocations:
+      - Offset:          0x7
+        Symbol:          .rodata..L__unnamed_2
+        Type:            R_X86_64_PC32
+        Addend:          -4
+      - Offset:          0x69
+        Symbol:          '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E'
+        Type:            R_X86_64_PLT32
+        Addend:          -4
+  - Name:            .rela.text.main
+    Type:            SHT_RELA
+    Flags:           [ SHF_INFO_LINK ]
+    Link:            .symtab
+    AddressAlign:    0x8
+    Info:            .text.main
+    Relocations:
+      - Offset:          0x7
+        Symbol:          __rustc_debug_gdb_scripts_section__
+        Type:            R_X86_64_GOTPCREL
+        Addend:          -4
+      - Offset:          0x13
+        Symbol:          .text._ZN4main4main17h7325ffd5ffbc49e1E
+        Type:            R_X86_64_PC32
+        Addend:          -4
+      - Offset:          0x1A
+        Symbol:          _ZN3std2rt10lang_start17h2b298beff3390667E
+        Type:            R_X86_64_PLT32
+        Addend:          -4
+  - Name:            .rela.data.rel.ro..L__unnamed_1
+    Type:            SHT_RELA
+    Flags:           [ SHF_INFO_LINK ]
+    Link:            .symtab
+    AddressAlign:    0x8
+    Info:            .data.rel.ro..L__unnamed_1
+    Relocations:
+      - Symbol:          '.text._ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE'
+        Type:            R_X86_64_64
+      - Offset:          0x18
+        Symbol:          '.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE'
+        Type:            R_X86_64_64
+      - Offset:          0x20
+        Symbol:          '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE'
+        Type:            R_X86_64_64
+      - Offset:          0x28
+        Symbol:          '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE'
+        Type:            R_X86_64_64
+  - Name:            .rela.data.rel.ro._ZN4main18NICHE_W_FIELDS_1_A17h65eeed3d0325eae0E
+    Type:            SHT_RELA
+    Flags:           [ SHF_INFO_LINK ]
+    Link:            .symtab
+    AddressAlign:    0x8
+    Info:            .data.rel.ro._ZN4main18NICHE_W_FIELDS_1_A17h65eeed3d0325eae0E
+    Relocations:
+      - Offset:          0x8
+        Symbol:          .rodata..L__unnamed_2
+        Type:            R_X86_64_64
+  - Name:            .rela.debug_info
+    Type:            SHT_RELA
+    Flags:           [ SHF_INFO_LINK ]
+    Link:            .symtab
+    AddressAlign:    0x8
+    Info:            .debug_info
+    Relocations:
+      - Offset:          0x6
+        Symbol:          .debug_abbrev
+        Type:            R_X86_64_32
+      - Offset:          0xC
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+      - Offset:          0x12
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          65
+      - Offset:          0x16
+        Symbol:          .debug_line
+        Type:            R_X86_64_32
+      - Offset:          0x1A
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          107
+      - Offset:          0x26
+        Symbol:          .debug_ranges
+        Type:            R_X86_64_32
+        Addend:          96
+      - Offset:          0x2B
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          138
+      - Offset:          0x35
+        Symbol:          .data.rel.ro..L__unnamed_1
+        Type:            R_X86_64_64
+      - Offset:          0x42
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          344
+      - Offset:          0x49
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          222
+      - Offset:          0x54
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          249
+      - Offset:          0x5F
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          260
+      - Offset:          0x6A
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          266
+      - Offset:          0x75
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          276
+      - Offset:          0x80
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          286
+      - Offset:          0x90
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          239
+      - Offset:          0x99
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          236
+      - Offset:          0xA0
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          254
+      - Offset:          0xA7
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          296
+      - Offset:          0xAC
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          300
+      - Offset:          0xB1
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          303
+      - Offset:          0xB6
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          324
+      - Offset:          0xBD
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          314
+      - Offset:          0xC9
+        Symbol:          '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE'
+        Type:            R_X86_64_64
+      - Offset:          0xD7
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3995
+      - Offset:          0xDB
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4068
+      - Offset:          0xEA
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          314
+      - Offset:          0xFA
+        Symbol:          '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE'
+        Type:            R_X86_64_64
+        Addend:          35
+      - Offset:          0x116
+        Symbol:          '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE'
+        Type:            R_X86_64_64
+        Addend:          35
+      - Offset:          0x135
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1624
+      - Offset:          0x13C
+        Symbol:          .text._ZN3std2rt10lang_start17h2b298beff3390667E
+        Type:            R_X86_64_64
+      - Offset:          0x14A
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3931
+      - Offset:          0x14E
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3974
+      - Offset:          0x15C
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          314
+      - Offset:          0x16A
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4692
+      - Offset:          0x178
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4697
+      - Offset:          0x186
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4729
+      - Offset:          0x195
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1624
+      - Offset:          0x19C
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2966
+      - Offset:          0x1A1
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2977
+      - Offset:          0x1A6
+        Symbol:          .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE
+        Type:            R_X86_64_64
+      - Offset:          0x1B4
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3812
+      - Offset:          0x1B8
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3892
+      - Offset:          0x1C2
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4683
+      - Offset:          0x1CD
+        Symbol:          .debug_ranges
+        Type:            R_X86_64_32
+      - Offset:          0x1D5
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4685
+      - Offset:          0x1E4
+        Symbol:          .debug_ranges
+        Type:            R_X86_64_32
+        Addend:          48
+      - Offset:          0x1FA
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2337
+      - Offset:          0x203
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1624
+      - Offset:          0x20B
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2987
+      - Offset:          0x210
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2991
+      - Offset:          0x215
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2996
+      - Offset:          0x21A
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3004
+      - Offset:          0x21F
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3019
+      - Offset:          0x226
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0x231
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3028
+      - Offset:          0x235
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3105
+      - Offset:          0x24C
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2996
+      - Offset:          0x251
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3019
+      - Offset:          0x258
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0x263
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3223
+      - Offset:          0x267
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3275
+      - Offset:          0x27A
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3802
+      - Offset:          0x27F
+        Symbol:          '.text._ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E'
+        Type:            R_X86_64_64
+      - Offset:          0x28D
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4555
+      - Offset:          0x291
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4642
+      - Offset:          0x2AB
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3163
+      - Offset:          0x2BF
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          319
+      - Offset:          0x2C9
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          314
+      - Offset:          0x2CE
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          433
+      - Offset:          0x2DB
+        Symbol:          .rodata._ZN4main15CLIKE_DEFAULT_A17hc455996da56e04cdE
+        Type:            R_X86_64_64
+      - Offset:          0x2E3
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          473
+      - Offset:          0x2EC
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          456
+      - Offset:          0x2F3
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          452
+      - Offset:          0x2F9
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          454
+      - Offset:          0x300
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          519
+      - Offset:          0x30D
+        Symbol:          .rodata._ZN4main15CLIKE_DEFAULT_B17h363cd69e0cdcbafdE
+        Type:            R_X86_64_64
+      - Offset:          0x315
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          535
+      - Offset:          0x31A
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          581
+      - Offset:          0x327
+        Symbol:          .rodata._ZN4main10CLIKE_U8_A17h9499b0bb03002d62E
+        Type:            R_X86_64_64
+      - Offset:          0x32F
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          635
+      - Offset:          0x338
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          619
+      - Offset:          0x33F
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          592
+      - Offset:          0x345
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          601
+      - Offset:          0x34B
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          610
+      - Offset:          0x352
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          676
+      - Offset:          0x35F
+        Symbol:          .rodata._ZN4main10CLIKE_U8_B17h79128c8c1e712c84E
+        Type:            R_X86_64_64
+      - Offset:          0x367
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          687
+      - Offset:          0x36C
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          728
+      - Offset:          0x379
+        Symbol:          .rodata._ZN4main10CLIKE_U8_C17h2b694c5f3dd47839E
+        Type:            R_X86_64_64
+      - Offset:          0x381
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          739
+      - Offset:          0x386
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          780
+      - Offset:          0x393
+        Symbol:          .rodata._ZN4main11CLIKE_U32_A17h170c70900b005ed8E
+        Type:            R_X86_64_64
+      - Offset:          0x39B
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          813
+      - Offset:          0x3A4
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          796
+      - Offset:          0x3AB
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          592
+      - Offset:          0x3B1
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          601
+      - Offset:          0x3B7
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          610
+      - Offset:          0x3BE
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          855
+      - Offset:          0x3CB
+        Symbol:          .rodata._ZN4main11CLIKE_U32_B17hd70ec618637ad315E
+        Type:            R_X86_64_64
+      - Offset:          0x3D3
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          867
+      - Offset:          0x3D8
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          909
+      - Offset:          0x3E5
+        Symbol:          .rodata._ZN4main11CLIKE_U32_C17h51ec19ef8d1f9972E
+        Type:            R_X86_64_64
+      - Offset:          0x3ED
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          921
+      - Offset:          0x3F2
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          963
+      - Offset:          0x3FF
+        Symbol:          .rodata._ZN4main18ENUM_WITH_TUPLES_A17h41303a2c8e509adfE
+        Type:            R_X86_64_64
+      - Offset:          0x407
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1025
+      - Offset:          0x40C
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1010
+      - Offset:          0x421
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          452
+      - Offset:          0x42F
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          454
+      - Offset:          0x43D
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          990
+      - Offset:          0x44B
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          992
+      - Offset:          0x459
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          994
+      - Offset:          0x467
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1001
+      - Offset:          0x475
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1004
+      - Offset:          0x483
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1007
+      - Offset:          0x490
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          452
+      - Offset:          0x497
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0x4A3
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          454
+      - Offset:          0x4AA
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0x4B6
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          990
+      - Offset:          0x4BD
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0x4C9
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          992
+      - Offset:          0x4D0
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0x4DC
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          994
+      - Offset:          0x4E3
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0x4EE
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          997
+      - Offset:          0x4FA
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1001
+      - Offset:          0x501
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0x50C
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          997
+      - Offset:          0x518
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1004
+      - Offset:          0x51F
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0x52A
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          997
+      - Offset:          0x536
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1007
+      - Offset:          0x53D
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0x548
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          997
+      - Offset:          0x555
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1074
+      - Offset:          0x562
+        Symbol:          .rodata._ZN4main19ENUM_WITH_TUPLES_AA17h6d79192ff537e3beE
+        Type:            R_X86_64_64
+      - Offset:          0x56A
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1094
+      - Offset:          0x56F
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1144
+      - Offset:          0x57C
+        Symbol:          .rodata._ZN4main18ENUM_WITH_TUPLES_B17h67d8b0c484846519E
+        Type:            R_X86_64_64
+      - Offset:          0x584
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1163
+      - Offset:          0x589
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1212
+      - Offset:          0x596
+        Symbol:          .rodata._ZN4main19ENUM_WITH_TUPLES_BB17ha7335cbcf854acc3E
+        Type:            R_X86_64_64
+      - Offset:          0x59E
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1232
+      - Offset:          0x5A3
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1282
+      - Offset:          0x5B0
+        Symbol:          .rodata._ZN4main19ENUM_WITH_TUPLES_BC17h812363a982e748dcE
+        Type:            R_X86_64_64
+      - Offset:          0x5B8
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1302
+      - Offset:          0x5BD
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1352
+      - Offset:          0x5CA
+        Symbol:          .rodata._ZN4main18ENUM_WITH_TUPLES_C17hacad25cb7d0b3e1eE
+        Type:            R_X86_64_64
+      - Offset:          0x5D2
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1371
+      - Offset:          0x5D7
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1420
+      - Offset:          0x5E4
+        Symbol:          .rodata._ZN4main19ENUM_WITH_TUPLES_CC17h0774aa4ce6bfa016E
+        Type:            R_X86_64_64
+      - Offset:          0x5EC
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1440
+      - Offset:          0x5F1
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1490
+      - Offset:          0x5FE
+        Symbol:          .rodata._ZN4main18ENUM_WITH_TUPLES_D17h4731ab88c400dd95E
+        Type:            R_X86_64_64
+      - Offset:          0x606
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1509
+      - Offset:          0x60B
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1558
+      - Offset:          0x618
+        Symbol:          .rodata._ZN4main12MIXED_ENUM_A17ha55ef45ea3e427bcE
+        Type:            R_X86_64_64
+      - Offset:          0x620
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1681
+      - Offset:          0x625
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1671
+      - Offset:          0x63A
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          452
+      - Offset:          0x648
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          454
+      - Offset:          0x656
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          990
+      - Offset:          0x664
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          992
+      - Offset:          0x672
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1653
+      - Offset:          0x67F
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          452
+      - Offset:          0x686
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          454
+      - Offset:          0x68D
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0x699
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          990
+      - Offset:          0x6A0
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0x6AB
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          997
+      - Offset:          0x6B7
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          992
+      - Offset:          0x6BE
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0x6CA
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1653
+      - Offset:          0x6D1
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0x6DE
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1616
+      - Offset:          0x6E5
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1596
+      - Offset:          0x6F0
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1602
+      - Offset:          0x6FC
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1608
+      - Offset:          0x703
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1596
+      - Offset:          0x70F
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1655
+      - Offset:          0x724
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          452
+      - Offset:          0x732
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          454
+      - Offset:          0x73F
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          452
+      - Offset:          0x746
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0x752
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          454
+      - Offset:          0x759
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0x766
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1724
+      - Offset:          0x773
+        Symbol:          .rodata._ZN4main12MIXED_ENUM_B17hcf18c7a95921e399E
+        Type:            R_X86_64_64
+      - Offset:          0x77B
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1737
+      - Offset:          0x780
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1780
+      - Offset:          0x78D
+        Symbol:          .rodata._ZN4main12MIXED_ENUM_C17h5c3d9d01cbf81a21E
+        Type:            R_X86_64_64
+      - Offset:          0x795
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1793
+      - Offset:          0x79A
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1836
+      - Offset:          0x7A7
+        Symbol:          .rodata._ZN4main17MIXED_ENUM_D_NONE17hcaef0fe0fe217d17E
+        Type:            R_X86_64_64
+      - Offset:          0x7AF
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1854
+      - Offset:          0x7B4
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1902
+      - Offset:          0x7C1
+        Symbol:          .rodata._ZN4main17MIXED_ENUM_D_SOME17h798d0887278d0893E
+        Type:            R_X86_64_64
+      - Offset:          0x7C9
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1920
+      - Offset:          0x7CE
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1968
+      - Offset:          0x7DB
+        Symbol:          .data.rel.ro._ZN4main18NICHE_W_FIELDS_1_A17h65eeed3d0325eae0E
+        Type:            R_X86_64_64
+      - Offset:          0x7E3
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2014
+      - Offset:          0x7E8
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1991
+      - Offset:          0x7FD
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          452
+      - Offset:          0x80B
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          454
+      - Offset:          0x818
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          452
+      - Offset:          0x81F
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0x82A
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          997
+      - Offset:          0x836
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          454
+      - Offset:          0x83D
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0x84A
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2063
+      - Offset:          0x857
+        Symbol:          .rodata._ZN4main18NICHE_W_FIELDS_1_B17hb659dddb70a08b8bE
+        Type:            R_X86_64_64
+      - Offset:          0x85F
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2082
+      - Offset:          0x864
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2131
+      - Offset:          0x871
+        Symbol:          .rodata._ZN4main18NICHE_W_FIELDS_2_A17h66f431dc0236eec2E
+        Type:            R_X86_64_64
+      - Offset:          0x879
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2196
+      - Offset:          0x87E
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2173
+      - Offset:          0x893
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          452
+      - Offset:          0x8A1
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          454
+      - Offset:          0x8AE
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          452
+      - Offset:          0x8B5
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0x8C0
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          997
+      - Offset:          0x8CC
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          454
+      - Offset:          0x8D3
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0x8E0
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2245
+      - Offset:          0x8ED
+        Symbol:          .rodata._ZN4main18NICHE_W_FIELDS_2_B17hc147333272f8c6c6E
+        Type:            R_X86_64_64
+      - Offset:          0x8F5
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2264
+      - Offset:          0x8FA
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2313
+      - Offset:          0x907
+        Symbol:          .rodata._ZN4main18NICHE_W_FIELDS_3_A17h6a085f505e2e34e6E
+        Type:            R_X86_64_64
+      - Offset:          0x90F
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2362
+      - Offset:          0x914
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2339
+      - Offset:          0x928
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          452
+      - Offset:          0x936
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          454
+      - Offset:          0x944
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          990
+      - Offset:          0x952
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          992
+      - Offset:          0x960
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1653
+      - Offset:          0x96E
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2337
+      - Offset:          0x97B
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          452
+      - Offset:          0x982
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0x98D
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          997
+      - Offset:          0x999
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          454
+      - Offset:          0x9A0
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0x9AC
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          990
+      - Offset:          0x9B3
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0x9BF
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          992
+      - Offset:          0x9C6
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0x9D2
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1653
+      - Offset:          0x9D9
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0x9E5
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2337
+      - Offset:          0x9ED
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2411
+      - Offset:          0x9FA
+        Symbol:          .rodata._ZN4main18NICHE_W_FIELDS_3_B17hd64758aabdd1bdccE
+        Type:            R_X86_64_64
+      - Offset:          0xA02
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2430
+      - Offset:          0xA07
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2479
+      - Offset:          0xA14
+        Symbol:          .rodata._ZN4main18NICHE_W_FIELDS_3_C17h127a1a3167bca956E
+        Type:            R_X86_64_64
+      - Offset:          0xA1C
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2498
+      - Offset:          0xA21
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2547
+      - Offset:          0xA2E
+        Symbol:          .rodata._ZN4main18NICHE_W_FIELDS_3_D17hbbc9256dbd7ab735E
+        Type:            R_X86_64_64
+      - Offset:          0xA36
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2566
+      - Offset:          0xA3B
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2615
+      - Offset:          0xA48
+        Symbol:          .rodata._ZN4main18NICHE_W_FIELDS_3_E17h290f55577c37fd9eE
+        Type:            R_X86_64_64
+      - Offset:          0xA50
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2634
+      - Offset:          0xA55
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2683
+      - Offset:          0xA62
+        Symbol:          .rodata._ZN4main18NICHE_W_FIELDS_3_F17h4e188761c9e19730E
+        Type:            R_X86_64_64
+      - Offset:          0xA6A
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2702
+      - Offset:          0xA6F
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2751
+      - Offset:          0xA7C
+        Symbol:          .rodata._ZN4main16DIRECT_TAG_128_A17hb7cbb90b3722e375E
+        Type:            R_X86_64_64
+      - Offset:          0xA84
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2786
+      - Offset:          0xA89
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2773
+      - Offset:          0xA9E
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          452
+      - Offset:          0xAAC
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          454
+      - Offset:          0xAB9
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          452
+      - Offset:          0xAC0
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0xACC
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          454
+      - Offset:          0xAD3
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0xAE0
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2833
+      - Offset:          0xAED
+        Symbol:          .rodata._ZN4main16DIRECT_TAG_128_B17hcb0558940d0b3df3E
+        Type:            R_X86_64_64
+      - Offset:          0xAF5
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2850
+      - Offset:          0xAFA
+        Symbol:          .text._ZN4main4main17h7325ffd5ffbc49e1E
+        Type:            R_X86_64_64
+      - Offset:          0xB08
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4649
+      - Offset:          0xB0C
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          314
+      - Offset:          0xB13
+        Symbol:          .text._ZN4main4main17h7325ffd5ffbc49e1E
+        Type:            R_X86_64_64
+        Addend:          31
+      - Offset:          0xB23
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4783
+      - Offset:          0xB2F
+        Symbol:          .text._ZN4main4main17h7325ffd5ffbc49e1E
+        Type:            R_X86_64_64
+        Addend:          47
+      - Offset:          0xB3F
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4802
+      - Offset:          0xB4B
+        Symbol:          .text._ZN4main4main17h7325ffd5ffbc49e1E
+        Type:            R_X86_64_64
+        Addend:          73
+      - Offset:          0xB5B
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4821
+      - Offset:          0xB67
+        Symbol:          .text._ZN4main4main17h7325ffd5ffbc49e1E
+        Type:            R_X86_64_64
+        Addend:          99
+      - Offset:          0xB77
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4838
+      - Offset:          0xB89
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          449
+      - Offset:          0xB90
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          792
+      - Offset:          0xB97
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          986
+      - Offset:          0xB9E
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1571
+      - Offset:          0xBA5
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1575
+      - Offset:          0xBAC
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1579
+      - Offset:          0xBB1
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1584
+      - Offset:          0xBB6
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1631
+      - Offset:          0xBCB
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1591
+      - Offset:          0xBD9
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1626
+      - Offset:          0xBE6
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1591
+      - Offset:          0xBF1
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1624
+      - Offset:          0xBF7
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1626
+      - Offset:          0xC02
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1624
+      - Offset:          0xC07
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0xC14
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3760
+      - Offset:          0xC29
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1591
+      - Offset:          0xC36
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1626
+      - Offset:          0xC43
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1591
+      - Offset:          0xC4E
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1624
+      - Offset:          0xC54
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1626
+      - Offset:          0xC5F
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1624
+      - Offset:          0xC64
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0xC72
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2150
+      - Offset:          0xC77
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2154
+      - Offset:          0xC7C
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2162
+      - Offset:          0xC83
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          982
+      - Offset:          0xC91
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2897
+      - Offset:          0xC96
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2902
+      - Offset:          0xC9A
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2946
+      - Offset:          0xCA7
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1624
+      - Offset:          0xCAC
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2960
+      - Offset:          0xCBA
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3282
+      - Offset:          0xCBF
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3286
+      - Offset:          0xCC4
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3295
+      - Offset:          0xCC9
+        Symbol:          '.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE'
+        Type:            R_X86_64_64
+      - Offset:          0xCD7
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4094
+      - Offset:          0xCDB
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4185
+      - Offset:          0xCFE
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4084
+      - Offset:          0xD07
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4089
+      - Offset:          0xD0D
+        Symbol:          .text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE
+        Type:            R_X86_64_64
+      - Offset:          0xD1B
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4241
+      - Offset:          0xD1F
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4185
+      - Offset:          0xD42
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4084
+      - Offset:          0xD4B
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4089
+      - Offset:          0xD51
+        Symbol:          .text._ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E
+        Type:            R_X86_64_64
+      - Offset:          0xD5F
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4300
+      - Offset:          0xD63
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4359
+      - Offset:          0xD82
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4084
+      - Offset:          0xD8B
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4089
+      - Offset:          0xD94
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3302
+      - Offset:          0xD99
+        Symbol:          '.text._ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE'
+        Type:            R_X86_64_64
+      - Offset:          0xDA7
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4379
+      - Offset:          0xDAB
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4499
+      - Offset:          0xDC2
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1624
+      - Offset:          0xDC8
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3306
+      - Offset:          0xDCD
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3314
+      - Offset:          0xDD2
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3323
+      - Offset:          0xDD6
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3405
+      - Offset:          0xDE6
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1624
+      - Offset:          0xDEB
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3163
+      - Offset:          0xDF7
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3427
+      - Offset:          0xDFC
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3435
+      - Offset:          0xE00
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3531
+      - Offset:          0xE0C
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3302
+      - Offset:          0xE1B
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3552
+      - Offset:          0xE20
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3580
+      - Offset:          0xE2B
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1624
+      - Offset:          0xE30
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3561
+      - Offset:          0xE3B
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3593
+      - Offset:          0xE3F
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3668
+      - Offset:          0xE4E
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1624
+      - Offset:          0xE59
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3687
+      - Offset:          0xE5D
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3751
+      - Offset:          0xE6C
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1624
+      - Offset:          0xE7F
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1987
+      - Offset:          0xE88
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2332
+      - Offset:          0xE8F
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          2768
+      - Offset:          0xE9A
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3112
+      - Offset:          0xEA9
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3163
+      - Offset:          0xEBB
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3168
+      - Offset:          0xECA
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3163
+      - Offset:          0xEDB
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3418
+      - Offset:          0xEE8
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3544
+      - Offset:          0xEF5
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3569
+      - Offset:          0xF08
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1624
+      - Offset:          0xF0D
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3302
+      - Offset:          0xF19
+        Symbol:          '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E'
+        Type:            R_X86_64_64
+      - Offset:          0xF2F
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3302
+      - Offset:          0xF3E
+        Symbol:          '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E'
+        Type:            R_X86_64_64
+        Addend:          10
+      - Offset:          0xF5A
+        Symbol:          '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E'
+        Type:            R_X86_64_64
+        Addend:          15
+      - Offset:          0xF78
+        Symbol:          '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E'
+        Type:            R_X86_64_64
+        Addend:          44
+      - Offset:          0xF95
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          1624
+      - Offset:          0xF9B
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          3989
+      - Offset:          0xFA6
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4712
+      - Offset:          0xFB3
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4702
+      - Offset:          0xFC0
+        Symbol:          .debug_str
+        Type:            R_X86_64_32
+        Addend:          4737
+  - Name:            .rela.debug_aranges
+    Type:            SHT_RELA
+    Flags:           [ SHF_INFO_LINK ]
+    Link:            .symtab
+    AddressAlign:    0x8
+    Info:            .debug_aranges
+    Relocations:
+      - Offset:          0x6
+        Symbol:          .debug_info
+        Type:            R_X86_64_32
+      - Offset:          0x10
+        Symbol:          .data.rel.ro..L__unnamed_1
+        Type:            R_X86_64_64
+      - Offset:          0x20
+        Symbol:          .rodata._ZN4main15CLIKE_DEFAULT_A17hc455996da56e04cdE
+        Type:            R_X86_64_64
+      - Offset:          0x30
+        Symbol:          .rodata._ZN4main15CLIKE_DEFAULT_B17h363cd69e0cdcbafdE
+        Type:            R_X86_64_64
+      - Offset:          0x40
+        Symbol:          .rodata._ZN4main10CLIKE_U8_A17h9499b0bb03002d62E
+        Type:            R_X86_64_64
+      - Offset:          0x50
+        Symbol:          .rodata._ZN4main10CLIKE_U8_B17h79128c8c1e712c84E
+        Type:            R_X86_64_64
+      - Offset:          0x60
+        Symbol:          .rodata._ZN4main10CLIKE_U8_C17h2b694c5f3dd47839E
+        Type:            R_X86_64_64
+      - Offset:          0x70
+        Symbol:          .rodata._ZN4main11CLIKE_U32_A17h170c70900b005ed8E
+        Type:            R_X86_64_64
+      - Offset:          0x80
+        Symbol:          .rodata._ZN4main11CLIKE_U32_B17hd70ec618637ad315E
+        Type:            R_X86_64_64
+      - Offset:          0x90
+        Symbol:          .rodata._ZN4main11CLIKE_U32_C17h51ec19ef8d1f9972E
+        Type:            R_X86_64_64
+      - Offset:          0xA0
+        Symbol:          .rodata._ZN4main18ENUM_WITH_TUPLES_A17h41303a2c8e509adfE
+        Type:            R_X86_64_64
+      - Offset:          0xB0
+        Symbol:          .rodata._ZN4main19ENUM_WITH_TUPLES_AA17h6d79192ff537e3beE
+        Type:            R_X86_64_64
+      - Offset:          0xC0
+        Symbol:          .rodata._ZN4main18ENUM_WITH_TUPLES_B17h67d8b0c484846519E
+        Type:            R_X86_64_64
+      - Offset:          0xD0
+        Symbol:          .rodata._ZN4main19ENUM_WITH_TUPLES_BB17ha7335cbcf854acc3E
+        Type:            R_X86_64_64
+      - Offset:          0xE0
+        Symbol:          .rodata._ZN4main19ENUM_WITH_TUPLES_BC17h812363a982e748dcE
+        Type:            R_X86_64_64
+      - Offset:          0xF0
+        Symbol:          .rodata._ZN4main18ENUM_WITH_TUPLES_C17hacad25cb7d0b3e1eE
+        Type:            R_X86_64_64
+      - Offset:          0x100
+        Symbol:          .rodata._ZN4main19ENUM_WITH_TUPLES_CC17h0774aa4ce6bfa016E
+        Type:            R_X86_64_64
+      - Offset:          0x110
+        Symbol:          .rodata._ZN4main18ENUM_WITH_TUPLES_D17h4731ab88c400dd95E
+        Type:            R_X86_64_64
+      - Offset:          0x120
+        Symbol:          .rodata._ZN4main12MIXED_ENUM_A17ha55ef45ea3e427bcE
+        Type:            R_X86_64_64
+      - Offset:          0x130
+        Symbol:          .rodata._ZN4main12MIXED_ENUM_B17hcf18c7a95921e399E
+        Type:            R_X86_64_64
+      - Offset:          0x140
+        Symbol:          .rodata._ZN4main12MIXED_ENUM_C17h5c3d9d01cbf81a21E
+        Type:            R_X86_64_64
+      - Offset:          0x150
+        Symbol:          .rodata._ZN4main17MIXED_ENUM_D_NONE17hcaef0fe0fe217d17E
+        Type:            R_X86_64_64
+      - Offset:          0x160
+        Symbol:          .rodata._ZN4main17MIXED_ENUM_D_SOME17h798d0887278d0893E
+        Type:            R_X86_64_64
+      - Offset:          0x170
+        Symbol:          .data.rel.ro._ZN4main18NICHE_W_FIELDS_1_A17h65eeed3d0325eae0E
+        Type:            R_X86_64_64
+      - Offset:          0x180
+        Symbol:          .rodata._ZN4main18NICHE_W_FIELDS_1_B17hb659dddb70a08b8bE
+        Type:            R_X86_64_64
+      - Offset:          0x190
+        Symbol:          .rodata._ZN4main18NICHE_W_FIELDS_2_A17h66f431dc0236eec2E
+        Type:            R_X86_64_64
+      - Offset:          0x1A0
+        Symbol:          .rodata._ZN4main18NICHE_W_FIELDS_2_B17hc147333272f8c6c6E
+        Type:            R_X86_64_64
+      - Offset:          0x1B0
+        Symbol:          .rodata._ZN4main18NICHE_W_FIELDS_3_A17h6a085f505e2e34e6E
+        Type:            R_X86_64_64
+      - Offset:          0x1C0
+        Symbol:          .rodata._ZN4main18NICHE_W_FIELDS_3_B17hd64758aabdd1bdccE
+        Type:            R_X86_64_64
+      - Offset:          0x1D0
+        Symbol:          .rodata._ZN4main18NICHE_W_FIELDS_3_C17h127a1a3167bca956E
+        Type:            R_X86_64_64
+      - Offset:          0x1E0
+        Symbol:          .rodata._ZN4main18NICHE_W_FIELDS_3_D17hbbc9256dbd7ab735E
+        Type:            R_X86_64_64
+      - Offset:          0x1F0
+        Symbol:          .rodata._ZN4main18NICHE_W_FIELDS_3_E17h290f55577c37fd9eE
+        Type:            R_X86_64_64
+      - Offset:          0x200
+        Symbol:          .rodata._ZN4main18NICHE_W_FIELDS_3_F17h4e188761c9e19730E
+        Type:            R_X86_64_64
+      - Offset:          0x210
+        Symbol:          .rodata._ZN4main16DIRECT_TAG_128_A17hb7cbb90b3722e375E
+        Type:            R_X86_64_64
+      - Offset:          0x220
+        Symbol:          .rodata._ZN4main16DIRECT_TAG_128_B17hcb0558940d0b3df3E
+        Type:            R_X86_64_64
+      - Offset:          0x230
+        Symbol:          .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE
+        Type:            R_X86_64_64
+      - Offset:          0x240
+        Symbol:          .text._ZN3std2rt10lang_start17h2b298beff3390667E
+        Type:            R_X86_64_64
+      - Offset:          0x250
+        Symbol:          '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE'
+        Type:            R_X86_64_64
+      - Offset:          0x260
+        Symbol:          '.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE'
+        Type:            R_X86_64_64
+      - Offset:          0x270
+        Symbol:          .text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE
+        Type:            R_X86_64_64
+      - Offset:          0x280
+        Symbol:          .text._ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E
+        Type:            R_X86_64_64
+      - Offset:          0x290
+        Symbol:          '.text._ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE'
+        Type:            R_X86_64_64
+      - Offset:          0x2A0
+        Symbol:          '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E'
+        Type:            R_X86_64_64
+      - Offset:          0x2B0
+        Symbol:          '.text._ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E'
+        Type:            R_X86_64_64
+      - Offset:          0x2C0
+        Symbol:          .text._ZN4main4main17h7325ffd5ffbc49e1E
+        Type:            R_X86_64_64
+  - Name:            .rela.debug_ranges
+    Type:            SHT_RELA
+    Flags:           [ SHF_INFO_LINK ]
+    Link:            .symtab
+    AddressAlign:    0x8
+    Info:            .debug_ranges
+    Relocations:
+      - Symbol:          .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE
+        Type:            R_X86_64_64
+        Addend:          4
+      - Offset:          0x8
+        Symbol:          .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE
+        Type:            R_X86_64_64
+        Addend:          9
+      - Offset:          0x10
+        Symbol:          .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE
+        Type:            R_X86_64_64
+        Addend:          14
+      - Offset:          0x18
+        Symbol:          .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE
+        Type:            R_X86_64_64
+        Addend:          14
+      - Offset:          0x30
+        Symbol:          .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE
+        Type:            R_X86_64_64
+        Addend:          4
+      - Offset:          0x38
+        Symbol:          .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE
+        Type:            R_X86_64_64
+        Addend:          9
+      - Offset:          0x40
+        Symbol:          .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE
+        Type:            R_X86_64_64
+        Addend:          14
+      - Offset:          0x48
+        Symbol:          .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE
+        Type:            R_X86_64_64
+        Addend:          14
+      - Offset:          0x60
+        Symbol:          .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE
+        Type:            R_X86_64_64
+      - Offset:          0x68
+        Symbol:          .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE
+        Type:            R_X86_64_64
+        Addend:          19
+      - Offset:          0x70
+        Symbol:          .text._ZN3std2rt10lang_start17h2b298beff3390667E
+        Type:            R_X86_64_64
+      - Offset:          0x78
+        Symbol:          .text._ZN3std2rt10lang_start17h2b298beff3390667E
+        Type:            R_X86_64_64
+        Addend:          76
+      - Offset:          0x80
+        Symbol:          '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE'
+        Type:            R_X86_64_64
+      - Offset:          0x88
+        Symbol:          '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE'
+        Type:            R_X86_64_64
+        Addend:          43
+      - Offset:          0x90
+        Symbol:          '.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE'
+        Type:            R_X86_64_64
+      - Offset:          0x98
+        Symbol:          '.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE'
+        Type:            R_X86_64_64
+        Addend:          22
+      - Offset:          0xA0
+        Symbol:          .text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE
+        Type:            R_X86_64_64
+      - Offset:          0xA8
+        Symbol:          .text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE
+        Type:            R_X86_64_64
+        Addend:          62
+      - Offset:          0xB0
+        Symbol:          .text._ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E
+        Type:            R_X86_64_64
+      - Offset:          0xB8
+        Symbol:          .text._ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E
+        Type:            R_X86_64_64
+        Addend:          16
+      - Offset:          0xC0
+        Symbol:          '.text._ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE'
+        Type:            R_X86_64_64
+      - Offset:          0xC8
+        Symbol:          '.text._ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE'
+        Type:            R_X86_64_64
+        Addend:          6
+      - Offset:          0xD0
+        Symbol:          '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E'
+        Type:            R_X86_64_64
+      - Offset:          0xD8
+        Symbol:          '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E'
+        Type:            R_X86_64_64
+        Addend:          65
+      - Offset:          0xE0
+        Symbol:          '.text._ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E'
+        Type:            R_X86_64_64
+      - Offset:          0xE8
+        Symbol:          '.text._ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E'
+        Type:            R_X86_64_64
+        Addend:          3
+      - Offset:          0xF0
+        Symbol:          .text._ZN4main4main17h7325ffd5ffbc49e1E
+        Type:            R_X86_64_64
+      - Offset:          0xF8
+        Symbol:          .text._ZN4main4main17h7325ffd5ffbc49e1E
+        Type:            R_X86_64_64
+        Addend:          119
+  - Name:            .rela.debug_pubnames
+    Type:            SHT_RELA
+    Flags:           [ SHF_INFO_LINK ]
+    Link:            .symtab
+    AddressAlign:    0x8
+    Info:            .debug_pubnames
+    Relocations:
+      - Offset:          0x6
+        Symbol:          .debug_info
+        Type:            R_X86_64_32
+  - Name:            .rela.debug_pubtypes
+    Type:            SHT_RELA
+    Flags:           [ SHF_INFO_LINK ]
+    Link:            .symtab
+    AddressAlign:    0x8
+    Info:            .debug_pubtypes
+    Relocations:
+      - Offset:          0x6
+        Symbol:          .debug_info
+        Type:            R_X86_64_32
+  - Name:            .rela.data.DW.ref.rust_eh_personality
+    Type:            SHT_RELA
+    Flags:           [ SHF_GROUP ]
+    Link:            .symtab
+    AddressAlign:    0x8
+    Info:            .data.DW.ref.rust_eh_personality
+    Relocations:
+      - Symbol:          rust_eh_personality
+        Type:            R_X86_64_64
+  - Name:            .rela.eh_frame
+    Type:            SHT_RELA
+    Flags:           [ SHF_INFO_LINK ]
+    Link:            .symtab
+    AddressAlign:    0x8
+    Info:            .eh_frame
+    Relocations:
+      - Offset:          0x20
+        Symbol:          .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE
+        Type:            R_X86_64_PC32
+      - Offset:          0x38
+        Symbol:          .text._ZN3std2rt10lang_start17h2b298beff3390667E
+        Type:            R_X86_64_PC32
+      - Offset:          0x50
+        Symbol:          '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE'
+        Type:            R_X86_64_PC32
+      - Offset:          0x68
+        Symbol:          '.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE'
+        Type:            R_X86_64_PC32
+      - Offset:          0x80
+        Symbol:          .text._ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E
+        Type:            R_X86_64_PC32
+      - Offset:          0x98
+        Symbol:          '.text._ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE'
+        Type:            R_X86_64_PC32
+      - Offset:          0xAC
+        Symbol:          '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E'
+        Type:            R_X86_64_PC32
+      - Offset:          0xC0
+        Symbol:          '.text._ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E'
+        Type:            R_X86_64_PC32
+      - Offset:          0xD4
+        Symbol:          .text._ZN4main4main17h7325ffd5ffbc49e1E
+        Type:            R_X86_64_PC32
+      - Offset:          0xEC
+        Symbol:          .text.main
+        Type:            R_X86_64_PC32
+      - Offset:          0x10F
+        Symbol:          DW.ref.rust_eh_personality
+        Type:            R_X86_64_PC32
+      - Offset:          0x124
+        Symbol:          .text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE
+        Type:            R_X86_64_PC32
+      - Offset:          0x12D
+        Symbol:          .gcc_except_table._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE
+        Type:            R_X86_64_PC32
+  - Name:            .rela.debug_line
+    Type:            SHT_RELA
+    Flags:           [ SHF_INFO_LINK ]
+    Link:            .symtab
+    AddressAlign:    0x8
+    Info:            .debug_line
+    Relocations:
+      - Offset:          0x256
+        Symbol:          .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE
+        Type:            R_X86_64_64
+      - Offset:          0x28E
+        Symbol:          .text._ZN3std2rt10lang_start17h2b298beff3390667E
+        Type:            R_X86_64_64
+      - Offset:          0x2B6
+        Symbol:          '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE'
+        Type:            R_X86_64_64
+      - Offset:          0x2E7
+        Symbol:          '.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE'
+        Type:            R_X86_64_64
+      - Offset:          0x304
+        Symbol:          .text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE
+        Type:            R_X86_64_64
+      - Offset:          0x32A
+        Symbol:          .text._ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E
+        Type:            R_X86_64_64
+      - Offset:          0x347
+        Symbol:          '.text._ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE'
+        Type:            R_X86_64_64
+      - Offset:          0x361
+        Symbol:          '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E'
+        Type:            R_X86_64_64
+      - Offset:          0x3A5
+        Symbol:          '.text._ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E'
+        Type:            R_X86_64_64
+      - Offset:          0x3BD
+        Symbol:          .text._ZN4main4main17h7325ffd5ffbc49e1E
+        Type:            R_X86_64_64
+  - Type:            SectionHeaderTable
+    Sections:
+      - Name:            .strtab
+      - Name:            .text
+      - Name:            .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE
+      - Name:            .rela.text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE
+      - Name:            .text._ZN3std2rt10lang_start17h2b298beff3390667E
+      - Name:            .rela.text._ZN3std2rt10lang_start17h2b298beff3390667E
+      - Name:            '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE'
+      - Name:            '.rela.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE'
+      - Name:            '.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE'
+      - Name:            '.rela.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE'
+      - Name:            .text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE
+      - Name:            .rela.text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE
+      - Name:            .gcc_except_table._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE
+      - Name:            .text._ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E
+      - Name:            '.text._ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE'
+      - Name:            '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E'
+      - Name:            '.text._ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E'
+      - Name:            .text._ZN4main4main17h7325ffd5ffbc49e1E
+      - Name:            .rela.text._ZN4main4main17h7325ffd5ffbc49e1E
+      - Name:            .text.main
+      - Name:            .rela.text.main
+      - Name:            .data.rel.ro..L__unnamed_1
+      - Name:            .rela.data.rel.ro..L__unnamed_1
+      - Name:            .rodata._ZN4main15CLIKE_DEFAULT_A17hc455996da56e04cdE
+      - Name:            .rodata._ZN4main15CLIKE_DEFAULT_B17h363cd69e0cdcbafdE
+      - Name:            .rodata._ZN4main10CLIKE_U8_A17h9499b0bb03002d62E
+      - Name:            .rodata._ZN4main10CLIKE_U8_B17h79128c8c1e712c84E
+      - Name:            .rodata._ZN4main10CLIKE_U8_C17h2b694c5f3dd47839E
+      - Name:            .rodata._ZN4main11CLIKE_U32_A17h170c70900b005ed8E
+      - Name:            .rodata._ZN4main11CLIKE_U32_B17hd70ec618637ad315E
+      - Name:            .rodata._ZN4main11CLIKE_U32_C17h51ec19ef8d1f9972E
+      - Name:            .rodata._ZN4main18ENUM_WITH_TUPLES_A17h41303a2c8e509adfE
+      - Name:            .rodata._ZN4main19ENUM_WITH_TUPLES_AA17h6d79192ff537e3beE
+      - Name:            .rodata._ZN4main18ENUM_WITH_TUPLES_B17h67d8b0c484846519E
+      - Name:            .rodata._ZN4main19ENUM_WITH_TUPLES_BB17ha7335cbcf854acc3E
+      - Name:            .rodata._ZN4main19ENUM_WITH_TUPLES_BC17h812363a982e748dcE
+      - Name:            .rodata._ZN4main18ENUM_WITH_TUPLES_C17hacad25cb7d0b3e1eE
+      - Name:            .rodata._ZN4main19ENUM_WITH_TUPLES_CC17h0774aa4ce6bfa016E
+      - Name:            .rodata._ZN4main18ENUM_WITH_TUPLES_D17h4731ab88c400dd95E
+      - Name:            .rodata._ZN4main12MIXED_ENUM_A17ha55ef45ea3e427bcE
+      - Name:            .rodata._ZN4main12MIXED_ENUM_B17hcf18c7a95921e399E
+      - Name:            .rodata._ZN4main12MIXED_ENUM_C17h5c3d9d01cbf81a21E
+      - Name:            .rodata._ZN4main17MIXED_ENUM_D_NONE17hcaef0fe0fe217d17E
+      - Name:            .rodata._ZN4main17MIXED_ENUM_D_SOME17h798d0887278d0893E
+      - Name:            .rodata..L__unnamed_2
+      - Name:            .data.rel.ro._ZN4main18NICHE_W_FIELDS_1_A17h65eeed3d0325eae0E
+      - Name:            .rela.data.rel.ro._ZN4main18NICHE_W_FIELDS_1_A17h65eeed3d0325eae0E
+      - Name:            .rodata._ZN4main18NICHE_W_FIELDS_1_B17hb659dddb70a08b8bE
+      - Name:            .rodata._ZN4main18NICHE_W_FIELDS_2_A17h66f431dc0236eec2E
+      - Name:            .rodata._ZN4main18NICHE_W_FIELDS_2_B17hc147333272f8c6c6E
+      - Name:            .rodata._ZN4main18NICHE_W_FIELDS_3_A17h6a085f505e2e34e6E
+      - Name:            .rodata._ZN4main18NICHE_W_FIELDS_3_B17hd64758aabdd1bdccE
+      - Name:            .rodata._ZN4main18NICHE_W_FIELDS_3_C17h127a1a3167bca956E
+      - Name:            .rodata._ZN4main18NICHE_W_FIELDS_3_D17hbbc9256dbd7ab735E
+      - Name:            .rodata._ZN4main18NICHE_W_FIELDS_3_E17h290f55577c37fd9eE
+      - Name:            .rodata._ZN4main18NICHE_W_FIELDS_3_F17h4e188761c9e19730E
+      - Name:            .rodata._ZN4main16DIRECT_TAG_128_A17hb7cbb90b3722e375E
+      - Name:            .rodata._ZN4main16DIRECT_TAG_128_B17hcb0558940d0b3df3E
+      - Name:            .debug_gdb_scripts
+      - Name:            .debug_abbrev
+      - Name:            .debug_info
+      - Name:            .rela.debug_info
+      - Name:            .debug_aranges
+      - Name:            .rela.debug_aranges
+      - Name:            .debug_ranges
+      - Name:            .rela.debug_ranges
+      - Name:            .debug_str
+      - Name:            .debug_pubnames
+      - Name:            .rela.debug_pubnames
+      - Name:            .debug_pubtypes
+      - Name:            .rela.debug_pubtypes
+      - Name:            .group
+      - Name:            .data.DW.ref.rust_eh_personality
+      - Name:            .rela.data.DW.ref.rust_eh_personality
+      - Name:            .note.GNU-stack
+      - Name:            .eh_frame
+      - Name:            .rela.eh_frame
+      - Name:            .debug_line
+      - Name:            .rela.debug_line
+      - Name:            .symtab
+Symbols:
+  - Name:            main.7cecb322c025f42d-cgu.0
+    Type:            STT_FILE
+    Index:           SHN_ABS
+  - Name:            .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE
+    Type:            STT_SECTION
+    Section:         .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE
+  - Name:            _ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE
+    Type:            STT_FUNC
+    Section:         .text._ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE
+    Size:            0x13
+  - Name:            _ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E
+    Type:            STT_FUNC
+    Section:         .text._ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E
+    Size:            0x10
+  - Name:            .text._ZN3std2rt10lang_start17h2b298beff3390667E
+    Type:            STT_SECTION
+    Section:         .text._ZN3std2rt10lang_start17h2b298beff3390667E
+  - Name:            '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE'
+    Type:            STT_SECTION
+    Section:         '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE'
+  - Name:            '_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE'
+    Type:            STT_FUNC
+    Section:         '.text._ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE'
+    Size:            0x2B
+  - Name:            '_ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E'
+    Type:            STT_FUNC
+    Section:         '.text._ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E'
+    Size:            0x3
+  - Name:            '.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE'
+    Type:            STT_SECTION
+    Section:         '.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE'
+  - Name:            '_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE'
+    Type:            STT_FUNC
+    Section:         '.text._ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE'
+    Size:            0x16
+  - Name:            _ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE
+    Type:            STT_FUNC
+    Section:         .text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE
+    Size:            0x3E
+  - Name:            .text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE
+    Type:            STT_SECTION
+    Section:         .text._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE
+  - Name:            .gcc_except_table._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE
+    Type:            STT_SECTION
+    Section:         .gcc_except_table._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE
+  - Name:            GCC_except_table4
+    Section:         .gcc_except_table._ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE
+  - Name:            .text._ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E
+    Type:            STT_SECTION
+    Section:         .text._ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E
+  - Name:            '.text._ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE'
+    Type:            STT_SECTION
+    Section:         '.text._ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE'
+  - Name:            '_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE'
+    Type:            STT_FUNC
+    Section:         '.text._ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE'
+    Size:            0x6
+  - Name:            '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E'
+    Type:            STT_SECTION
+    Section:         '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E'
+  - Name:            '_ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E'
+    Type:            STT_FUNC
+    Section:         '.text._ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E'
+    Size:            0x41
+  - Name:            '.text._ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E'
+    Type:            STT_SECTION
+    Section:         '.text._ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E'
+  - Name:            .text._ZN4main4main17h7325ffd5ffbc49e1E
+    Type:            STT_SECTION
+    Section:         .text._ZN4main4main17h7325ffd5ffbc49e1E
+  - Name:            _ZN4main4main17h7325ffd5ffbc49e1E
+    Type:            STT_FUNC
+    Section:         .text._ZN4main4main17h7325ffd5ffbc49e1E
+    Size:            0x77
+  - Name:            .text.main
+    Type:            STT_SECTION
+    Section:         .text.main
+  - Name:            .data.rel.ro..L__unnamed_1
+    Type:            STT_SECTION
+    Section:         .data.rel.ro..L__unnamed_1
+  - Name:            _ZN4main15CLIKE_DEFAULT_A17hc455996da56e04cdE
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main15CLIKE_DEFAULT_A17hc455996da56e04cdE
+    Size:            0x1
+  - Name:            .rodata._ZN4main15CLIKE_DEFAULT_A17hc455996da56e04cdE
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main15CLIKE_DEFAULT_A17hc455996da56e04cdE
+  - Name:            _ZN4main15CLIKE_DEFAULT_B17h363cd69e0cdcbafdE
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main15CLIKE_DEFAULT_B17h363cd69e0cdcbafdE
+    Size:            0x1
+  - Name:            .rodata._ZN4main15CLIKE_DEFAULT_B17h363cd69e0cdcbafdE
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main15CLIKE_DEFAULT_B17h363cd69e0cdcbafdE
+  - Name:            _ZN4main10CLIKE_U8_A17h9499b0bb03002d62E
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main10CLIKE_U8_A17h9499b0bb03002d62E
+    Size:            0x1
+  - Name:            .rodata._ZN4main10CLIKE_U8_A17h9499b0bb03002d62E
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main10CLIKE_U8_A17h9499b0bb03002d62E
+  - Name:            _ZN4main10CLIKE_U8_B17h79128c8c1e712c84E
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main10CLIKE_U8_B17h79128c8c1e712c84E
+    Size:            0x1
+  - Name:            .rodata._ZN4main10CLIKE_U8_B17h79128c8c1e712c84E
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main10CLIKE_U8_B17h79128c8c1e712c84E
+  - Name:            _ZN4main10CLIKE_U8_C17h2b694c5f3dd47839E
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main10CLIKE_U8_C17h2b694c5f3dd47839E
+    Size:            0x1
+  - Name:            .rodata._ZN4main10CLIKE_U8_C17h2b694c5f3dd47839E
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main10CLIKE_U8_C17h2b694c5f3dd47839E
+  - Name:            _ZN4main11CLIKE_U32_A17h170c70900b005ed8E
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main11CLIKE_U32_A17h170c70900b005ed8E
+    Size:            0x4
+  - Name:            .rodata._ZN4main11CLIKE_U32_A17h170c70900b005ed8E
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main11CLIKE_U32_A17h170c70900b005ed8E
+  - Name:            _ZN4main11CLIKE_U32_B17hd70ec618637ad315E
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main11CLIKE_U32_B17hd70ec618637ad315E
+    Size:            0x4
+  - Name:            .rodata._ZN4main11CLIKE_U32_B17hd70ec618637ad315E
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main11CLIKE_U32_B17hd70ec618637ad315E
+  - Name:            _ZN4main11CLIKE_U32_C17h51ec19ef8d1f9972E
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main11CLIKE_U32_C17h51ec19ef8d1f9972E
+    Size:            0x4
+  - Name:            .rodata._ZN4main11CLIKE_U32_C17h51ec19ef8d1f9972E
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main11CLIKE_U32_C17h51ec19ef8d1f9972E
+  - Name:            _ZN4main18ENUM_WITH_TUPLES_A17h41303a2c8e509adfE
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main18ENUM_WITH_TUPLES_A17h41303a2c8e509adfE
+    Size:            0x10
+  - Name:            .rodata._ZN4main18ENUM_WITH_TUPLES_A17h41303a2c8e509adfE
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main18ENUM_WITH_TUPLES_A17h41303a2c8e509adfE
+  - Name:            _ZN4main19ENUM_WITH_TUPLES_AA17h6d79192ff537e3beE
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main19ENUM_WITH_TUPLES_AA17h6d79192ff537e3beE
+    Size:            0x10
+  - Name:            .rodata._ZN4main19ENUM_WITH_TUPLES_AA17h6d79192ff537e3beE
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main19ENUM_WITH_TUPLES_AA17h6d79192ff537e3beE
+  - Name:            _ZN4main18ENUM_WITH_TUPLES_B17h67d8b0c484846519E
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main18ENUM_WITH_TUPLES_B17h67d8b0c484846519E
+    Size:            0x10
+  - Name:            .rodata._ZN4main18ENUM_WITH_TUPLES_B17h67d8b0c484846519E
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main18ENUM_WITH_TUPLES_B17h67d8b0c484846519E
+  - Name:            _ZN4main19ENUM_WITH_TUPLES_BB17ha7335cbcf854acc3E
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main19ENUM_WITH_TUPLES_BB17ha7335cbcf854acc3E
+    Size:            0x10
+  - Name:            .rodata._ZN4main19ENUM_WITH_TUPLES_BB17ha7335cbcf854acc3E
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main19ENUM_WITH_TUPLES_BB17ha7335cbcf854acc3E
+  - Name:            _ZN4main19ENUM_WITH_TUPLES_BC17h812363a982e748dcE
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main19ENUM_WITH_TUPLES_BC17h812363a982e748dcE
+    Size:            0x10
+  - Name:            .rodata._ZN4main19ENUM_WITH_TUPLES_BC17h812363a982e748dcE
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main19ENUM_WITH_TUPLES_BC17h812363a982e748dcE
+  - Name:            _ZN4main18ENUM_WITH_TUPLES_C17hacad25cb7d0b3e1eE
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main18ENUM_WITH_TUPLES_C17hacad25cb7d0b3e1eE
+    Size:            0x10
+  - Name:            .rodata._ZN4main18ENUM_WITH_TUPLES_C17hacad25cb7d0b3e1eE
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main18ENUM_WITH_TUPLES_C17hacad25cb7d0b3e1eE
+  - Name:            _ZN4main19ENUM_WITH_TUPLES_CC17h0774aa4ce6bfa016E
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main19ENUM_WITH_TUPLES_CC17h0774aa4ce6bfa016E
+    Size:            0x10
+  - Name:            .rodata._ZN4main19ENUM_WITH_TUPLES_CC17h0774aa4ce6bfa016E
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main19ENUM_WITH_TUPLES_CC17h0774aa4ce6bfa016E
+  - Name:            _ZN4main18ENUM_WITH_TUPLES_D17h4731ab88c400dd95E
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main18ENUM_WITH_TUPLES_D17h4731ab88c400dd95E
+    Size:            0x10
+  - Name:            .rodata._ZN4main18ENUM_WITH_TUPLES_D17h4731ab88c400dd95E
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main18ENUM_WITH_TUPLES_D17h4731ab88c400dd95E
+  - Name:            _ZN4main12MIXED_ENUM_A17ha55ef45ea3e427bcE
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main12MIXED_ENUM_A17ha55ef45ea3e427bcE
+    Size:            0x18
+  - Name:            .rodata._ZN4main12MIXED_ENUM_A17ha55ef45ea3e427bcE
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main12MIXED_ENUM_A17ha55ef45ea3e427bcE
+  - Name:            _ZN4main12MIXED_ENUM_B17hcf18c7a95921e399E
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main12MIXED_ENUM_B17hcf18c7a95921e399E
+    Size:            0x18
+  - Name:            .rodata._ZN4main12MIXED_ENUM_B17hcf18c7a95921e399E
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main12MIXED_ENUM_B17hcf18c7a95921e399E
+  - Name:            _ZN4main12MIXED_ENUM_C17h5c3d9d01cbf81a21E
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main12MIXED_ENUM_C17h5c3d9d01cbf81a21E
+    Size:            0x18
+  - Name:            .rodata._ZN4main12MIXED_ENUM_C17h5c3d9d01cbf81a21E
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main12MIXED_ENUM_C17h5c3d9d01cbf81a21E
+  - Name:            _ZN4main17MIXED_ENUM_D_NONE17hcaef0fe0fe217d17E
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main17MIXED_ENUM_D_NONE17hcaef0fe0fe217d17E
+    Size:            0x18
+  - Name:            .rodata._ZN4main17MIXED_ENUM_D_NONE17hcaef0fe0fe217d17E
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main17MIXED_ENUM_D_NONE17hcaef0fe0fe217d17E
+  - Name:            _ZN4main17MIXED_ENUM_D_SOME17h798d0887278d0893E
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main17MIXED_ENUM_D_SOME17h798d0887278d0893E
+    Size:            0x18
+  - Name:            .rodata._ZN4main17MIXED_ENUM_D_SOME17h798d0887278d0893E
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main17MIXED_ENUM_D_SOME17h798d0887278d0893E
+  - Name:            .rodata..L__unnamed_2
+    Type:            STT_SECTION
+    Section:         .rodata..L__unnamed_2
+  - Name:            _ZN4main18NICHE_W_FIELDS_1_A17h65eeed3d0325eae0E
+    Type:            STT_OBJECT
+    Section:         .data.rel.ro._ZN4main18NICHE_W_FIELDS_1_A17h65eeed3d0325eae0E
+    Size:            0x10
+  - Name:            .data.rel.ro._ZN4main18NICHE_W_FIELDS_1_A17h65eeed3d0325eae0E
+    Type:            STT_SECTION
+    Section:         .data.rel.ro._ZN4main18NICHE_W_FIELDS_1_A17h65eeed3d0325eae0E
+  - Name:            _ZN4main18NICHE_W_FIELDS_1_B17hb659dddb70a08b8bE
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main18NICHE_W_FIELDS_1_B17hb659dddb70a08b8bE
+    Size:            0x10
+  - Name:            .rodata._ZN4main18NICHE_W_FIELDS_1_B17hb659dddb70a08b8bE
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main18NICHE_W_FIELDS_1_B17hb659dddb70a08b8bE
+  - Name:            _ZN4main18NICHE_W_FIELDS_2_A17h66f431dc0236eec2E
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main18NICHE_W_FIELDS_2_A17h66f431dc0236eec2E
+    Size:            0x10
+  - Name:            .rodata._ZN4main18NICHE_W_FIELDS_2_A17h66f431dc0236eec2E
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main18NICHE_W_FIELDS_2_A17h66f431dc0236eec2E
+  - Name:            _ZN4main18NICHE_W_FIELDS_2_B17hc147333272f8c6c6E
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main18NICHE_W_FIELDS_2_B17hc147333272f8c6c6E
+    Size:            0x10
+  - Name:            .rodata._ZN4main18NICHE_W_FIELDS_2_B17hc147333272f8c6c6E
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main18NICHE_W_FIELDS_2_B17hc147333272f8c6c6E
+  - Name:            _ZN4main18NICHE_W_FIELDS_3_A17h6a085f505e2e34e6E
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main18NICHE_W_FIELDS_3_A17h6a085f505e2e34e6E
+    Size:            0x2
+  - Name:            .rodata._ZN4main18NICHE_W_FIELDS_3_A17h6a085f505e2e34e6E
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main18NICHE_W_FIELDS_3_A17h6a085f505e2e34e6E
+  - Name:            _ZN4main18NICHE_W_FIELDS_3_B17hd64758aabdd1bdccE
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main18NICHE_W_FIELDS_3_B17hd64758aabdd1bdccE
+    Size:            0x2
+  - Name:            .rodata._ZN4main18NICHE_W_FIELDS_3_B17hd64758aabdd1bdccE
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main18NICHE_W_FIELDS_3_B17hd64758aabdd1bdccE
+  - Name:            _ZN4main18NICHE_W_FIELDS_3_C17h127a1a3167bca956E
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main18NICHE_W_FIELDS_3_C17h127a1a3167bca956E
+    Size:            0x2
+  - Name:            .rodata._ZN4main18NICHE_W_FIELDS_3_C17h127a1a3167bca956E
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main18NICHE_W_FIELDS_3_C17h127a1a3167bca956E
+  - Name:            _ZN4main18NICHE_W_FIELDS_3_D17hbbc9256dbd7ab735E
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main18NICHE_W_FIELDS_3_D17hbbc9256dbd7ab735E
+    Size:            0x2
+  - Name:            .rodata._ZN4main18NICHE_W_FIELDS_3_D17hbbc9256dbd7ab735E
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main18NICHE_W_FIELDS_3_D17hbbc9256dbd7ab735E
+  - Name:            _ZN4main18NICHE_W_FIELDS_3_E17h290f55577c37fd9eE
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main18NICHE_W_FIELDS_3_E17h290f55577c37fd9eE
+    Size:            0x2
+  - Name:            .rodata._ZN4main18NICHE_W_FIELDS_3_E17h290f55577c37fd9eE
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main18NICHE_W_FIELDS_3_E17h290f55577c37fd9eE
+  - Name:            _ZN4main18NICHE_W_FIELDS_3_F17h4e188761c9e19730E
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main18NICHE_W_FIELDS_3_F17h4e188761c9e19730E
+    Size:            0x2
+  - Name:            .rodata._ZN4main18NICHE_W_FIELDS_3_F17h4e188761c9e19730E
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main18NICHE_W_FIELDS_3_F17h4e188761c9e19730E
+  - Name:            _ZN4main16DIRECT_TAG_128_A17hb7cbb90b3722e375E
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main16DIRECT_TAG_128_A17hb7cbb90b3722e375E
+    Size:            0x18
+  - Name:            .rodata._ZN4main16DIRECT_TAG_128_A17hb7cbb90b3722e375E
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main16DIRECT_TAG_128_A17hb7cbb90b3722e375E
+  - Name:            _ZN4main16DIRECT_TAG_128_B17hcb0558940d0b3df3E
+    Type:            STT_OBJECT
+    Section:         .rodata._ZN4main16DIRECT_TAG_128_B17hcb0558940d0b3df3E
+    Size:            0x18
+  - Name:            .rodata._ZN4main16DIRECT_TAG_128_B17hcb0558940d0b3df3E
+    Type:            STT_SECTION
+    Section:         .rodata._ZN4main16DIRECT_TAG_128_B17hcb0558940d0b3df3E
+  - Name:            .debug_abbrev
+    Type:            STT_SECTION
+    Section:         .debug_abbrev
+  - Name:            .debug_info
+    Type:            STT_SECTION
+    Section:         .debug_info
+  - Name:            .debug_ranges
+    Type:            STT_SECTION
+    Section:         .debug_ranges
+  - Name:            .debug_str
+    Type:            STT_SECTION
+    Section:         .debug_str
+  - Name:            .debug_line
+    Type:            STT_SECTION
+    Section:         .debug_line
+  - Name:            _ZN3std2rt10lang_start17h2b298beff3390667E
+    Type:            STT_FUNC
+    Section:         .text._ZN3std2rt10lang_start17h2b298beff3390667E
+    Binding:         STB_GLOBAL
+    Size:            0x4C
+    Other:           [ STV_HIDDEN ]
+  - Name:            _ZN3std2rt19lang_start_internal17h53e91f0c64cf90ebE
+    Binding:         STB_GLOBAL
+  - Name:            _Unwind_Resume
+    Binding:         STB_GLOBAL
+  - Name:            main
+    Type:            STT_FUNC
+    Section:         .text.main
+    Binding:         STB_GLOBAL
+    Size:            0x20
+  - Name:            __rustc_debug_gdb_scripts_section__
+    Type:            STT_OBJECT
+    Section:         .debug_gdb_scripts
+    Binding:         STB_WEAK
+    Size:            0x22
+  - Name:            DW.ref.rust_eh_personality
+    Type:            STT_OBJECT
+    Section:         .data.DW.ref.rust_eh_personality
+    Binding:         STB_WEAK
+    Size:            0x8
+    Other:           [ STV_HIDDEN ]
+  - Name:            rust_eh_personality
+    Binding:         STB_GLOBAL
+DWARF:
+  debug_str:
+    - 'clang LLVM (rustc version 1.73.0-nightly (da6b55cc5 2023-07-17))'
+    - 'src/main.rs/@/main.7cecb322c025f42d-cgu.0'
+    - '/home/vmakaev/test-simple-enum'
+    - '<std::rt::lang_start::{closure_env#0}<()> as core::ops::function::Fn<()>>::{vtable}'
+    - drop_in_place
+    - '()'
+    - '*const ()'
+    - size
+    - usize
+    - align
+    - __method3
+    - __method4
+    - __method5
+    - std
+    - rt
+    - lang_start
+    - main
+    - 'fn()'
+    - '{closure_env#0}<()>'
+    - '<std::rt::lang_start::{closure_env#0}<()> as core::ops::function::Fn<()>>::{vtable_type}'
+    - CLIKE_DEFAULT_A
+    - u8
+    - A
+    - B
+    - CLikeEnumDefault
+    - _ZN4main15CLIKE_DEFAULT_A17hc455996da56e04cdE
+    - CLIKE_DEFAULT_B
+    - _ZN4main15CLIKE_DEFAULT_B17h363cd69e0cdcbafdE
+    - CLIKE_U8_A
+    - VariantA
+    - VariantB
+    - VariantC
+    - CLikeEnumReprU8
+    - _ZN4main10CLIKE_U8_A17h9499b0bb03002d62E
+    - CLIKE_U8_B
+    - _ZN4main10CLIKE_U8_B17h79128c8c1e712c84E
+    - CLIKE_U8_C
+    - _ZN4main10CLIKE_U8_C17h2b694c5f3dd47839E
+    - CLIKE_U32_A
+    - u32
+    - CLikeEnumReprU32
+    - _ZN4main11CLIKE_U32_A17h170c70900b005ed8E
+    - CLIKE_U32_B
+    - _ZN4main11CLIKE_U32_B17hd70ec618637ad315E
+    - CLIKE_U32_C
+    - _ZN4main11CLIKE_U32_C17h51ec19ef8d1f9972E
+    - ENUM_WITH_TUPLES_A
+    - __0
+    - u16
+    - C
+    - D
+    - AA
+    - __1
+    - BB
+    - BC
+    - CC
+    - EnumWithTuples
+    - _ZN4main18ENUM_WITH_TUPLES_A17h41303a2c8e509adfE
+    - ENUM_WITH_TUPLES_AA
+    - _ZN4main19ENUM_WITH_TUPLES_AA17h6d79192ff537e3beE
+    - ENUM_WITH_TUPLES_B
+    - _ZN4main18ENUM_WITH_TUPLES_B17h67d8b0c484846519E
+    - ENUM_WITH_TUPLES_BB
+    - _ZN4main19ENUM_WITH_TUPLES_BB17ha7335cbcf854acc3E
+    - ENUM_WITH_TUPLES_BC
+    - _ZN4main19ENUM_WITH_TUPLES_BC17h812363a982e748dcE
+    - ENUM_WITH_TUPLES_C
+    - _ZN4main18ENUM_WITH_TUPLES_C17hacad25cb7d0b3e1eE
+    - ENUM_WITH_TUPLES_CC
+    - _ZN4main19ENUM_WITH_TUPLES_CC17h0774aa4ce6bfa016E
+    - ENUM_WITH_TUPLES_D
+    - _ZN4main18ENUM_WITH_TUPLES_D17h4731ab88c400dd95E
+    - MIXED_ENUM_A
+    - u64
+    - i32
+    - core
+    - option
+    - None
+    - field
+    - inner
+    - Struct1
+    - Struct2
+    - T
+    - Some
+    - 'Option<main::Struct2>'
+    - E
+    - EnumWithStructs
+    - MixedEnum
+    - _ZN4main12MIXED_ENUM_A17ha55ef45ea3e427bcE
+    - MIXED_ENUM_B
+    - _ZN4main12MIXED_ENUM_B17hcf18c7a95921e399E
+    - MIXED_ENUM_C
+    - _ZN4main12MIXED_ENUM_C17h5c3d9d01cbf81a21E
+    - MIXED_ENUM_D_NONE
+    - _ZN4main17MIXED_ENUM_D_NONE17hcaef0fe0fe217d17E
+    - MIXED_ENUM_D_SOME
+    - _ZN4main17MIXED_ENUM_D_SOME17h798d0887278d0893E
+    - NICHE_W_FIELDS_1_A
+    - '&u8'
+    - NicheLayoutWithFields1
+    - _ZN4main18NICHE_W_FIELDS_1_A17h65eeed3d0325eae0E
+    - NICHE_W_FIELDS_1_B
+    - _ZN4main18NICHE_W_FIELDS_1_B17hb659dddb70a08b8bE
+    - NICHE_W_FIELDS_2_A
+    - num
+    - nonzero
+    - NonZeroU32
+    - NicheLayoutWithFields2
+    - _ZN4main18NICHE_W_FIELDS_2_A17h66f431dc0236eec2E
+    - NICHE_W_FIELDS_2_B
+    - _ZN4main18NICHE_W_FIELDS_2_B17hc147333272f8c6c6E
+    - NICHE_W_FIELDS_3_A
+    - bool
+    - F
+    - NicheLayoutWithFields3
+    - _ZN4main18NICHE_W_FIELDS_3_A17h6a085f505e2e34e6E
+    - NICHE_W_FIELDS_3_B
+    - _ZN4main18NICHE_W_FIELDS_3_B17hd64758aabdd1bdccE
+    - NICHE_W_FIELDS_3_C
+    - _ZN4main18NICHE_W_FIELDS_3_C17h127a1a3167bca956E
+    - NICHE_W_FIELDS_3_D
+    - _ZN4main18NICHE_W_FIELDS_3_D17hbbc9256dbd7ab735E
+    - NICHE_W_FIELDS_3_E
+    - _ZN4main18NICHE_W_FIELDS_3_E17h290f55577c37fd9eE
+    - NICHE_W_FIELDS_3_F
+    - _ZN4main18NICHE_W_FIELDS_3_F17h4e188761c9e19730E
+    - DIRECT_TAG_128_A
+    - i128
+    - DirectTag128
+    - _ZN4main16DIRECT_TAG_128_A17hb7cbb90b3722e375E
+    - DIRECT_TAG_128_B
+    - _ZN4main16DIRECT_TAG_128_B17hcb0558940d0b3df3E
+    - hint
+    - _ZN4core4hint9black_box17h379a83786539264fE
+    - 'black_box<()>'
+    - dummy
+    - sys_common
+    - backtrace
+    - sys
+    - unix
+    - process
+    - process_common
+    - ExitCode
+    - _ZN3std3sys4unix7process14process_common8ExitCode6as_i3217he371769e2548cd45E
+    - as_i32
+    - '&std::sys::unix::process::process_common::ExitCode'
+    - self
+    - '*mut std::sys::unix::process::process_common::ExitCode'
+    - _ZN3std7process8ExitCode6to_i3217hb7fc74a79d553bd6E
+    - to_i32
+    - ops
+    - function
+    - FnOnce
+    - ptr
+    - mut_ptr
+    - '{impl#0}'
+    - '_ZN4core3ptr7mut_ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17h7779d98aface9019E'
+    - 'is_null<u64>'
+    - '*mut u64'
+    - is_null
+    - '_ZN4core3ptr7mut_ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null12runtime_impl17h3eb05f765be786deE'
+    - runtime_impl
+    - '*mut u8'
+    - non_null
+    - pointer
+    - '*const u64'
+    - 'NonNull<u64>'
+    - '_ZN4core3ptr8non_null16NonNull$LT$T$GT$13new_unchecked17h52543b5b2a7511f2E'
+    - 'new_unchecked<u64>'
+    - '_ZN4core3ptr8non_null16NonNull$LT$T$GT$3new17h8bb4252cc4b30a14E'
+    - 'new<u64>'
+    - 'Option<core::ptr::non_null::NonNull<u64>>'
+    - '{impl#53}'
+    - _ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h28f3357a8908a75eE
+    - '__rust_begin_short_backtrace<fn(), ()>'
+    - _ZN3std2rt10lang_start17h2b298beff3390667E
+    - 'lang_start<()>'
+    - isize
+    - '_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha34c4baf90d38bceE'
+    - '{closure#0}<()>'
+    - Self
+    - Args
+    - '_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h17e4cefa4856409cE'
+    - 'call_once<std::rt::lang_start::{closure_env#0}<()>, ()>'
+    - _ZN4core3ops8function6FnOnce9call_once17h032bd4fb8ecd8fbfE
+    - _ZN4core3ops8function6FnOnce9call_once17he3987b00ed61d281E
+    - 'call_once<fn(), ()>'
+    - '_ZN4core3ptr85drop_in_place$LT$std..rt..lang_start$LT$$LP$$RP$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h20d1245dbe6c76ffE'
+    - 'drop_in_place<std::rt::lang_start::{closure_env#0}<()>>'
+    - '_ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17h2e34be4fe3828d64E'
+    - report
+    - _ZN4main4main17h7325ffd5ffbc49e1E
+    - f
+    - result
+    - argc
+    - argv
+    - '*const u8'
+    - '*const *const u8'
+    - sigpipe
+    - '*mut std::rt::lang_start::{closure_env#0}<()>'
+    - niche_w_fields_1_a
+    - niche_w_fields_1_b
+    - direct_tag_128_a
+    - direct_tag_128_b
+  debug_aranges:
+    - Length:          0x2DC
+      Version:         2
+      CuOffset:        0x0
+      AddressSize:     0x8
+      Descriptors:
+        - Address:         0x0
+          Length:          0x30
+        - Address:         0x0
+          Length:          0x1
+        - Address:         0x0
+          Length:          0x1
+        - Address:         0x0
+          Length:          0x1
+        - Address:         0x0
+          Length:          0x1
+        - Address:         0x0
+          Length:          0x1
+        - Address:         0x0
+          Length:          0x4
+        - Address:         0x0
+          Length:          0x4
+        - Address:         0x0
+          Length:          0x4
+        - Address:         0x0
+          Length:          0x10
+        - Address:         0x0
+          Length:          0x10
+        - Address:         0x0
+          Length:          0x10
+        - Address:         0x0
+          Length:          0x10
+        - Address:         0x0
+          Length:          0x10
+        - Address:         0x0
+          Length:          0x10
+        - Address:         0x0
+          Length:          0x10
+        - Address:         0x0
+          Length:          0x10
+        - Address:         0x0
+          Length:          0x18
+        - Address:         0x0
+          Length:          0x18
+        - Address:         0x0
+          Length:          0x18
+        - Address:         0x0
+          Length:          0x18
+        - Address:         0x0
+          Length:          0x18
+        - Address:         0x0
+          Length:          0x10
+        - Address:         0x0
+          Length:          0x10
+        - Address:         0x0
+          Length:          0x10
+        - Address:         0x0
+          Length:          0x10
+        - Address:         0x0
+          Length:          0x2
+        - Address:         0x0
+          Length:          0x2
+        - Address:         0x0
+          Length:          0x2
+        - Address:         0x0
+          Length:          0x2
+        - Address:         0x0
+          Length:          0x2
+        - Address:         0x0
+          Length:          0x2
+        - Address:         0x0
+          Length:          0x18
+        - Address:         0x0
+          Length:          0x18
+        - Address:         0x0
+          Length:          0x13
+        - Address:         0x0
+          Length:          0x4C
+        - Address:         0x0
+          Length:          0x2B
+        - Address:         0x0
+          Length:          0x16
+        - Address:         0x0
+          Length:          0x3E
+        - Address:         0x0
+          Length:          0x10
+        - Address:         0x0
+          Length:          0x6
+        - Address:         0x0
+          Length:          0x41
+        - Address:         0x0
+          Length:          0x3
+        - Address:         0x0
+          Length:          0x77
+  debug_ranges:
+    - Offset:          0x0
+      AddrSize:        0x8
+      Entries:         []
+    - Offset:          0x10
+      AddrSize:        0x8
+      Entries:         []
+    - Offset:          0x20
+      AddrSize:        0x8
+      Entries:         []
+    - Offset:          0x30
+      AddrSize:        0x8
+      Entries:         []
+    - Offset:          0x40
+      AddrSize:        0x8
+      Entries:         []
+    - Offset:          0x50
+      AddrSize:        0x8
+      Entries:         []
+    - Offset:          0x60
+      AddrSize:        0x8
+      Entries:         []
+    - Offset:          0x70
+      AddrSize:        0x8
+      Entries:         []
+    - Offset:          0x80
+      AddrSize:        0x8
+      Entries:         []
+    - Offset:          0x90
+      AddrSize:        0x8
+      Entries:         []
+    - Offset:          0xA0
+      AddrSize:        0x8
+      Entries:         []
+    - Offset:          0xB0
+      AddrSize:        0x8
+      Entries:         []
+    - Offset:          0xC0
+      AddrSize:        0x8
+      Entries:         []
+    - Offset:          0xD0
+      AddrSize:        0x8
+      Entries:         []
+    - Offset:          0xE0
+      AddrSize:        0x8
+      Entries:         []
+    - Offset:          0xF0
+      AddrSize:        0x8
+      Entries:         []
+    - Offset:          0x100
+      AddrSize:        0x8
+      Entries:         []
+...


        


More information about the lldb-commits mailing list