Rust-gdb: Examine vec of pointers

I'm trying to see what the contents of a vector are at a particular point in a running program. rust-gdb gives me this:

(gdb) p out_comm
$56 = Vec(size=22) = {0x7fea65b10a24, 0x7fea65b10f38, 0x7fea65b10f4c, 0x7fea65b1103c, 0x7fea65b11334, 0x7fea65b11460, 0x7fea65b11654,
  0x7fea65b11668, 0x7fea65b11dac, 0x7fea65b124b4, 0x7fea65b124c8, 0x7fea65b124dc, 0x7fea65b124f0, 0x7fea65b12b58, 0x7fea65b12c84,
  0x7fea65b12edc, 0x7fea65b13030, 0x7fea65b13148, 0x7fea65b13238, 0x7fea65b13878, 0x7fea65b13904, 0x7fea65b13a80}

but this is a typed vec of references (or pointers to gdb, I guess), so I should be able to see what they are. And yet, I cannot seem to get the objects directly:

(gdb) p out_comm[1]
Cannot subscript non-array type

I can get the first element this way:

(gdb) p **out_comm.buf.ptr.pointer.pointer
$57 = libaxiom_verge2::graph::location::Location {id: libaxiom_verge2::graph::enums::LocationId::Amagi_Breach__Upper_Lake__Column__Health, item: libaxiom_verge2::items::Item::Health_Fragment, canonical: libaxiom_verge2::graph::enums::CanonId::Loc_Amagi_Breach__Upper_Lake__Column__Health, time: 0, dest: libaxiom_verge2::graph::enums::SpotId::None, price: libaxiom_verge2::prices::Currency::Free, price_per_sec: libaxiom_verge2::prices::Currency::Free, skippable: false}

But for any other element, I have to do this manual cast:

(gdb) p *(0x7fea65b10f38 as *libaxiom_verge2::graph::location::Location)
$58 = libaxiom_verge2::graph::location::Location {id: libaxiom_verge2::graph::enums::LocationId::Annuna__Apocalypse__Center_Scaffold_West__Boss_Fight, item: libaxiom_verge2::items::Item::Apocalypse_Bomb, canonical: libaxiom_verge2::graph::enums::CanonId::Apocalypse_Bomb, time: 28000, dest: libaxiom_verge2::graph::enums::SpotId::Annuna__Apocalypse__Bomb_Northwest, price: libaxiom_verge2::prices::Currency::Free, price_per_sec: libaxiom_verge2::prices::Currency::Free, skippable: false}

Is there a proper way to be doing this?