@@ -555,8 +555,8 @@ fn subroutine_type_metadata<'ll, 'tcx>(
555
555
)
556
556
}
557
557
558
- // Create debuginfo for `dyn SomeTrait` types. Currently these are empty structs
559
- // we with the correct type name (e.g. "dyn SomeTrait<Foo, Item=u32> + Sync").
558
+ /// Create debuginfo for `dyn SomeTrait` types. Currently these are empty structs
559
+ /// we with the correct type name (e.g. "dyn SomeTrait<Foo, Item=u32> + Sync").
560
560
fn dyn_type_metadata < ' ll , ' tcx > (
561
561
cx : & CodegenCx < ' ll , ' tcx > ,
562
562
dyn_type : Ty < ' tcx > ,
@@ -570,23 +570,23 @@ fn dyn_type_metadata<'ll, 'tcx>(
570
570
}
571
571
}
572
572
573
- // Create debuginfo for `[T]` and `str`. These are unsized.
574
- //
575
- // Note: We currently emit just emit the debuginfo for the element type here
576
- // (i.e. `T` for slices and `u8` for `str`), so that we end up with
577
- // `*const T` for the `data_ptr` field of the corresponding fat-pointer
578
- // debuginfo of `&[T]`.
579
- //
580
- // It would be preferable and more accurate if we emitted a DIArray of T
581
- // without an upper bound instead. That is, LLVM already supports emitting
582
- // debuginfo of arrays of unknown size. But GDB currently seems to end up
583
- // in an infinite loop when confronted with such a type.
584
- //
585
- // As a side effect of the current encoding every instance of a type like
586
- // `struct Foo { unsized_field: [u8] }` will look like
587
- // `struct Foo { unsized_field: u8 }` in debuginfo. If the length of the
588
- // slice is zero, then accessing `unsized_field` in the debugger would
589
- // result in an out-of-bounds access.
573
+ /// Create debuginfo for `[T]` and `str`. These are unsized.
574
+ ///
575
+ /// Note: We currently emit just emit the debuginfo for the element type here
576
+ /// (i.e. `T` for slices and `u8` for `str`), so that we end up with
577
+ /// `*const T` for the `data_ptr` field of the corresponding fat-pointer
578
+ /// debuginfo of `&[T]`.
579
+ ///
580
+ /// It would be preferable and more accurate if we emitted a DIArray of T
581
+ /// without an upper bound instead. That is, LLVM already supports emitting
582
+ /// debuginfo of arrays of unknown size. But GDB currently seems to end up
583
+ /// in an infinite loop when confronted with such a type.
584
+ ///
585
+ /// As a side effect of the current encoding every instance of a type like
586
+ /// `struct Foo { unsized_field: [u8] }` will look like
587
+ /// `struct Foo { unsized_field: u8 }` in debuginfo. If the length of the
588
+ /// slice is zero, then accessing `unsized_field` in the debugger would
589
+ /// result in an out-of-bounds access.
590
590
fn slice_type_metadata < ' ll , ' tcx > (
591
591
cx : & CodegenCx < ' ll , ' tcx > ,
592
592
slice_type : Ty < ' tcx > ,
0 commit comments