Advertisement
Guest User

Hello World in Rust

a guest
May 9th, 2018
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
LLVM 35.19 KB | None | 0 0
  1. ; ModuleID = 'playground0-40e77592ecbcd2161aae8b24f7d255bc.rs'
  2. source_filename = "playground0-40e77592ecbcd2161aae8b24f7d255bc.rs"
  3. target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
  4. target triple = "x86_64-unknown-linux-gnu"
  5.  
  6. %"core::fmt::Arguments" = type { [0 x i64], { [0 x { [0 x i8]*, i64 }]*, i64 }, [0 x i64], %"core::option::Option<&[core::fmt::rt::v1::Argument]>", [0 x i64], { [0 x { i8*, i8* }]*, i64 }, [0 x i64] }
  7. %"core::option::Option<&[core::fmt::rt::v1::Argument]>" = type { [0 x i64], {}*, [1 x i64] }
  8. %"core::option::Option<&[core::fmt::rt::v1::Argument]>::None" = type {}
  9. %"unwind::libunwind::_Unwind_Exception" = type { [0 x i64], i64, [0 x i64], void (i32, %"unwind::libunwind::_Unwind_Exception"*)*, [0 x i64], [6 x i64], [0 x i64] }
  10. %"unwind::libunwind::_Unwind_Context" = type { [0 x i8] }
  11.  
  12. @vtable.0 = private unnamed_addr constant { void (i8**)*, i64, i64, i32 (i8**)*, i32 (i8**)*, i32 (i8*)* } { void (i8**)* @_ZN4core3ptr13drop_in_place17h134c83a1ea4585baE, i64 8, i64 8, i32 (i8**)* @"_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha28e2da18ca7cdc8E", i32 (i8**)* @"_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha28e2da18ca7cdc8E", i32 (i8*)* @_ZN4core3ops8function6FnOnce9call_once17h897639fadab0f44eE }, align 8, !dbg !0
  13. @str.1 = internal constant [12 x i8] c"Hello World\0A"
  14. @ref.2 = private unnamed_addr constant [1 x { [0 x i8]*, i64 }] [{ [0 x i8]*, i64 } { [0 x i8]* bitcast ([12 x i8]* @str.1 to [0 x i8]*), i64 12 }], align 8
  15. @ref.3 = private unnamed_addr constant [0 x { i8*, i8* }] zeroinitializer, align 8
  16. @__rustc_debug_gdb_scripts_section__ = linkonce_odr unnamed_addr constant [34 x i8] c"\01gdb_load_rust_pretty_printers.py\00", section ".debug_gdb_scripts", align 1
  17.  
  18. ; std::rt::lang_start
  19. ; Function Attrs: uwtable
  20. define hidden i64 @_ZN3std2rt10lang_start17h087c830c9bc2d263E(void ()* nonnull, i64, i8**) unnamed_addr #0 !dbg !49 {
  21. start:
  22.   %_7 = alloca i8*, align 8
  23.   %argv = alloca i8**, align 8
  24.   %argc = alloca i64, align 8
  25.   %main = alloca void ()*, align 8
  26.   store void ()* %0, void ()** %main, align 8
  27.   call void @llvm.dbg.declare(metadata void ()** %main, metadata !61, metadata !DIExpression()), !dbg !63
  28.   store i64 %1, i64* %argc, align 8
  29.   call void @llvm.dbg.declare(metadata i64* %argc, metadata !64, metadata !DIExpression()), !dbg !63
  30.   store i8** %2, i8*** %argv, align 8
  31.   call void @llvm.dbg.declare(metadata i8*** %argv, metadata !65, metadata !DIExpression()), !dbg !63
  32.   %3 = load void ()*, void ()** %main, align 8, !dbg !66, !nonnull !4
  33.   %4 = bitcast i8** %_7 to void ()**, !dbg !66
  34.   store void ()* %3, void ()** %4, align 8, !dbg !66
  35.   %5 = bitcast i8** %_7 to {}*, !dbg !66
  36.   %6 = load i64, i64* %argc, align 8, !dbg !66
  37.   %7 = load i8**, i8*** %argv, align 8, !dbg !66
  38. ; call std::rt::lang_start_internal
  39.   %8 = call i64 @_ZN3std2rt19lang_start_internal17h764d480f090a00eaE({}* nonnull %5, {}* noalias nonnull readonly bitcast ({ void (i8**)*, i64, i64, i32 (i8**)*, i32 (i8**)*, i32 (i8*)* }* @vtable.0 to {}*), i64 %6, i8** %7), !dbg !66
  40.   br label %bb1, !dbg !66
  41.  
  42. bb1:                                              ; preds = %start
  43.   ret i64 %8, !dbg !67
  44. }
  45.  
  46. ; std::rt::lang_start::{{closure}}
  47. ; Function Attrs: uwtable
  48. define internal i32 @"_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha28e2da18ca7cdc8E"(i8** noalias readonly dereferenceable(8)) unnamed_addr #0 !dbg !68 {
  49. start:
  50.   %arg0 = alloca i8**, align 8
  51.   store i8** %0, i8*** %arg0, align 8
  52.   call void @llvm.dbg.declare(metadata i8*** %arg0, metadata !74, metadata !DIExpression(DW_OP_deref, DW_OP_plus_uconst, 0)), !dbg !75
  53.   %1 = load i8**, i8*** %arg0, align 8, !dbg !76, !nonnull !4
  54.   %2 = bitcast i8** %1 to void ()**, !dbg !76
  55.   %3 = load void ()*, void ()** %2, align 8, !dbg !76, !nonnull !4
  56.   call void %3(), !dbg !76
  57.   br label %bb1, !dbg !76
  58.  
  59. bb1:                                              ; preds = %start
  60. ; call <() as std::termination::Termination>::report
  61.   %4 = call i32 @"_ZN58_$LT$$LP$$RP$$u20$as$u20$std..termination..Termination$GT$6report17h6a6a0c339f7a42d3E"(), !dbg !76
  62.   br label %bb2, !dbg !76
  63.  
  64. bb2:                                              ; preds = %bb1
  65.   ret i32 %4, !dbg !76
  66. }
  67.  
  68. ; core::fmt::Arguments::new_v1
  69. ; Function Attrs: inlinehint uwtable
  70. define internal void @_ZN4core3fmt9Arguments6new_v117h0cc0171f6be3b09bE(%"core::fmt::Arguments"* noalias nocapture sret dereferenceable(48), [0 x { [0 x i8]*, i64 }]* noalias nonnull readonly, i64, [0 x { i8*, i8* }]* noalias nonnull readonly, i64) unnamed_addr #1 !dbg !77 {
  71. start:
  72.   %_4 = alloca %"core::option::Option<&[core::fmt::rt::v1::Argument]>", align 8
  73.   %args = alloca { [0 x { i8*, i8* }]*, i64 }, align 8
  74.   %pieces = alloca { [0 x { [0 x i8]*, i64 }]*, i64 }, align 8
  75.   %5 = getelementptr inbounds { [0 x { [0 x i8]*, i64 }]*, i64 }, { [0 x { [0 x i8]*, i64 }]*, i64 }* %pieces, i32 0, i32 0
  76.   store [0 x { [0 x i8]*, i64 }]* %1, [0 x { [0 x i8]*, i64 }]** %5, align 8
  77.   %6 = getelementptr inbounds { [0 x { [0 x i8]*, i64 }]*, i64 }, { [0 x { [0 x i8]*, i64 }]*, i64 }* %pieces, i32 0, i32 1
  78.   store i64 %2, i64* %6, align 8
  79.   call void @llvm.dbg.declare(metadata { [0 x { [0 x i8]*, i64 }]*, i64 }* %pieces, metadata !205, metadata !DIExpression()), !dbg !206
  80.   %7 = getelementptr inbounds { [0 x { i8*, i8* }]*, i64 }, { [0 x { i8*, i8* }]*, i64 }* %args, i32 0, i32 0
  81.   store [0 x { i8*, i8* }]* %3, [0 x { i8*, i8* }]** %7, align 8
  82.   %8 = getelementptr inbounds { [0 x { i8*, i8* }]*, i64 }, { [0 x { i8*, i8* }]*, i64 }* %args, i32 0, i32 1
  83.   store i64 %4, i64* %8, align 8
  84.   call void @llvm.dbg.declare(metadata { [0 x { i8*, i8* }]*, i64 }* %args, metadata !207, metadata !DIExpression()), !dbg !206
  85.   %9 = getelementptr inbounds { [0 x { [0 x i8]*, i64 }]*, i64 }, { [0 x { [0 x i8]*, i64 }]*, i64 }* %pieces, i32 0, i32 0, !dbg !208
  86.   %10 = load [0 x { [0 x i8]*, i64 }]*, [0 x { [0 x i8]*, i64 }]** %9, align 8, !dbg !208, !nonnull !4
  87.   %11 = getelementptr inbounds { [0 x { [0 x i8]*, i64 }]*, i64 }, { [0 x { [0 x i8]*, i64 }]*, i64 }* %pieces, i32 0, i32 1, !dbg !208
  88.   %12 = load i64, i64* %11, align 8, !dbg !208
  89.   %13 = bitcast %"core::option::Option<&[core::fmt::rt::v1::Argument]>"* %_4 to {}**, !dbg !209
  90.   store {}* null, {}** %13, align 8, !dbg !209
  91.   %14 = bitcast %"core::option::Option<&[core::fmt::rt::v1::Argument]>"* %_4 to %"core::option::Option<&[core::fmt::rt::v1::Argument]>::None"*, !dbg !209
  92.   %15 = getelementptr inbounds { [0 x { i8*, i8* }]*, i64 }, { [0 x { i8*, i8* }]*, i64 }* %args, i32 0, i32 0, !dbg !210
  93.   %16 = load [0 x { i8*, i8* }]*, [0 x { i8*, i8* }]** %15, align 8, !dbg !210, !nonnull !4
  94.   %17 = getelementptr inbounds { [0 x { i8*, i8* }]*, i64 }, { [0 x { i8*, i8* }]*, i64 }* %args, i32 0, i32 1, !dbg !210
  95.   %18 = load i64, i64* %17, align 8, !dbg !210
  96.   %19 = bitcast %"core::fmt::Arguments"* %0 to { [0 x { [0 x i8]*, i64 }]*, i64 }*, !dbg !211
  97.   %20 = getelementptr inbounds { [0 x { [0 x i8]*, i64 }]*, i64 }, { [0 x { [0 x i8]*, i64 }]*, i64 }* %19, i32 0, i32 0, !dbg !211
  98.   store [0 x { [0 x i8]*, i64 }]* %10, [0 x { [0 x i8]*, i64 }]** %20, align 8, !dbg !211
  99.   %21 = getelementptr inbounds { [0 x { [0 x i8]*, i64 }]*, i64 }, { [0 x { [0 x i8]*, i64 }]*, i64 }* %19, i32 0, i32 1, !dbg !211
  100.   store i64 %12, i64* %21, align 8, !dbg !211
  101.   %22 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %0, i32 0, i32 3, !dbg !211
  102.   %23 = bitcast %"core::option::Option<&[core::fmt::rt::v1::Argument]>"* %_4 to i8*, !dbg !211
  103.   %24 = bitcast %"core::option::Option<&[core::fmt::rt::v1::Argument]>"* %22 to i8*, !dbg !211
  104.   call void @llvm.memcpy.p0i8.p0i8.i64(i8* %24, i8* %23, i64 16, i32 8, i1 false), !dbg !211
  105.   %25 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %0, i32 0, i32 5, !dbg !211
  106.   %26 = getelementptr inbounds { [0 x { i8*, i8* }]*, i64 }, { [0 x { i8*, i8* }]*, i64 }* %25, i32 0, i32 0, !dbg !211
  107.   store [0 x { i8*, i8* }]* %16, [0 x { i8*, i8* }]** %26, align 8, !dbg !211
  108.   %27 = getelementptr inbounds { [0 x { i8*, i8* }]*, i64 }, { [0 x { i8*, i8* }]*, i64 }* %25, i32 0, i32 1, !dbg !211
  109.   store i64 %18, i64* %27, align 8, !dbg !211
  110.   ret void, !dbg !212
  111. }
  112.  
  113. ; core::ops::function::FnOnce::call_once
  114. ; Function Attrs: uwtable
  115. define internal i32 @_ZN4core3ops8function6FnOnce9call_once17h897639fadab0f44eE(i8* nonnull) unnamed_addr #0 personality i32 (i32, i32, i64, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality !dbg !213 {
  116. start:
  117.   %personalityslot = alloca { i8*, i32 }, align 8
  118.   %arg1 = alloca {}, align 1
  119.   %arg0 = alloca i8*, align 8
  120.   store i8* %0, i8** %arg0, align 8
  121.   call void @llvm.dbg.declare(metadata i8** %arg0, metadata !223, metadata !DIExpression()), !dbg !224
  122.   call void @llvm.dbg.declare(metadata {}* %arg1, metadata !225, metadata !DIExpression()), !dbg !224
  123. ; invoke std::rt::lang_start::{{closure}}
  124.   %1 = invoke i32 @"_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha28e2da18ca7cdc8E"(i8** dereferenceable(8) %arg0)
  125.           to label %bb1 unwind label %cleanup, !dbg !226
  126.  
  127. bb1:                                              ; preds = %start
  128.   br label %bb2, !dbg !226
  129.  
  130. bb2:                                              ; preds = %bb1
  131.   ret i32 %1, !dbg !226
  132.  
  133. bb3:                                              ; preds = %cleanup
  134.   br label %bb4, !dbg !226
  135.  
  136. bb4:                                              ; preds = %bb3
  137.   %2 = bitcast { i8*, i32 }* %personalityslot to i8**, !dbg !226
  138.   %3 = load i8*, i8** %2, align 8, !dbg !226
  139.   %4 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %personalityslot, i32 0, i32 1, !dbg !226
  140.   %5 = load i32, i32* %4, align 4, !dbg !226
  141.   %6 = insertvalue { i8*, i32 } undef, i8* %3, 0, !dbg !226
  142.   %7 = insertvalue { i8*, i32 } %6, i32 %5, 1, !dbg !226
  143.   resume { i8*, i32 } %7, !dbg !226
  144.  
  145. cleanup:                                          ; preds = %start
  146.   %8 = landingpad { i8*, i32 }
  147.           cleanup
  148.   %9 = extractvalue { i8*, i32 } %8, 0
  149.   %10 = extractvalue { i8*, i32 } %8, 1
  150.   %11 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %personalityslot, i32 0, i32 0
  151.   store i8* %9, i8** %11, align 8
  152.   %12 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %personalityslot, i32 0, i32 1
  153.   store i32 %10, i32* %12, align 8
  154.   br label %bb3
  155. }
  156.  
  157. ; core::ptr::drop_in_place
  158. ; Function Attrs: uwtable
  159. define internal void @_ZN4core3ptr13drop_in_place17h134c83a1ea4585baE(i8**) unnamed_addr #0 !dbg !227 {
  160. start:
  161.   %arg0 = alloca i8**, align 8
  162.   store i8** %0, i8*** %arg0, align 8
  163.   call void @llvm.dbg.declare(metadata i8*** %arg0, metadata !235, metadata !DIExpression()), !dbg !236
  164.   ret void, !dbg !237
  165. }
  166.  
  167. ; playground::main
  168. ; Function Attrs: uwtable
  169. define internal void @_ZN10playground4main17h410e35e3879b2df1E() unnamed_addr #0 !dbg !238 {
  170. start:
  171.   %_9 = alloca {}, align 1
  172.   %_2 = alloca %"core::fmt::Arguments", align 8
  173. ; call core::fmt::Arguments::new_v1
  174.   call void @_ZN4core3fmt9Arguments6new_v117h0cc0171f6be3b09bE(%"core::fmt::Arguments"* noalias nocapture sret dereferenceable(48) %_2, [0 x { [0 x i8]*, i64 }]* noalias nonnull readonly bitcast ([1 x { [0 x i8]*, i64 }]* @ref.2 to [0 x { [0 x i8]*, i64 }]*), i64 1, [0 x { i8*, i8* }]* noalias nonnull readonly @ref.3, i64 0), !dbg !240
  175.   br label %bb1, !dbg !240
  176.  
  177. bb1:                                              ; preds = %start
  178. ; call std::io::stdio::_print
  179.   call void @_ZN3std2io5stdio6_print17h437015f76aeac8a5E(%"core::fmt::Arguments"* noalias nocapture dereferenceable(48) %_2), !dbg !240
  180.   br label %bb2, !dbg !240
  181.  
  182. bb2:                                              ; preds = %bb1
  183.   ret void, !dbg !241
  184. }
  185.  
  186. ; Function Attrs: nounwind readnone speculatable
  187. declare void @llvm.dbg.declare(metadata, metadata, metadata) #2
  188.  
  189. ; std::rt::lang_start_internal
  190. declare i64 @_ZN3std2rt19lang_start_internal17h764d480f090a00eaE({}* nonnull, {}* noalias nonnull readonly, i64, i8**) unnamed_addr #3
  191.  
  192. ; <() as std::termination::Termination>::report
  193. declare i32 @"_ZN58_$LT$$LP$$RP$$u20$as$u20$std..termination..Termination$GT$6report17h6a6a0c339f7a42d3E"() unnamed_addr #3
  194.  
  195. ; Function Attrs: argmemonly nounwind
  196. declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i32, i1) #4
  197.  
  198. declare i32 @rust_eh_personality(i32, i32, i64, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*) unnamed_addr #3
  199.  
  200. ; std::io::stdio::_print
  201. declare void @_ZN3std2io5stdio6_print17h437015f76aeac8a5E(%"core::fmt::Arguments"* noalias nocapture dereferenceable(48)) unnamed_addr #3
  202.  
  203. define i32 @main(i32, i8**) unnamed_addr #5 {
  204. top:
  205.   %2 = load volatile i8, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @__rustc_debug_gdb_scripts_section__, i32 0, i32 0), align 1
  206.   %3 = sext i32 %0 to i64
  207. ; call std::rt::lang_start
  208.   %5 = trunc i64 %4 to i32
  209.   ret i32 %5
  210. }
  211.  
  212. attributes #0 = { uwtable "no-frame-pointer-elim"="true" "probe-stack"="__rust_probestack" }
  213. attributes #1 = { inlinehint uwtable "no-frame-pointer-elim"="true" "probe-stack"="__rust_probestack" }
  214. attributes #2 = { nounwind readnone speculatable }
  215. attributes #3 = { "no-frame-pointer-elim"="true" "probe-stack"="__rust_probestack" }
  216. attributes #4 = { argmemonly nounwind }
  217. attributes #5 = { "no-frame-pointer-elim"="true" }
  218.  
  219. !llvm.module.flags = !{!11, !12}
  220. !llvm.dbg.cu = !{!13}
  221.  
  222. !0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
  223. !1 = distinct !DIGlobalVariable(name: "vtable", linkageName: "vtable", scope: null, file: !2, type: !3, isLocal: true, isDefinition: true)
  224. !2 = !DIFile(filename: "<unknown>", directory: "")
  225. !3 = !DICompositeType(tag: DW_TAG_structure_type, name: "vtable", file: !2, align: 64, flags: DIFlagArtificial, elements: !4, vtableHolder: !5, identifier: "vtable")
  226. !4 = !{}
  227. !5 = !DICompositeType(tag: DW_TAG_structure_type, name: "closure", file: !2, size: 64, align: 64, elements: !6, identifier: "1f9f3a8cebaf1a5e8bf5789ddb8cef3d")
  228. !6 = !{!7}
  229. !7 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !5, file: !2, baseType: !8, size: 64, align: 64)
  230. !8 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "fn()", baseType: !9, size: 64, align: 64)
  231. !9 = !DISubroutineType(types: !10)
  232. !10 = !{null}
  233. !11 = !{i32 7, !"PIE Level", i32 2}
  234. !12 = !{i32 2, !"Debug Info Version", i32 3}
  235. !13 = distinct !DICompileUnit(language: DW_LANG_Rust, file: !14, producer: "clang LLVM (rustc version 1.25.0 (84203cac6 2018-03-25))", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !15, globals: !48)
  236. !14 = !DIFile(filename: "src/main.rs", directory: "/playground")
  237. !15 = !{!16, !25, !32, !38, !43}
  238. !16 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Position", scope: !17, file: !2, baseType: !21, size: 64, align: 64, elements: !22)
  239. !17 = !DINamespace(name: "v1", scope: !18)
  240. !18 = !DINamespace(name: "rt", scope: !19)
  241. !19 = !DINamespace(name: "fmt", scope: !20)
  242. !20 = !DINamespace(name: "core", scope: null)
  243. !21 = !DIBasicType(name: "u64", size: 64, encoding: DW_ATE_unsigned)
  244. !22 = !{!23, !24}
  245. !23 = !DIEnumerator(name: "Next", value: 0)
  246. !24 = !DIEnumerator(name: "At", value: 1)
  247. !25 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Alignment", scope: !17, file: !2, baseType: !26, size: 8, align: 8, elements: !27)
  248. !26 = !DIBasicType(name: "u8", size: 8, encoding: DW_ATE_unsigned)
  249. !27 = !{!28, !29, !30, !31}
  250. !28 = !DIEnumerator(name: "Left", value: 0)
  251. !29 = !DIEnumerator(name: "Right", value: 1)
  252. !30 = !DIEnumerator(name: "Center", value: 2)
  253. !31 = !DIEnumerator(name: "Unknown", value: 3)
  254. !32 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Count", scope: !17, file: !2, baseType: !21, size: 64, align: 64, elements: !33)
  255. !33 = !{!34, !35, !36, !37}
  256. !34 = !DIEnumerator(name: "Is", value: 0)
  257. !35 = !DIEnumerator(name: "Param", value: 1)
  258. !36 = !DIEnumerator(name: "NextParam", value: 2)
  259. !37 = !DIEnumerator(name: "Implied", value: 3)
  260. !38 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Result", scope: !39, file: !2, baseType: !26, size: 8, align: 8, elements: !40)
  261. !39 = !DINamespace(name: "result", scope: !20)
  262. !40 = !{!41, !42}
  263. !41 = !DIEnumerator(name: "Ok", value: 0)
  264. !42 = !DIEnumerator(name: "Err", value: 1)
  265. !43 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Option", scope: !44, file: !2, baseType: !21, size: 64, align: 64, elements: !45)
  266. !44 = !DINamespace(name: "option", scope: !20)
  267. !45 = !{!46, !47}
  268. !46 = !DIEnumerator(name: "None", value: 0)
  269. !47 = !DIEnumerator(name: "Some", value: 1)
  270. !48 = !{!0}
  271. !49 = distinct !DISubprogram(name: "lang_start<()>", linkageName: "_ZN3std2rt10lang_start17h087c830c9bc2d263E", scope: !51, file: !50, line: 71, type: !53, isLocal: false, isDefinition: true, scopeLine: 71, flags: DIFlagPrototyped, isOptimized: false, unit: !13, templateParams: !58, variables: !4)
  272. !50 = !DIFile(filename: "/checkout/src/libstd/rt.rs", directory: "")
  273. !51 = !DINamespace(name: "rt", scope: !52)
  274. !52 = !DINamespace(name: "std", scope: null)
  275. !53 = !DISubroutineType(types: !54)
  276. !54 = !{!55, !8, !55, !56}
  277. !55 = !DIBasicType(name: "isize", size: 64, encoding: DW_ATE_signed)
  278. !56 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const *const u8", baseType: !57, size: 64, align: 64)
  279. !57 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const u8", baseType: !26, size: 64, align: 64)
  280. !58 = !{!59}
  281. !59 = !DITemplateTypeParameter(name: "T", type: !60)
  282. !60 = !DIBasicType(name: "()", encoding: DW_ATE_unsigned)
  283. !61 = !DILocalVariable(name: "main", arg: 1, scope: !49, file: !62, line: 1, type: !8)
  284. !62 = !DIFile(filename: "src/main.rs", directory: "")
  285. !63 = !DILocation(line: 1, scope: !49)
  286. !64 = !DILocalVariable(name: "argc", arg: 2, scope: !49, file: !62, line: 1, type: !55)
  287. !65 = !DILocalVariable(name: "argv", arg: 3, scope: !49, file: !62, line: 1, type: !56)
  288. !66 = !DILocation(line: 74, scope: !49)
  289. !67 = !DILocation(line: 75, scope: !49)
  290. !68 = distinct !DISubprogram(name: "{{closure}}<()>", linkageName: "_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17ha28e2da18ca7cdc8E", scope: !69, file: !50, line: 74, type: !70, isLocal: false, isDefinition: true, scopeLine: 74, flags: DIFlagPrototyped, isOptimized: false, unit: !13, templateParams: !58, variables: !4)
  291. !69 = !DINamespace(name: "lang_start", scope: !51)
  292. !70 = !DISubroutineType(types: !71)
  293. !71 = !{!72, !73}
  294. !72 = !DIBasicType(name: "i32", size: 32, encoding: DW_ATE_signed)
  295. !73 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&closure", baseType: !5, size: 64, align: 64)
  296. !74 = !DILocalVariable(name: "main", scope: !68, file: !62, line: 1, type: !8, align: 8)
  297. !75 = !DILocation(line: 1, scope: !68)
  298. !76 = !DILocation(line: 74, scope: !68)
  299. !77 = distinct !DISubprogram(name: "new_v1", linkageName: "_ZN4core3fmt9Arguments6new_v117h0cc0171f6be3b09bE", scope: !79, file: !78, line: 344, type: !203, isLocal: false, isDefinition: true, scopeLine: 344, flags: DIFlagPrototyped, isOptimized: false, unit: !13, templateParams: !4, variables: !4)
  300. !78 = !DIFile(filename: "/checkout/src/libcore/fmt/mod.rs", directory: "")
  301. !79 = !DICompositeType(tag: DW_TAG_structure_type, name: "Arguments", scope: !19, file: !2, size: 384, align: 64, elements: !80, identifier: "bcf344825a60c8b62771ba2d8d7d105b")
  302. !80 = !{!81, !92, !148}
  303. !81 = !DIDerivedType(tag: DW_TAG_member, name: "pieces", scope: !79, file: !2, baseType: !82, size: 128, align: 64)
  304. !82 = !DICompositeType(tag: DW_TAG_structure_type, name: "&[&str]", file: !2, size: 128, align: 64, elements: !83, identifier: "e6697911f244d0ceff0c9196a008b81c")
  305. !83 = !{!84, !91}
  306. !84 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !82, file: !2, baseType: !85, size: 64, align: 64)
  307. !85 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const &str", baseType: !86, size: 64, align: 64)
  308. !86 = !DICompositeType(tag: DW_TAG_structure_type, name: "&str", file: !2, size: 128, align: 64, elements: !87, identifier: "12a74f968388ec87446426880567efa3")
  309. !87 = !{!88, !89}
  310. !88 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !86, file: !2, baseType: !57, size: 64, align: 64)
  311. !89 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !86, file: !2, baseType: !90, size: 64, align: 64, offset: 64)
  312. !90 = !DIBasicType(name: "usize", size: 64, encoding: DW_ATE_unsigned)
  313. !91 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !82, file: !2, baseType: !90, size: 64, align: 64, offset: 64)
  314. !92 = !DIDerivedType(tag: DW_TAG_member, name: "fmt", scope: !79, file: !2, baseType: !93, size: 128, align: 64, offset: 128)
  315. !93 = !DICompositeType(tag: DW_TAG_union_type, name: "Option<&[core::fmt::rt::v1::Argument]>", scope: !44, file: !2, size: 128, align: 64, elements: !94, identifier: "c7990a68a1d88fcf744a9e740ba19d3e")
  316. !94 = !{!95}
  317. !95 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENCODED$ENUM$0$None", scope: !93, file: !2, baseType: !96, size: 128, align: 64)
  318. !96 = !DICompositeType(tag: DW_TAG_structure_type, name: "Some", scope: !44, file: !2, size: 128, align: 64, elements: !97, identifier: "c7990a68a1d88fcf744a9e740ba19d3e::Some")
  319. !97 = !{!98}
  320. !98 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !96, file: !2, baseType: !99, size: 128, align: 64)
  321. !99 = !DICompositeType(tag: DW_TAG_structure_type, name: "&[core::fmt::rt::v1::Argument]", file: !2, size: 128, align: 64, elements: !100, identifier: "2ae70aee3c721e1b44817c8ab625577e")
  322. !100 = !{!101, !147}
  323. !101 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !99, file: !2, baseType: !102, size: 64, align: 64)
  324. !102 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const core::fmt::rt::v1::Argument", baseType: !103, size: 64, align: 64)
  325. !103 = !DICompositeType(tag: DW_TAG_structure_type, name: "Argument", scope: !17, file: !2, size: 512, align: 64, elements: !104, identifier: "167b06ac6f6fab19af857a72075fbb61")
  326. !104 = !{!105, !117}
  327. !105 = !DIDerivedType(tag: DW_TAG_member, name: "position", scope: !103, file: !2, baseType: !106, size: 128, align: 64)
  328. !106 = !DICompositeType(tag: DW_TAG_union_type, name: "Position", scope: !17, file: !2, size: 128, align: 64, elements: !107, identifier: "da96d5f382da51d995eb76fee24ef82")
  329. !107 = !{!108, !112}
  330. !108 = !DIDerivedType(tag: DW_TAG_member, scope: !106, file: !2, baseType: !109, size: 64, align: 8)
  331. !109 = !DICompositeType(tag: DW_TAG_structure_type, name: "Next", scope: !17, file: !2, size: 128, align: 64, elements: !110, identifier: "da96d5f382da51d995eb76fee24ef82::Next")
  332. !110 = !{!111}
  333. !111 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !109, file: !2, baseType: !16, size: 64, align: 64)
  334. !112 = !DIDerivedType(tag: DW_TAG_member, scope: !106, file: !2, baseType: !113, size: 128, align: 64)
  335. !113 = !DICompositeType(tag: DW_TAG_structure_type, name: "At", scope: !17, file: !2, size: 128, align: 64, elements: !114, identifier: "da96d5f382da51d995eb76fee24ef82::At")
  336. !114 = !{!115, !116}
  337. !115 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !113, file: !2, baseType: !16, size: 64, align: 64)
  338. !116 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !113, file: !2, baseType: !90, size: 64, align: 64, offset: 64)
  339. !117 = !DIDerivedType(tag: DW_TAG_member, name: "format", scope: !103, file: !2, baseType: !118, size: 384, align: 64, offset: 128)
  340. !118 = !DICompositeType(tag: DW_TAG_structure_type, name: "FormatSpec", scope: !17, file: !2, size: 384, align: 64, elements: !119, identifier: "beb34f61cf4b08c97e0cdd3f370edd6c")
  341. !119 = !{!120, !122, !123, !125, !146}
  342. !120 = !DIDerivedType(tag: DW_TAG_member, name: "fill", scope: !118, file: !2, baseType: !121, size: 32, align: 32, offset: 256)
  343. !121 = !DIBasicType(name: "char", size: 32, encoding: DW_ATE_unsigned_char)
  344. !122 = !DIDerivedType(tag: DW_TAG_member, name: "align", scope: !118, file: !2, baseType: !25, size: 8, align: 8, offset: 320)
  345. !123 = !DIDerivedType(tag: DW_TAG_member, name: "flags", scope: !118, file: !2, baseType: !124, size: 32, align: 32, offset: 288)
  346. !124 = !DIBasicType(name: "u32", size: 32, encoding: DW_ATE_unsigned)
  347. !125 = !DIDerivedType(tag: DW_TAG_member, name: "precision", scope: !118, file: !2, baseType: !126, size: 128, align: 64)
  348. !126 = !DICompositeType(tag: DW_TAG_union_type, name: "Count", scope: !17, file: !2, size: 128, align: 64, elements: !127, identifier: "837b6e091cd48aa8182764e17541c8")
  349. !127 = !{!128, !133, !138, !142}
  350. !128 = !DIDerivedType(tag: DW_TAG_member, scope: !126, file: !2, baseType: !129, size: 128, align: 64)
  351. !129 = !DICompositeType(tag: DW_TAG_structure_type, name: "Is", scope: !17, file: !2, size: 128, align: 64, elements: !130, identifier: "837b6e091cd48aa8182764e17541c8::Is")
  352. !130 = !{!131, !132}
  353. !131 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !129, file: !2, baseType: !32, size: 64, align: 64)
  354. !132 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !129, file: !2, baseType: !90, size: 64, align: 64, offset: 64)
  355. !133 = !DIDerivedType(tag: DW_TAG_member, scope: !126, file: !2, baseType: !134, size: 128, align: 64)
  356. !134 = !DICompositeType(tag: DW_TAG_structure_type, name: "Param", scope: !17, file: !2, size: 128, align: 64, elements: !135, identifier: "837b6e091cd48aa8182764e17541c8::Param")
  357. !135 = !{!136, !137}
  358. !136 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !134, file: !2, baseType: !32, size: 64, align: 64)
  359. !137 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !134, file: !2, baseType: !90, size: 64, align: 64, offset: 64)
  360. !138 = !DIDerivedType(tag: DW_TAG_member, scope: !126, file: !2, baseType: !139, size: 64, align: 8)
  361. !139 = !DICompositeType(tag: DW_TAG_structure_type, name: "NextParam", scope: !17, file: !2, size: 128, align: 64, elements: !140, identifier: "837b6e091cd48aa8182764e17541c8::NextParam")
  362. !140 = !{!141}
  363. !141 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !139, file: !2, baseType: !32, size: 64, align: 64)
  364. !142 = !DIDerivedType(tag: DW_TAG_member, scope: !126, file: !2, baseType: !143, size: 64, align: 8)
  365. !143 = !DICompositeType(tag: DW_TAG_structure_type, name: "Implied", scope: !17, file: !2, size: 128, align: 64, elements: !144, identifier: "837b6e091cd48aa8182764e17541c8::Implied")
  366. !144 = !{!145}
  367. !145 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !143, file: !2, baseType: !32, size: 64, align: 64)
  368. !146 = !DIDerivedType(tag: DW_TAG_member, name: "width", scope: !118, file: !2, baseType: !126, size: 128, align: 64, offset: 128)
  369. !147 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !99, file: !2, baseType: !90, size: 64, align: 64, offset: 64)
  370. !148 = !DIDerivedType(tag: DW_TAG_member, name: "args", scope: !79, file: !2, baseType: !149, size: 128, align: 64, offset: 256)
  371. !149 = !DICompositeType(tag: DW_TAG_structure_type, name: "&[core::fmt::ArgumentV1]", file: !2, size: 128, align: 64, elements: !150, identifier: "75f5022d043c15680ca5cab0010a06")
  372. !150 = !{!151, !202}
  373. !151 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !149, file: !2, baseType: !152, size: 64, align: 64)
  374. !152 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const core::fmt::ArgumentV1", baseType: !153, size: 64, align: 64)
  375. !153 = !DICompositeType(tag: DW_TAG_structure_type, name: "ArgumentV1", scope: !19, file: !2, size: 128, align: 64, elements: !154, identifier: "7d78ada53d8009da67ecba7538a0ed68")
  376. !154 = !{!155, !163}
  377. !155 = !DIDerivedType(tag: DW_TAG_member, name: "value", scope: !153, file: !2, baseType: !156, size: 64, align: 64)
  378. !156 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&core::fmt::Void", baseType: !157, size: 64, align: 64)
  379. !157 = !DICompositeType(tag: DW_TAG_structure_type, name: "Void", scope: !19, file: !2, align: 8, elements: !158, identifier: "3f115147eb39036e9b8e58c304275b62")
  380. !158 = !{!159, !160}
  381. !159 = !DIDerivedType(tag: DW_TAG_member, name: "_priv", scope: !157, file: !2, baseType: !60, align: 8)
  382. !160 = !DIDerivedType(tag: DW_TAG_member, name: "_oibit_remover", scope: !157, file: !2, baseType: !161, align: 8)
  383. !161 = !DICompositeType(tag: DW_TAG_structure_type, name: "PhantomData<*mut Fn<()>>", scope: !162, file: !2, align: 8, elements: !4, identifier: "6d76ae326ea9988dc28399594f4d5804")
  384. !162 = !DINamespace(name: "marker", scope: !20)
  385. !163 = !DIDerivedType(tag: DW_TAG_member, name: "formatter", scope: !153, file: !2, baseType: !164, size: 64, align: 64, offset: 64)
  386. !164 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "fn(&core::fmt::Void, &mut core::fmt::Formatter) -> core::result::Result<(), core::fmt::Error>", baseType: !165, size: 64, align: 64)
  387. !165 = !DISubroutineType(types: !166)
  388. !166 = !{!38, !156, !167}
  389. !167 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut core::fmt::Formatter", baseType: !168, size: 64, align: 64)
  390. !168 = !DICompositeType(tag: DW_TAG_structure_type, name: "Formatter", scope: !19, file: !2, size: 768, align: 64, elements: !169, identifier: "94571473faa1b07cc0e63420d9f6691c")
  391. !169 = !{!170, !171, !172, !173, !185, !186, !193, !201}
  392. !170 = !DIDerivedType(tag: DW_TAG_member, name: "flags", scope: !168, file: !2, baseType: !124, size: 32, align: 32, offset: 640)
  393. !171 = !DIDerivedType(tag: DW_TAG_member, name: "fill", scope: !168, file: !2, baseType: !121, size: 32, align: 32, offset: 672)
  394. !172 = !DIDerivedType(tag: DW_TAG_member, name: "align", scope: !168, file: !2, baseType: !25, size: 8, align: 8, offset: 704)
  395. !173 = !DIDerivedType(tag: DW_TAG_member, name: "width", scope: !168, file: !2, baseType: !174, size: 128, align: 64)
  396. !174 = !DICompositeType(tag: DW_TAG_union_type, name: "Option<usize>", scope: !44, file: !2, size: 128, align: 64, elements: !175, identifier: "cafd563190527b0449c337582e328cb8")
  397. !175 = !{!176, !180}
  398. !176 = !DIDerivedType(tag: DW_TAG_member, scope: !174, file: !2, baseType: !177, size: 64, align: 8)
  399. !177 = !DICompositeType(tag: DW_TAG_structure_type, name: "None", scope: !44, file: !2, size: 128, align: 64, elements: !178, identifier: "cafd563190527b0449c337582e328cb8::None")
  400. !178 = !{!179}
  401. !179 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !177, file: !2, baseType: !43, size: 64, align: 64)
  402. !180 = !DIDerivedType(tag: DW_TAG_member, scope: !174, file: !2, baseType: !181, size: 128, align: 64)
  403. !181 = !DICompositeType(tag: DW_TAG_structure_type, name: "Some", scope: !44, file: !2, size: 128, align: 64, elements: !182, identifier: "cafd563190527b0449c337582e328cb8::Some")
  404. !182 = !{!183, !184}
  405. !183 = !DIDerivedType(tag: DW_TAG_member, name: "RUST$ENUM$DISR", scope: !181, file: !2, baseType: !43, size: 64, align: 64)
  406. !184 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !181, file: !2, baseType: !90, size: 64, align: 64, offset: 64)
  407. !185 = !DIDerivedType(tag: DW_TAG_member, name: "precision", scope: !168, file: !2, baseType: !174, size: 128, align: 64, offset: 128)
  408. !186 = !DIDerivedType(tag: DW_TAG_member, name: "buf", scope: !168, file: !2, baseType: !187, size: 128, align: 64, offset: 256)
  409. !187 = !DICompositeType(tag: DW_TAG_structure_type, name: "&mut Write", scope: !19, file: !2, size: 128, align: 64, elements: !188, identifier: "a78b0336ebb9f7ec55f020840c74f35f")
  410. !188 = !{!189, !191}
  411. !189 = !DIDerivedType(tag: DW_TAG_member, name: "pointer", scope: !187, file: !2, baseType: !190, size: 64, align: 64, flags: DIFlagArtificial)
  412. !190 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*mut u8", baseType: !26, size: 64, align: 64)
  413. !191 = !DIDerivedType(tag: DW_TAG_member, name: "vtable", scope: !187, file: !2, baseType: !192, size: 64, align: 64, offset: 64, flags: DIFlagArtificial)
  414. !192 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&()", baseType: !60, size: 64, align: 64)
  415. !193 = !DIDerivedType(tag: DW_TAG_member, name: "curarg", scope: !168, file: !2, baseType: !194, size: 128, align: 64, offset: 384)
  416. !194 = !DICompositeType(tag: DW_TAG_structure_type, name: "Iter<core::fmt::ArgumentV1>", scope: !195, file: !2, size: 128, align: 64, elements: !196, identifier: "d2aec8e20489cb958544806eec77c7f4")
  417. !195 = !DINamespace(name: "slice", scope: !20)
  418. !196 = !{!197, !198, !199}
  419. !197 = !DIDerivedType(tag: DW_TAG_member, name: "ptr", scope: !194, file: !2, baseType: !152, size: 64, align: 64)
  420. !198 = !DIDerivedType(tag: DW_TAG_member, name: "end", scope: !194, file: !2, baseType: !152, size: 64, align: 64, offset: 64)
  421. !199 = !DIDerivedType(tag: DW_TAG_member, name: "_marker", scope: !194, file: !2, baseType: !200, align: 8)
  422. !200 = !DICompositeType(tag: DW_TAG_structure_type, name: "PhantomData<&core::fmt::ArgumentV1>", scope: !162, file: !2, align: 8, elements: !4, identifier: "4b6968443d50cf5d8d51682ba206b259")
  423. !201 = !DIDerivedType(tag: DW_TAG_member, name: "args", scope: !168, file: !2, baseType: !149, size: 128, align: 64, offset: 512)
  424. !202 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !149, file: !2, baseType: !90, size: 64, align: 64, offset: 64)
  425. !203 = !DISubroutineType(types: !204)
  426. !204 = !{!79, !82, !149}
  427. !205 = !DILocalVariable(name: "pieces", arg: 1, scope: !77, file: !62, line: 1, type: !82)
  428. !206 = !DILocation(line: 1, scope: !77)
  429. !207 = !DILocalVariable(name: "args", arg: 2, scope: !77, file: !62, line: 1, type: !149)
  430. !208 = !DILocation(line: 347, scope: !77)
  431. !209 = !DILocation(line: 348, scope: !77)
  432. !210 = !DILocation(line: 349, scope: !77)
  433. !211 = !DILocation(line: 346, scope: !77)
  434. !212 = !DILocation(line: 351, scope: !77)
  435. !213 = distinct !DISubprogram(name: "call_once<closure,()>", linkageName: "_ZN4core3ops8function6FnOnce9call_once17h897639fadab0f44eE", scope: !215, file: !214, line: 223, type: !218, isLocal: false, isDefinition: true, scopeLine: 223, flags: DIFlagPrototyped, isOptimized: false, unit: !13, templateParams: !220, variables: !4)
  436. !214 = !DIFile(filename: "/checkout/src/libcore/ops/function.rs", directory: "")
  437. !215 = !DINamespace(name: "FnOnce", scope: !216)
  438. !216 = !DINamespace(name: "function", scope: !217)
  439. !217 = !DINamespace(name: "ops", scope: !20)
  440. !218 = !DISubroutineType(types: !219)
  441. !219 = !{!72, !5}
  442. !220 = !{!221, !222}
  443. !221 = !DITemplateTypeParameter(name: "Self", type: !5)
  444. !222 = !DITemplateTypeParameter(name: "Args", type: !60)
  445. !223 = !DILocalVariable(arg: 1, scope: !213, file: !62, line: 1, type: !5)
  446. !224 = !DILocation(line: 1, scope: !213)
  447. !225 = !DILocalVariable(arg: 2, scope: !213, file: !62, line: 1, type: !60)
  448. !226 = !DILocation(line: 223, scope: !213)
  449. !227 = distinct !DISubprogram(name: "drop_in_place<closure>", linkageName: "_ZN4core3ptr13drop_in_place17h134c83a1ea4585baE", scope: !229, file: !228, line: 59, type: !230, isLocal: false, isDefinition: true, scopeLine: 59, flags: DIFlagPrototyped, isOptimized: false, unit: !13, templateParams: !233, variables: !4)
  450. !228 = !DIFile(filename: "/checkout/src/libcore/ptr.rs", directory: "")
  451. !229 = !DINamespace(name: "ptr", scope: !20)
  452. !230 = !DISubroutineType(types: !231)
  453. !231 = !{null, !232}
  454. !232 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*mut closure", baseType: !5, size: 64, align: 64)
  455. !233 = !{!234}
  456. !234 = !DITemplateTypeParameter(name: "T", type: !5)
  457. !235 = !DILocalVariable(arg: 1, scope: !227, file: !62, line: 1, type: !232)
  458. !236 = !DILocation(line: 1, scope: !227)
  459. !237 = !DILocation(line: 59, scope: !227)
  460. !238 = distinct !DISubprogram(name: "main", linkageName: "_ZN10playground4main17h410e35e3879b2df1E", scope: !239, file: !14, line: 1, type: !9, isLocal: true, isDefinition: true, scopeLine: 1, flags: DIFlagPrototyped | DIFlagMainSubprogram, isOptimized: false, unit: !13, templateParams: !4, variables: !4)
  461. !239 = !DINamespace(name: "playground", scope: null)
  462. !240 = !DILocation(line: 2, scope: !238)
  463. !241 = !DILocation(line: 3, scope: !242)
  464. !242 = !DILexicalBlockFile(scope: !238, file: !14, discriminator: 0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement