Skip to content

Conversation

@Walnut356
Copy link
Contributor

Background

Almost all of the commands in lldb_commands used a regex to associate a type with the synthetic_lookup and summary_lookup python functions. When looking up a type, LLDB iterates through the commands in reverse order (so that new commands can overwrite old ones), stopping when it finds a match. These lookups are cached, but it's a shallow cache (e.g. when Vec<T> is matched by lldb, it will always point to synthetic_lookup, NOT the result of synthetic_lookup which would be StdVecSyntheticProvider).

This becomes a problem because within synthetic_lookup and summary_lookup we run classify_rust_type which checks exact same regexes again. This causes 2 issues:

  1. running the regexes via lldb commands is even more of a waste because the final check is a .* regex that associates with synthetic_lookup anyway
  2. Every time lldb wants to display a value, that value must run the entirety of synthetic_lookup and run its type through 19 regexes + some assorted checks every single time. Those checks take between 1 and 100 microseconds depending on the type.

On a 10,000 element Vec<i32> (which bypasses classify_struct and therefore the 19 regexes), ~30 milliseconds are spent on classify_rust_type. For a 10,000 element Vec<UserDefinedStruct> that jumps up to ~350 milliseconds.

The salt on the wound is that some of those 19 regexes are useless (BTreeMap and BTreeSet which don't even have synthetic/summary providers so it doesn't matter if we know what type it is), and then the results of that lookup function use string-comparisons in a giant if...elif...elif chain.

Solution

To fix all of that, the lldb_commands now point directly to their appropriate synthetic/summary when possible. In cases where there was extra logic, streamlined functions have been added that have much fewer types being passed in, thus only need to do one or two simple checks (e.g. classify_hashmap and classify_hashset).

Some of the lldb_commands regexes were also consolidated to reduce the total number of commands we pass to lldb (e.g. NonZero

An extra upshot is that summary_lookup could be completely removed due to being redundant.

@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Oct 10, 2025
@rustbot
Copy link
Collaborator

rustbot commented Oct 10, 2025

r? @Mark-Simulacrum

rustbot has assigned @Mark-Simulacrum.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@Zalathar
Copy link
Member

While I'm not comfortable reviewing this myself (and it might be tricky to find someone who is), I do want to at least say thanks for working on it.

@Walnut356
Copy link
Contributor Author

Walnut356 commented Oct 13, 2025

If it helps the review any, this is more or less how it should have been written from the start. The type synthetic add -l technically expects a python class (-l is short for --python-class), it's sortof a hack that we exploit LLDB not being able to differentiate between an initializer function and a flat function. It's nice because we can check extra bits of the value without callback-based type matching (which was only introduced in lldb 19.0), but I'm not sure why it was written the way it was in cases like Vec<T> that are unambiguous.

The MSVC providers I added a while ago already point directly to the initializer rather than taking a trip through synthetic_lookup and summary_lookup first. This patch just applies that to all of the commands because it's significantly faster.

There shouldn't be any actual changes for end-users (aside from IndirectionSyntheticProvider fixing a minor bug with pointer types).

@Mark-Simulacrum
Copy link
Member

r=me if this is still ready to go (not sure if other changes have landed in the last month that make a rebase make sense). I think we can land this and revert/revisit if it runs into issues, the description makes sense to me and the changes seem reasonable.

Copy link
Member

@jieyouxu jieyouxu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes also look sensible to me. Given that at worst we can revert, let's merge this.

View changes since this review

@jieyouxu
Copy link
Member

@bors r=Mark-Simulacrum,jieyouxu rollup

@bors
Copy link
Collaborator

bors commented Nov 12, 2025

📌 Commit 2e8e618 has been approved by Mark-Simulacrum,jieyouxu

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Nov 12, 2025
@jieyouxu
Copy link
Member

Uh actually @Walnut356, this doesn't need a rebase or anything, right? If not, please r= us
@bors r-
@bors delegate+

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Nov 12, 2025
@bors
Copy link
Collaborator

bors commented Nov 12, 2025

✌️ @Walnut356, you can now approve this pull request!

If @jieyouxu told you to "r=me" after making some further change, please make that change, then do @bors r=@jieyouxu

@Walnut356
Copy link
Contributor Author

@bors r=@jieyouxu

@bors
Copy link
Collaborator

bors commented Nov 15, 2025

📌 Commit 2e8e618 has been approved by jieyouxu

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Nov 15, 2025
@jieyouxu
Copy link
Member

@bors r=Mark-Simulacrum,jieyouxu

@bors
Copy link
Collaborator

bors commented Nov 15, 2025

💡 This pull request was already approved, no need to approve it again.

@bors
Copy link
Collaborator

bors commented Nov 15, 2025

📌 Commit 2e8e618 has been approved by Mark-Simulacrum,jieyouxu

It is now in the queue for this repository.

@bors
Copy link
Collaborator

bors commented Nov 15, 2025

⌛ Testing commit 2e8e618 with merge 3d00472...

bors added a commit that referenced this pull request Nov 15, 2025
[Debugger Visualizers] Optimize lookup behavior

# Background

Almost all of the commands in `lldb_commands` used a regex to associate a type with the `synthetic_lookup` and `summary_lookup` python functions. When looking up a type, LLDB iterates through the commands in reverse order (so that new commands can overwrite old ones), stopping when it finds a match. These lookups are cached, but it's a shallow cache (e.g. when `Vec<T>` is matched by lldb, it will always point to `synthetic_lookup`, NOT the result of `synthetic_lookup` which would be `StdVecSyntheticProvider`).

This becomes a problem because within `synthetic_lookup` and `summary_lookup` we run `classify_rust_type` which checks exact same regexes again. This causes 2 issues:

1. running the regexes via lldb commands is even more of a waste because the final check is a `.*` regex that associates with `synthetic_lookup` anyway
2. Every time lldb wants to display a value, that value must run the entirety of `synthetic_lookup` and run its type through 19 regexes + some assorted checks every single time. Those checks take between 1 and 100 microseconds depending on the type.

On a 10,000 element `Vec<i32>` (which bypasses `classify_struct` and therefore the 19 regexes), ~30 milliseconds are spent on `classify_rust_type`. For a 10,000 element `Vec<UserDefinedStruct>` that jumps up to ~350 milliseconds.

The salt on the wound is that some of those 19 regexes are useless (`BTreeMap` and `BTreeSet` which don't even have synthetic/summary providers so it doesn't matter if we know what type it is), and then the results of that lookup function use string-comparisons in a giant `if...elif...elif` chain.

# Solution

To fix all of that, the `lldb_commands` now point directly to their appropriate synthetic/summary when possible. In cases where there was extra logic, streamlined functions have been added that have much fewer types being passed in, thus only need to do one or two  simple checks (e.g. `classify_hashmap` and `classify_hashset`).

Some of the `lldb_commands` regexes were also consolidated to reduce the total number of commands we pass to lldb (e.g. `NonZero`

An extra upshot is that `summary_lookup` could be completely removed due to being redundant.
@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Collaborator

bors commented Nov 15, 2025

💔 Test failed - checks-actions

@bors bors removed the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Nov 15, 2025
@Walnut356
Copy link
Contributor Author

@rustbot review

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Dec 15, 2025
@Mark-Simulacrum
Copy link
Member

@bors r+

@bors
Copy link
Collaborator

bors commented Dec 20, 2025

📌 Commit 4463c58 has been approved by Mark-Simulacrum

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Dec 20, 2025
Kivooeo added a commit to Kivooeo/rust that referenced this pull request Dec 20, 2025
[Debugger Visualizers] Optimize lookup behavior

# Background

Almost all of the commands in `lldb_commands` used a regex to associate a type with the `synthetic_lookup` and `summary_lookup` python functions. When looking up a type, LLDB iterates through the commands in reverse order (so that new commands can overwrite old ones), stopping when it finds a match. These lookups are cached, but it's a shallow cache (e.g. when `Vec<T>` is matched by lldb, it will always point to `synthetic_lookup`, NOT the result of `synthetic_lookup` which would be `StdVecSyntheticProvider`).

This becomes a problem because within `synthetic_lookup` and `summary_lookup` we run `classify_rust_type` which checks exact same regexes again. This causes 2 issues:

1. running the regexes via lldb commands is even more of a waste because the final check is a `.*` regex that associates with `synthetic_lookup` anyway
2. Every time lldb wants to display a value, that value must run the entirety of `synthetic_lookup` and run its type through 19 regexes + some assorted checks every single time. Those checks take between 1 and 100 microseconds depending on the type.

On a 10,000 element `Vec<i32>` (which bypasses `classify_struct` and therefore the 19 regexes), ~30 milliseconds are spent on `classify_rust_type`. For a 10,000 element `Vec<UserDefinedStruct>` that jumps up to ~350 milliseconds.

The salt on the wound is that some of those 19 regexes are useless (`BTreeMap` and `BTreeSet` which don't even have synthetic/summary providers so it doesn't matter if we know what type it is), and then the results of that lookup function use string-comparisons in a giant `if...elif...elif` chain.

# Solution

To fix all of that, the `lldb_commands` now point directly to their appropriate synthetic/summary when possible. In cases where there was extra logic, streamlined functions have been added that have much fewer types being passed in, thus only need to do one or two  simple checks (e.g. `classify_hashmap` and `classify_hashset`).

Some of the `lldb_commands` regexes were also consolidated to reduce the total number of commands we pass to lldb (e.g. `NonZero`

An extra upshot is that `summary_lookup` could be completely removed due to being redundant.
bors added a commit that referenced this pull request Dec 20, 2025
Rollup of 7 pull requests

Successful merges:

 - #147552 ([Debugger Visualizers] Optimize lookup behavior)
 - #149437 (Fix trailing newline in JUnit formatter)
 - #149812 (Add const default for OnceCell and OnceLock)
 - #150035 (fix docustring on fetch_or)
 - #150160 (Fix ICE (#149980) for invalid EII in statement position)
 - #150191 (change non-canonical clone impl to {*self}, fix some doc comments)
 - #150203 (Drop the From derive macro from the v1 prelude)

r? `@ghost`
`@rustbot` modify labels: rollup
@Kivooeo
Copy link
Member

Kivooeo commented Dec 20, 2025

Presumably caused a fail in #150206

@bors r-

@bors try aarch64-apple

@rust-bors
Copy link

rust-bors bot commented Dec 20, 2025

Unknown argument "aarch64-apple". Run @bors2 help to see available commands.

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Dec 20, 2025
@Kivooeo
Copy link
Member

Kivooeo commented Dec 20, 2025

@bors try jobs=aarch64-apple

@rust-bors

This comment has been minimized.

rust-bors bot added a commit that referenced this pull request Dec 20, 2025
[Debugger Visualizers] Optimize lookup behavior

try-job: aarch64-apple
@rust-log-analyzer

This comment has been minimized.

@rust-bors
Copy link

rust-bors bot commented Dec 20, 2025

💔 Test for a74aee3 failed: CI. Failed jobs:

@Walnut356
Copy link
Contributor Author

@rustbot review

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Dec 21, 2025
@Kivooeo
Copy link
Member

Kivooeo commented Dec 21, 2025

@bors try jobs=aarch64-apple

rust-bors bot added a commit that referenced this pull request Dec 21, 2025
[Debugger Visualizers] Optimize lookup behavior

try-job: aarch64-apple
@rust-bors

This comment has been minimized.

@rust-log-analyzer
Copy link
Collaborator

The job aarch64-apple failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)

---- [debuginfo-lldb] tests/debuginfo/associated-types.rs stdout ----
NOTE: compiletest thinks it is using LLDB version 1500

error: check directive(s) from `/Users/runner/work/rust/rust/tests/debuginfo/associated-types.rs` not found in debugger output. errors:
    (associated-types.rs:56) `[...] { 0 = 4 1 = 5 }`
the following subset of check directive(s) was found successfully:
    (associated-types.rs:42) `(associated_types::Struct<int>) arg = { b = -1 b1 = 0 } `
    (associated-types.rs:46) `(long) inferred = 1 `
    (associated-types.rs:48) `(long) inferred = 1 `
    (associated-types.rs:52) `(long) arg = 2 `
    (associated-types.rs:60) `(int) a = 6 `
    (associated-types.rs:62) `(long) b = 7 `
    (associated-types.rs:66) `(long) a = 8 `
    (associated-types.rs:68) `(int) b = 9 `
status: exit status: 0
command: LLDB_BATCHMODE_SCRIPT_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/associated-types.lldb/associated-types.debugger.script" LLDB_BATCHMODE_TARGET_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/associated-types.lldb/a" PYTHONPATH="/Users/runner/work/rust/rust/src/etc" PYTHONUNBUFFERED="1" "lldb" "--one-line" "script --language python -- import lldb_batchmode; lldb_batchmode.main()"
--- stdout -------------------------------
(lldb) script --language python -- import lldb_batchmode; lldb_batchmode.main()
LLDB batch-mode script
----------------------
Debugger commands script is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/associated-types.lldb/associated-types.debugger.script'.
Target executable is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/associated-types.lldb/a'.
Current working directory is '/Users/runner/work/rust/rust'
Creating a target for '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/associated-types.lldb/a'
settings set auto-confirm true

settings set target.inherit-tcc true

version
lldb-1500.0.404.7 Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4) 
command script import /Users/runner/work/rust/rust/src/etc/lldb_lookup.py
# LLDB iterates through these in reverse order to discover summaries/synthetics that means the top
# of the list can be "overwritten" by items lower on the list. Be careful when reordering items.
# Forces test-compliant formatting to all other types
type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust
# Std String
type synthetic add -l lldb_lookup.StdStringSyntheticProvider -x "^(alloc::([a-z_]+::)+)String$" --category Rust
type summary add -F lldb_lookup.StdStringSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust
# Std str
type synthetic add -l lldb_lookup.StdSliceSyntheticProvider -x "^&(mut )?str$" --category Rust
type summary add -F lldb_lookup.StdStrSummaryProvider -e -x -h "^&(mut )?str$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCStrSyntheticProvider -x "^ref(_mut)?\$<str\$>$" --category Rust
type summary add -F lldb_lookup.StdStrSummaryProvider -e -h -x "^ref(_mut)?\$<str\$>$" --category Rust
# Array/Slice
type synthetic add -l lldb_lookup.StdSliceSyntheticProvider -x "^&(mut )?\\[.+\\]$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^&(mut )?\\[.+\\]$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCStdSliceSyntheticProvider -x "^ref(_mut)?\$<slice2\$<.+> >" --category Rust
type summary add -F lldb_lookup.StdSliceSummaryProvider -e -x -h "^ref(_mut)?\$<slice2\$<.+> >" --category Rust
# OsString
type summary add -F lldb_lookup.StdOsStringSummaryProvider -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust
# Vec
type synthetic add -l lldb_lookup.StdVecSyntheticProvider -x "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
# VecDeque
type synthetic add -l lldb_lookup.StdVecDequeSyntheticProvider -x "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
# HashMap
type synthetic add -l lldb_lookup.classify_hashmap -x "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
# HashSet
type synthetic add -l lldb_lookup.classify_hashset -x "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
# Rc
type synthetic add -l lldb_lookup.StdRcSyntheticProvider -x "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
type summary add -F lldb_lookup.StdRcSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
# Arc
type synthetic add -l lldb_lookup.arc_synthetic -x "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
type summary add -F lldb_lookup.StdRcSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
# Cell
type synthetic add -l lldb_lookup.StdCellSyntheticProvider -x "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust
# RefCell
type synthetic add -l lldb_lookup.StdRefSyntheticProvider -x "^(core::([a-z_]+::)+)Ref(Cell|Mut)?<.+>$" --category Rust
type summary add -F lldb_lookup.StdRefSummaryProvider -e -x -h "^(core::([a-z_]+::)+)Ref(Cell|Mut)?<.+>$" --category Rust
# NonZero
type summary add -F lldb_lookup.StdNonZeroNumberSummaryProvider -e -x -h "^(core::([a-z_]+::)+)NonZero(<.+>|I\d{0,3}|U\d{0,3})$" --category Rust
# PathBuf
type summary add -F lldb_lookup.StdPathBufSummaryProvider -e -x -h "^(std::([a-z_]+::)+)PathBuf$" --category Rust
# Path
type summary add -F lldb_lookup.StdPathSummaryProvider -e -x -h "^&(mut )?(std::([a-z_]+::)+)Path$" --category Rust
# Enum
# type summary add -F lldb_lookup.ClangEncodedEnumSummaryProvider -e -h "lldb_lookup.is_sum_type_enum" --recognizer-function --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCEnumSyntheticProvider -x "^enum2\$<.+>$" --category Rust
type summary add -F lldb_lookup.MSVCEnumSummaryProvider -e -x -h "^enum2\$<.+>$" --category Rust
## MSVC Variants
type synthetic add -l lldb_lookup.synthetic_lookup -x "^enum2\$<.+>::.*$" --category Rust
# Tuple
type synthetic add -l lldb_lookup.TupleSyntheticProvider -x "^\(.*\)$" --category Rust
type summary add -F lldb_lookup.TupleSummaryProvider -x "^\(.*\)$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCTupleSyntheticProvider -x "^tuple\$<.+>$" --category Rust
type summary add -F lldb_lookup.TupleSummaryProvider -e -x -h "^tuple\$<.+>$" --category Rust
type category enable Rust

breakpoint set --file 'associated-types.rs' --line 96
DEBUG: breakpoint added, id = 1
Breakpoint 1: where = a`associated_types::assoc_struct::<i32> + 20 at associated-types.rs:96:5, address = 0x000000010000383c 
DEBUG: registering breakpoint callback, id = 1
Error while trying to register breakpoint callback, id = 1, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'associated-types.rs' --line 103
DEBUG: breakpoint added, id = 2
Breakpoint 2: where = a`associated_types::assoc_local::<i32> + 112 at associated-types.rs:103:5, address = 0x00000001000037b8 
DEBUG: registering breakpoint callback, id = 2
Error while trying to register breakpoint callback, id = 2, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'associated-types.rs' --line 107
DEBUG: breakpoint added, id = 3
Breakpoint 3: where = a`associated_types::assoc_arg::<i32> + 16 at associated-types.rs:107:5, address = 0x00000001000038c4 
DEBUG: registering breakpoint callback, id = 3
Error while trying to register breakpoint callback, id = 3, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'associated-types.rs' --line 115
Breakpoint 4: where = a`associated_types::assoc_tuple::<i32> + 20 at associated-types.rs:115:5, address = 0x00000001000037fc 
breakpoint set --file 'associated-types.rs' --line 122
DEBUG: breakpoint added, id = 4
DEBUG: breakpoint added, id = 5
Breakpoint 5: where = a`associated_types::assoc_enum::<i32> + 84 at associated-types.rs:122:13, address = 0x00000001000036ec 
DEBUG: registering breakpoint callback, id = 5
Error while trying to register breakpoint callback, id = 5, message = error: could not get num args: can't find callable: breakpoint_callback

DEBUG: registering breakpoint callback, id = 4
Error while trying to register breakpoint callback, id = 4, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'associated-types.rs' --line 125
Breakpoint 6: where = a`associated_types::assoc_enum::<i32> + 56 at associated-types.rs:125:13, address = 0x00000001000036d0 
DEBUG: breakpoint added, id = 6
run
Process 6903 stopped * thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = breakpoint 1.1 frame #0: 0x000000010000383c a`associated_types::assoc_struct::<i32>(arg=Struct<i32> @ 0x000000016fdfd280) at associated-types.rs:96:5 93 } 94 95 fn assoc_struct<T: TraitWithAssocType>(arg: Struct<T>) { -> 96 zzz(); // #break ^ 97 } 98 99 fn assoc_local<T: TraitWithAssocType>(x: T) { Target 0: (a) stopped. Process 6903 launched: '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/associated-types.lldb/a' (arm64) 
DEBUG: registering breakpoint callback, id = 6
Error while trying to register breakpoint callback, id = 6, message = error: could not get num args: can't find callable: breakpoint_callback

v arg
(associated_types::Struct<int>) arg = { b = -1 b1 = 0 } 
continue
v inferred
(long) inferred = 1 
v explicitly
(long) explicitly = 1 
continue
v arg
(long) arg = 2 
continue
v arg
((i32, i64)) arg = (4, 5) 
continue
v a
(int) a = 6 
v b
(long) b = 7 
---
continue
quit
------------------------------------------
--- stderr -------------------------------
warning: This version of LLDB has no plugin for the language "rust". Inspection of frame variables will be limited.
------------------------------------------

---- [debuginfo-lldb] tests/debuginfo/associated-types.rs stdout end ----
---- [debuginfo-lldb] tests/debuginfo/borrowed-tuple.rs stdout ----
NOTE: compiletest thinks it is using LLDB version 1500

error: check directive(s) from `/Users/runner/work/rust/rust/tests/debuginfo/borrowed-tuple.rs` not found in debugger output. errors:
    (borrowed-tuple.rs:24) `[...] { 0 = -14 1 = -19 }`
    (borrowed-tuple.rs:27) `[...] { 0 = -15 1 = -20 }`
    (borrowed-tuple.rs:30) `[...] { 0 = -17 1 = -22 }`
status: exit status: 0
command: LLDB_BATCHMODE_SCRIPT_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/borrowed-tuple.lldb/borrowed-tuple.debugger.script" LLDB_BATCHMODE_TARGET_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/borrowed-tuple.lldb/a" PYTHONPATH="/Users/runner/work/rust/rust/src/etc" PYTHONUNBUFFERED="1" "lldb" "--one-line" "script --language python -- import lldb_batchmode; lldb_batchmode.main()"
--- stdout -------------------------------
(lldb) script --language python -- import lldb_batchmode; lldb_batchmode.main()
LLDB batch-mode script
----------------------
Debugger commands script is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/borrowed-tuple.lldb/borrowed-tuple.debugger.script'.
Target executable is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/borrowed-tuple.lldb/a'.
Current working directory is '/Users/runner/work/rust/rust'
Creating a target for '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/borrowed-tuple.lldb/a'
settings set auto-confirm true

settings set target.inherit-tcc true

version
lldb-1500.0.404.7 Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4) 
command script import /Users/runner/work/rust/rust/src/etc/lldb_lookup.py
# LLDB iterates through these in reverse order to discover summaries/synthetics that means the top
# of the list can be "overwritten" by items lower on the list. Be careful when reordering items.
# Forces test-compliant formatting to all other types
type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust
# Std String
type synthetic add -l lldb_lookup.StdStringSyntheticProvider -x "^(alloc::([a-z_]+::)+)String$" --category Rust
type summary add -F lldb_lookup.StdStringSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust
# Std str
type synthetic add -l lldb_lookup.StdSliceSyntheticProvider -x "^&(mut )?str$" --category Rust
type summary add -F lldb_lookup.StdStrSummaryProvider -e -x -h "^&(mut )?str$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCStrSyntheticProvider -x "^ref(_mut)?\$<str\$>$" --category Rust
type summary add -F lldb_lookup.StdStrSummaryProvider -e -h -x "^ref(_mut)?\$<str\$>$" --category Rust
# Array/Slice
type synthetic add -l lldb_lookup.StdSliceSyntheticProvider -x "^&(mut )?\\[.+\\]$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^&(mut )?\\[.+\\]$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCStdSliceSyntheticProvider -x "^ref(_mut)?\$<slice2\$<.+> >" --category Rust
type summary add -F lldb_lookup.StdSliceSummaryProvider -e -x -h "^ref(_mut)?\$<slice2\$<.+> >" --category Rust
# OsString
type summary add -F lldb_lookup.StdOsStringSummaryProvider -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust
# Vec
type synthetic add -l lldb_lookup.StdVecSyntheticProvider -x "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
# VecDeque
type synthetic add -l lldb_lookup.StdVecDequeSyntheticProvider -x "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
# HashMap
type synthetic add -l lldb_lookup.classify_hashmap -x "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
# HashSet
type synthetic add -l lldb_lookup.classify_hashset -x "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
# Rc
type synthetic add -l lldb_lookup.StdRcSyntheticProvider -x "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
type summary add -F lldb_lookup.StdRcSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
# Arc
type synthetic add -l lldb_lookup.arc_synthetic -x "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
type summary add -F lldb_lookup.StdRcSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
# Cell
type synthetic add -l lldb_lookup.StdCellSyntheticProvider -x "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust
# RefCell
type synthetic add -l lldb_lookup.StdRefSyntheticProvider -x "^(core::([a-z_]+::)+)Ref(Cell|Mut)?<.+>$" --category Rust
type summary add -F lldb_lookup.StdRefSummaryProvider -e -x -h "^(core::([a-z_]+::)+)Ref(Cell|Mut)?<.+>$" --category Rust
# NonZero
type summary add -F lldb_lookup.StdNonZeroNumberSummaryProvider -e -x -h "^(core::([a-z_]+::)+)NonZero(<.+>|I\d{0,3}|U\d{0,3})$" --category Rust
# PathBuf
type summary add -F lldb_lookup.StdPathBufSummaryProvider -e -x -h "^(std::([a-z_]+::)+)PathBuf$" --category Rust
# Path
type summary add -F lldb_lookup.StdPathSummaryProvider -e -x -h "^&(mut )?(std::([a-z_]+::)+)Path$" --category Rust
# Enum
# type summary add -F lldb_lookup.ClangEncodedEnumSummaryProvider -e -h "lldb_lookup.is_sum_type_enum" --recognizer-function --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCEnumSyntheticProvider -x "^enum2\$<.+>$" --category Rust
type summary add -F lldb_lookup.MSVCEnumSummaryProvider -e -x -h "^enum2\$<.+>$" --category Rust
## MSVC Variants
type synthetic add -l lldb_lookup.synthetic_lookup -x "^enum2\$<.+>::.*$" --category Rust
# Tuple
type synthetic add -l lldb_lookup.TupleSyntheticProvider -x "^\(.*\)$" --category Rust
type summary add -F lldb_lookup.TupleSummaryProvider -x "^\(.*\)$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCTupleSyntheticProvider -x "^tuple\$<.+>$" --category Rust
type summary add -F lldb_lookup.TupleSummaryProvider -e -x -h "^tuple\$<.+>$" --category Rust
type category enable Rust

breakpoint set --file 'borrowed-tuple.rs' --line 43
DEBUG: breakpoint added, id = 1
Breakpoint 1: where = a`borrowed_tuple::main + 212 at borrowed-tuple.rs:43:5, address = 0x00000001000030b0 
DEBUG: registering breakpoint callback, id = 1
Error while trying to register breakpoint callback, id = 1, message = error: could not get num args: can't find callable: breakpoint_callback

run
Process 7246 stopped * thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = breakpoint 1.1 frame #0: 0x00000001000030b0 a`borrowed_tuple::main at borrowed-tuple.rs:43:5 40 let unique_val: Box<(i16, f32)> = Box::new((-17, -22f32)); 41 let unique_val_ref: &(i16, f32) = &*unique_val; 42 -> 43 zzz(); // #break ^ 44 } 45 46 fn zzz() {()} Target 0: (a) stopped. Process 7246 launched: '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/borrowed-tuple.lldb/a' (arm64) 
v *stack_val_ref
((i16, f32)) *stack_val_ref = (-14, -19) 
v *ref_to_unnamed
((i16, f32)) *ref_to_unnamed = (-15, -20) 
v *unique_val_ref
((i16, f32)) *unique_val_ref = (-17, -22) 
quit
------------------------------------------
--- stderr -------------------------------
warning: This version of LLDB has no plugin for the language "rust". Inspection of frame variables will be limited.
------------------------------------------

---- [debuginfo-lldb] tests/debuginfo/borrowed-tuple.rs stdout end ----
---- [debuginfo-lldb] tests/debuginfo/box.rs stdout ----
NOTE: compiletest thinks it is using LLDB version 1500

error: check directive(s) from `/Users/runner/work/rust/rust/tests/debuginfo/box.rs` not found in debugger output. errors:
    (box.rs:21) `[...] { 0 = 2 1 = 3.5 }`
the following subset of check directive(s) was found successfully:
    (box.rs:19) `DEBUG: breakpoint added, id = 1`
status: exit status: 0
command: LLDB_BATCHMODE_SCRIPT_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/box.lldb/box.debugger.script" LLDB_BATCHMODE_TARGET_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/box.lldb/a" PYTHONPATH="/Users/runner/work/rust/rust/src/etc" PYTHONUNBUFFERED="1" "lldb" "--one-line" "script --language python -- import lldb_batchmode; lldb_batchmode.main()"
--- stdout -------------------------------
(lldb) script --language python -- import lldb_batchmode; lldb_batchmode.main()
LLDB batch-mode script
----------------------
Debugger commands script is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/box.lldb/box.debugger.script'.
Target executable is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/box.lldb/a'.
Current working directory is '/Users/runner/work/rust/rust'
Creating a target for '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/box.lldb/a'
settings set auto-confirm true

settings set target.inherit-tcc true

version
lldb-1500.0.404.7 Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4) 
command script import /Users/runner/work/rust/rust/src/etc/lldb_lookup.py
# LLDB iterates through these in reverse order to discover summaries/synthetics that means the top
# of the list can be "overwritten" by items lower on the list. Be careful when reordering items.
# Forces test-compliant formatting to all other types
type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust
# Std String
type synthetic add -l lldb_lookup.StdStringSyntheticProvider -x "^(alloc::([a-z_]+::)+)String$" --category Rust
type summary add -F lldb_lookup.StdStringSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust
# Std str
type synthetic add -l lldb_lookup.StdSliceSyntheticProvider -x "^&(mut )?str$" --category Rust
type summary add -F lldb_lookup.StdStrSummaryProvider -e -x -h "^&(mut )?str$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCStrSyntheticProvider -x "^ref(_mut)?\$<str\$>$" --category Rust
type summary add -F lldb_lookup.StdStrSummaryProvider -e -h -x "^ref(_mut)?\$<str\$>$" --category Rust
# Array/Slice
type synthetic add -l lldb_lookup.StdSliceSyntheticProvider -x "^&(mut )?\\[.+\\]$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^&(mut )?\\[.+\\]$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCStdSliceSyntheticProvider -x "^ref(_mut)?\$<slice2\$<.+> >" --category Rust
type summary add -F lldb_lookup.StdSliceSummaryProvider -e -x -h "^ref(_mut)?\$<slice2\$<.+> >" --category Rust
# OsString
type summary add -F lldb_lookup.StdOsStringSummaryProvider -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust
# Vec
type synthetic add -l lldb_lookup.StdVecSyntheticProvider -x "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
# VecDeque
type synthetic add -l lldb_lookup.StdVecDequeSyntheticProvider -x "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
# HashMap
type synthetic add -l lldb_lookup.classify_hashmap -x "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
# HashSet
type synthetic add -l lldb_lookup.classify_hashset -x "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
# Rc
type synthetic add -l lldb_lookup.StdRcSyntheticProvider -x "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
type summary add -F lldb_lookup.StdRcSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
# Arc
type synthetic add -l lldb_lookup.arc_synthetic -x "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
type summary add -F lldb_lookup.StdRcSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
# Cell
type synthetic add -l lldb_lookup.StdCellSyntheticProvider -x "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust
# RefCell
type synthetic add -l lldb_lookup.StdRefSyntheticProvider -x "^(core::([a-z_]+::)+)Ref(Cell|Mut)?<.+>$" --category Rust
type summary add -F lldb_lookup.StdRefSummaryProvider -e -x -h "^(core::([a-z_]+::)+)Ref(Cell|Mut)?<.+>$" --category Rust
# NonZero
type summary add -F lldb_lookup.StdNonZeroNumberSummaryProvider -e -x -h "^(core::([a-z_]+::)+)NonZero(<.+>|I\d{0,3}|U\d{0,3})$" --category Rust
# PathBuf
type summary add -F lldb_lookup.StdPathBufSummaryProvider -e -x -h "^(std::([a-z_]+::)+)PathBuf$" --category Rust
# Path
type summary add -F lldb_lookup.StdPathSummaryProvider -e -x -h "^&(mut )?(std::([a-z_]+::)+)Path$" --category Rust
# Enum
# type summary add -F lldb_lookup.ClangEncodedEnumSummaryProvider -e -h "lldb_lookup.is_sum_type_enum" --recognizer-function --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCEnumSyntheticProvider -x "^enum2\$<.+>$" --category Rust
type summary add -F lldb_lookup.MSVCEnumSummaryProvider -e -x -h "^enum2\$<.+>$" --category Rust
## MSVC Variants
type synthetic add -l lldb_lookup.synthetic_lookup -x "^enum2\$<.+>::.*$" --category Rust
# Tuple
type synthetic add -l lldb_lookup.TupleSyntheticProvider -x "^\(.*\)$" --category Rust
type summary add -F lldb_lookup.TupleSummaryProvider -x "^\(.*\)$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCTupleSyntheticProvider -x "^tuple\$<.+>$" --category Rust
type summary add -F lldb_lookup.TupleSummaryProvider -e -x -h "^tuple\$<.+>$" --category Rust
type category enable Rust

breakpoint set --file 'box.rs' --line 29
Breakpoint 1: where = a`box::main + 240 at box.rs:29:5, address = 0x0000000100002ff4 
DEBUG: breakpoint added, id = 1
run
Process 7368 stopped * thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = breakpoint 1.1 frame #0: 0x0000000100002ff4 a`box::main at box.rs:29:5 26 let a = Box::new(1); 27 let b = Box::new((2, 3.5f64)); 28 -> 29 zzz(); // #break ^ 30 } 31 32 fn zzz() { () } Target 0: (a) stopped. Process 7368 launched: '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/box.lldb/a' (arm64) 
DEBUG: registering breakpoint callback, id = 1
Error while trying to register breakpoint callback, id = 1, message = error: could not get num args: can't find callable: breakpoint_callback

v *a
(int) *a = 1 
v *b
((i32, f64)) *b = (2, 3.5) 
quit
------------------------------------------
--- stderr -------------------------------
warning: This version of LLDB has no plugin for the language "rust". Inspection of frame variables will be limited.
------------------------------------------

---- [debuginfo-lldb] tests/debuginfo/box.rs stdout end ----
---- [debuginfo-lldb] tests/debuginfo/by-value-self-argument-in-trait-impl.rs stdout ----
NOTE: compiletest thinks it is using LLDB version 1500

error: check directive(s) from `/Users/runner/work/rust/rust/tests/debuginfo/by-value-self-argument-in-trait-impl.rs` not found in debugger output. errors:
    (by-value-self-argument-in-trait-impl.rs:35) `[...] { 0 = 4444.5 1 = 5555 2 = 6666 3 = 7777.5 }`
the following subset of check directive(s) was found successfully:
    (by-value-self-argument-in-trait-impl.rs:27) `(long) self = 1111 `
    (by-value-self-argument-in-trait-impl.rs:31) `(by_value_self_argument_in_trait_impl::Struct) self = { x = 2222 y = 3333 } `
status: exit status: 0
command: LLDB_BATCHMODE_SCRIPT_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/by-value-self-argument-in-trait-impl.lldb/by-value-self-argument-in-trait-impl.debugger.script" LLDB_BATCHMODE_TARGET_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/by-value-self-argument-in-trait-impl.lldb/a" PYTHONPATH="/Users/runner/work/rust/rust/src/etc" PYTHONUNBUFFERED="1" "lldb" "--one-line" "script --language python -- import lldb_batchmode; lldb_batchmode.main()"
--- stdout -------------------------------
(lldb) script --language python -- import lldb_batchmode; lldb_batchmode.main()
LLDB batch-mode script
----------------------
Debugger commands script is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/by-value-self-argument-in-trait-impl.lldb/by-value-self-argument-in-trait-impl.debugger.script'.
Target executable is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/by-value-self-argument-in-trait-impl.lldb/a'.
Current working directory is '/Users/runner/work/rust/rust'
Creating a target for '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/by-value-self-argument-in-trait-impl.lldb/a'
settings set auto-confirm true

settings set target.inherit-tcc true

version
lldb-1500.0.404.7 Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4) 
command script import /Users/runner/work/rust/rust/src/etc/lldb_lookup.py
# LLDB iterates through these in reverse order to discover summaries/synthetics that means the top
# of the list can be "overwritten" by items lower on the list. Be careful when reordering items.
# Forces test-compliant formatting to all other types
type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust
# Std String
type synthetic add -l lldb_lookup.StdStringSyntheticProvider -x "^(alloc::([a-z_]+::)+)String$" --category Rust
type summary add -F lldb_lookup.StdStringSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust
# Std str
type synthetic add -l lldb_lookup.StdSliceSyntheticProvider -x "^&(mut )?str$" --category Rust
type summary add -F lldb_lookup.StdStrSummaryProvider -e -x -h "^&(mut )?str$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCStrSyntheticProvider -x "^ref(_mut)?\$<str\$>$" --category Rust
type summary add -F lldb_lookup.StdStrSummaryProvider -e -h -x "^ref(_mut)?\$<str\$>$" --category Rust
# Array/Slice
type synthetic add -l lldb_lookup.StdSliceSyntheticProvider -x "^&(mut )?\\[.+\\]$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^&(mut )?\\[.+\\]$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCStdSliceSyntheticProvider -x "^ref(_mut)?\$<slice2\$<.+> >" --category Rust
type summary add -F lldb_lookup.StdSliceSummaryProvider -e -x -h "^ref(_mut)?\$<slice2\$<.+> >" --category Rust
# OsString
type summary add -F lldb_lookup.StdOsStringSummaryProvider -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust
# Vec
type synthetic add -l lldb_lookup.StdVecSyntheticProvider -x "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
# VecDeque
type synthetic add -l lldb_lookup.StdVecDequeSyntheticProvider -x "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
# HashMap
type synthetic add -l lldb_lookup.classify_hashmap -x "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
# HashSet
type synthetic add -l lldb_lookup.classify_hashset -x "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
# Rc
type synthetic add -l lldb_lookup.StdRcSyntheticProvider -x "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
type summary add -F lldb_lookup.StdRcSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
# Arc
type synthetic add -l lldb_lookup.arc_synthetic -x "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
type summary add -F lldb_lookup.StdRcSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
# Cell
type synthetic add -l lldb_lookup.StdCellSyntheticProvider -x "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust
# RefCell
type synthetic add -l lldb_lookup.StdRefSyntheticProvider -x "^(core::([a-z_]+::)+)Ref(Cell|Mut)?<.+>$" --category Rust
type summary add -F lldb_lookup.StdRefSummaryProvider -e -x -h "^(core::([a-z_]+::)+)Ref(Cell|Mut)?<.+>$" --category Rust
# NonZero
type summary add -F lldb_lookup.StdNonZeroNumberSummaryProvider -e -x -h "^(core::([a-z_]+::)+)NonZero(<.+>|I\d{0,3}|U\d{0,3})$" --category Rust
# PathBuf
type summary add -F lldb_lookup.StdPathBufSummaryProvider -e -x -h "^(std::([a-z_]+::)+)PathBuf$" --category Rust
# Path
type summary add -F lldb_lookup.StdPathSummaryProvider -e -x -h "^&(mut )?(std::([a-z_]+::)+)Path$" --category Rust
# Enum
# type summary add -F lldb_lookup.ClangEncodedEnumSummaryProvider -e -h "lldb_lookup.is_sum_type_enum" --recognizer-function --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCEnumSyntheticProvider -x "^enum2\$<.+>$" --category Rust
type summary add -F lldb_lookup.MSVCEnumSummaryProvider -e -x -h "^enum2\$<.+>$" --category Rust
## MSVC Variants
type synthetic add -l lldb_lookup.synthetic_lookup -x "^enum2\$<.+>::.*$" --category Rust
# Tuple
type synthetic add -l lldb_lookup.TupleSyntheticProvider -x "^\(.*\)$" --category Rust
type summary add -F lldb_lookup.TupleSummaryProvider -x "^\(.*\)$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCTupleSyntheticProvider -x "^tuple\$<.+>$" --category Rust
type summary add -F lldb_lookup.TupleSummaryProvider -e -x -h "^tuple\$<.+>$" --category Rust
type category enable Rust

breakpoint set --file 'by-value-self-argument-in-trait-impl.rs' --line 44
DEBUG: breakpoint added, id = 1
Breakpoint 1: where = a`<isize as by_value_self_argument_in_trait_impl::Trait>::method + 20 at by-value-self-argument-in-trait-impl.rs:44:9, address = 0x0000000100003b80 
DEBUG: registering breakpoint callback, id = 1
Error while trying to register breakpoint callback, id = 1, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'by-value-self-argument-in-trait-impl.rs' --line 56
DEBUG: breakpoint added, id = 2
Breakpoint 2: where = a`<by_value_self_argument_in_trait_impl::Struct as by_value_self_argument_in_trait_impl::Trait>::method + 28 at by-value-self-argument-in-trait-impl.rs:56:9, address = 0x0000000100003bfc 
DEBUG: registering breakpoint callback, id = 2
Error while trying to register breakpoint callback, id = 2, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'by-value-self-argument-in-trait-impl.rs' --line 63
DEBUG: breakpoint added, id = 3
Breakpoint 3: where = a`<(f64, isize, isize, f64) as by_value_self_argument_in_trait_impl::Trait>::method + 20 at by-value-self-argument-in-trait-impl.rs:63:9, address = 0x0000000100003ba8 
DEBUG: registering breakpoint callback, id = 3
Error while trying to register breakpoint callback, id = 3, message = error: could not get num args: can't find callable: breakpoint_callback

run
Process 7408 stopped * thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = breakpoint 1.1 frame #0: 0x0000000100003b80 a`<isize as by_value_self_argument_in_trait_impl::Trait>::method(self=1111) at by-value-self-argument-in-trait-impl.rs:44:9 41 42 impl Trait for isize { 43 fn method(self) -> isize { -> 44 zzz(); // #break ^ 45 self 46 } 47 } Target 0: (a) stopped. Process 7408 launched: '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/by-value-self-argument-in-trait-impl.lldb/a' (arm64) 
v self
(long) self = 1111 
continue
v self
(by_value_self_argument_in_trait_impl::Struct) self = { x = 2222 y = 3333 } 
continue
v self
((f64, isize, isize, f64)) self = (4444.5, 5555, 6666, 7777.5) 
continue
quit
------------------------------------------
--- stderr -------------------------------
warning: This version of LLDB has no plugin for the language "rust". Inspection of frame variables will be limited.
------------------------------------------

---- [debuginfo-lldb] tests/debuginfo/by-value-self-argument-in-trait-impl.rs stdout end ----
---- [debuginfo-lldb] tests/debuginfo/c-style-enum-in-composite.rs stdout ----
NOTE: compiletest thinks it is using LLDB version 1500

error: check directive(s) from `/Users/runner/work/rust/rust/tests/debuginfo/c-style-enum-in-composite.rs` not found in debugger output. errors:
    (c-style-enum-in-composite.rs:35) `[...] { 0 = 0 1 = OneHundred }`
    (c-style-enum-in-composite.rs:38) `[...] ((1, OneThousand), 2) { 0 = (1, OneThousand) { 0 = 1 1 = OneThousand } 1 = 2 }`
    (c-style-enum-in-composite.rs:41) `[...] { 0 = OneThousand 1 = MountainView 2 = OneMillion 3 = Vienna }`
    (c-style-enum-in-composite.rs:53) `[...] { 0 = { a = OneHundred b = Vienna } 1 = 9 }`
the following subset of check directive(s) was found successfully:
    (c-style-enum-in-composite.rs:44) `(c_style_enum_in_composite::PaddedStruct) padded_struct = { a = 3 b = OneMillion c = 4 d = Toronto e = 5 } `
    (c-style-enum-in-composite.rs:47) `(c_style_enum_in_composite::PackedStruct) packed_struct = { a = 6 b = OneHundred c = 7 d = Vienna e = 8 } `
    (c-style-enum-in-composite.rs:50) `(c_style_enum_in_composite::NonPaddedStruct) non_padded_struct = { a = OneMillion b = MountainView c = OneThousand d = Toronto } `
status: exit status: 0
command: LLDB_BATCHMODE_SCRIPT_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/c-style-enum-in-composite.lldb/c-style-enum-in-composite.debugger.script" LLDB_BATCHMODE_TARGET_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/c-style-enum-in-composite.lldb/a" PYTHONPATH="/Users/runner/work/rust/rust/src/etc" PYTHONUNBUFFERED="1" "lldb" "--one-line" "script --language python -- import lldb_batchmode; lldb_batchmode.main()"
--- stdout -------------------------------
(lldb) script --language python -- import lldb_batchmode; lldb_batchmode.main()
LLDB batch-mode script
----------------------
Debugger commands script is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/c-style-enum-in-composite.lldb/c-style-enum-in-composite.debugger.script'.
Target executable is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/c-style-enum-in-composite.lldb/a'.
Current working directory is '/Users/runner/work/rust/rust'
Creating a target for '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/c-style-enum-in-composite.lldb/a'
settings set auto-confirm true

settings set target.inherit-tcc true

version
lldb-1500.0.404.7 Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4) 
command script import /Users/runner/work/rust/rust/src/etc/lldb_lookup.py
# LLDB iterates through these in reverse order to discover summaries/synthetics that means the top
# of the list can be "overwritten" by items lower on the list. Be careful when reordering items.
# Forces test-compliant formatting to all other types
type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust
# Std String
type synthetic add -l lldb_lookup.StdStringSyntheticProvider -x "^(alloc::([a-z_]+::)+)String$" --category Rust
type summary add -F lldb_lookup.StdStringSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust
# Std str
type synthetic add -l lldb_lookup.StdSliceSyntheticProvider -x "^&(mut )?str$" --category Rust
type summary add -F lldb_lookup.StdStrSummaryProvider -e -x -h "^&(mut )?str$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCStrSyntheticProvider -x "^ref(_mut)?\$<str\$>$" --category Rust
type summary add -F lldb_lookup.StdStrSummaryProvider -e -h -x "^ref(_mut)?\$<str\$>$" --category Rust
# Array/Slice
type synthetic add -l lldb_lookup.StdSliceSyntheticProvider -x "^&(mut )?\\[.+\\]$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^&(mut )?\\[.+\\]$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCStdSliceSyntheticProvider -x "^ref(_mut)?\$<slice2\$<.+> >" --category Rust
type summary add -F lldb_lookup.StdSliceSummaryProvider -e -x -h "^ref(_mut)?\$<slice2\$<.+> >" --category Rust
# OsString
type summary add -F lldb_lookup.StdOsStringSummaryProvider -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust
# Vec
type synthetic add -l lldb_lookup.StdVecSyntheticProvider -x "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
# VecDeque
type synthetic add -l lldb_lookup.StdVecDequeSyntheticProvider -x "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
# HashMap
type synthetic add -l lldb_lookup.classify_hashmap -x "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
# HashSet
type synthetic add -l lldb_lookup.classify_hashset -x "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
# Rc
type synthetic add -l lldb_lookup.StdRcSyntheticProvider -x "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
type summary add -F lldb_lookup.StdRcSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
# Arc
type synthetic add -l lldb_lookup.arc_synthetic -x "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
type summary add -F lldb_lookup.StdRcSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
# Cell
type synthetic add -l lldb_lookup.StdCellSyntheticProvider -x "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust
# RefCell
type synthetic add -l lldb_lookup.StdRefSyntheticProvider -x "^(core::([a-z_]+::)+)Ref(Cell|Mut)?<.+>$" --category Rust
type summary add -F lldb_lookup.StdRefSummaryProvider -e -x -h "^(core::([a-z_]+::)+)Ref(Cell|Mut)?<.+>$" --category Rust
# NonZero
type summary add -F lldb_lookup.StdNonZeroNumberSummaryProvider -e -x -h "^(core::([a-z_]+::)+)NonZero(<.+>|I\d{0,3}|U\d{0,3})$" --category Rust
# PathBuf
type summary add -F lldb_lookup.StdPathBufSummaryProvider -e -x -h "^(std::([a-z_]+::)+)PathBuf$" --category Rust
# Path
type summary add -F lldb_lookup.StdPathSummaryProvider -e -x -h "^&(mut )?(std::([a-z_]+::)+)Path$" --category Rust
# Enum
# type summary add -F lldb_lookup.ClangEncodedEnumSummaryProvider -e -h "lldb_lookup.is_sum_type_enum" --recognizer-function --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCEnumSyntheticProvider -x "^enum2\$<.+>$" --category Rust
type summary add -F lldb_lookup.MSVCEnumSummaryProvider -e -x -h "^enum2\$<.+>$" --category Rust
## MSVC Variants
type synthetic add -l lldb_lookup.synthetic_lookup -x "^enum2\$<.+>::.*$" --category Rust
# Tuple
type synthetic add -l lldb_lookup.TupleSyntheticProvider -x "^\(.*\)$" --category Rust
type summary add -F lldb_lookup.TupleSummaryProvider -x "^\(.*\)$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCTupleSyntheticProvider -x "^tuple\$<.+>$" --category Rust
type summary add -F lldb_lookup.TupleSummaryProvider -e -x -h "^tuple\$<.+>$" --category Rust
type category enable Rust

breakpoint set --file 'c-style-enum-in-composite.rs' --line 137
DEBUG: breakpoint added, id = 1
Breakpoint 1: where = a`c_style_enum_in_composite::main + 192 at c-style-enum-in-composite.rs:137:5, address = 0x0000000100003b7c 
DEBUG: registering breakpoint callback, id = 1
Error while trying to register breakpoint callback, id = 1, message = error: could not get num args: can't find callable: breakpoint_callback

run
Process 7482 stopped * thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = breakpoint 1.1 frame #0: 0x0000000100003b7c a`c_style_enum_in_composite::main at c-style-enum-in-composite.rs:137:5 134 135 let struct_with_drop = (StructWithDrop { a: OneHundred, b: Vienna }, 9_i64); 136 -> 137 zzz(); // #break ^ 138 } 139 140 fn zzz() { () } Target 0: (a) stopped. Process 7482 launched: '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/c-style-enum-in-composite.lldb/a' (arm64) 
v tuple_interior_padding
((i16, c_style_enum_in_composite::AnEnum)) tuple_interior_padding = (0, OneHundred) 
v tuple_padding_at_end
(((u64, c_style_enum_in_composite::AnEnum), u64)) tuple_padding_at_end = ((1, OneThousand), 2) 
v tuple_different_enums
((c_style_enum_in_composite::AnEnum, c_style_enum_in_composite::AnotherEnum, c_style_enum_in_composite::AnEnum, c_style_enum_in_composite::AnotherEnum)) tuple_different_enums = (OneThousand, MountainView, OneMillion, Vienna) 
v padded_struct
(c_style_enum_in_composite::PaddedStruct) padded_struct = { a = 3 b = OneMillion c = 4 d = Toronto e = 5 } 
v packed_struct
(c_style_enum_in_composite::PackedStruct) packed_struct = { a = 6 b = OneHundred c = 7 d = Vienna e = 8 } 
v non_padded_struct
(c_style_enum_in_composite::NonPaddedStruct) non_padded_struct = { a = OneMillion b = MountainView c = OneThousand d = Toronto } 
v struct_with_drop
((c_style_enum_in_composite::StructWithDrop, i64)) struct_with_drop = ({a:OneHundred, b:Vienna}, 9) 
quit
------------------------------------------
--- stderr -------------------------------
warning: This version of LLDB has no plugin for the language "rust". Inspection of frame variables will be limited.
------------------------------------------

---- [debuginfo-lldb] tests/debuginfo/c-style-enum-in-composite.rs stdout end ----
---- [debuginfo-lldb] tests/debuginfo/cross-crate-spans.rs stdout ----
NOTE: compiletest thinks it is using LLDB version 1500

error: check directive(s) from `/Users/runner/work/rust/rust/tests/debuginfo/cross-crate-spans.rs` not found in debugger output. errors:
    (cross-crate-spans.rs:38) `[...] { 0 = 17 1 = 17 }`
    (cross-crate-spans.rs:46) `[...] { 0 = 1212 1 = 1212 }`
the following subset of check directive(s) was found successfully:
    (cross-crate-spans.rs:40) `(unsigned int) a_variable = 123456789 `
    (cross-crate-spans.rs:42) `(double) another_variable = 123456789.5 `
    (cross-crate-spans.rs:48) `(unsigned int) a_variable = 123456789 `
    (cross-crate-spans.rs:50) `(double) another_variable = 123456789.5 `
status: exit status: 0
command: LLDB_BATCHMODE_SCRIPT_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/cross-crate-spans.lldb/cross-crate-spans.debugger.script" LLDB_BATCHMODE_TARGET_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/cross-crate-spans.lldb/a" PYTHONPATH="/Users/runner/work/rust/rust/src/etc" PYTHONUNBUFFERED="1" "lldb" "--one-line" "script --language python -- import lldb_batchmode; lldb_batchmode.main()"
--- stdout -------------------------------
(lldb) script --language python -- import lldb_batchmode; lldb_batchmode.main()
LLDB batch-mode script
----------------------
Debugger commands script is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/cross-crate-spans.lldb/cross-crate-spans.debugger.script'.
Target executable is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/cross-crate-spans.lldb/a'.
Current working directory is '/Users/runner/work/rust/rust'
Creating a target for '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/cross-crate-spans.lldb/a'
settings set auto-confirm true

settings set target.inherit-tcc true

---

v x
(short) x = 400 
v y
(float) y = 401.5 
v z
(bool) z = true 
continue
v _i8
(char) _i8 = 0x6f 
v _u8
(unsigned char) _u8 = 0x70 
v _i16
(short) _i16 = -113 
v _u16
(unsigned short) _u16 = 114 
v _i32
(int) _i32 = -115 
v _u32
(unsigned int) _u32 = 116 
v _i64
(long) _i64 = -117 
v _u64
(unsigned long) _u64 = 118 
v _f32
(float) _f32 = 119.5 
v _f64
(double) _f64 = 120.5 
continue
v v1
(int) v1 = 80000 
v x1
(short) x1 = 8000 
v *y1
(float) *y1 = 80001.5 
v z1
(bool) z1 = false 
v *x2
(short) *x2 = -30000 
v y2
(float) y2 = -300001.5 
v *z2
(bool) *z2 = true 
v v2
(double) v2 = 854237.5 
continue
v i
(int) i = 1234 
continue
v simple_struct_ident
(destructured_for_loop_variable::Struct) simple_struct_ident = { x = 3537 y = 35437.5 z = true } 
continue
v simple_tuple_ident
((u32, i64)) simple_tuple_ident = (34903493, 232323) 
continue
quit
------------------------------------------
--- stderr -------------------------------
warning: This version of LLDB has no plugin for the language "rust". Inspection of frame variables will be limited.
------------------------------------------

---- [debuginfo-lldb] tests/debuginfo/destructured-for-loop-variable.rs stdout end ----
---- [debuginfo-lldb] tests/debuginfo/destructured-fn-argument.rs stdout ----
NOTE: compiletest thinks it is using LLDB version 1500

error: check directive(s) from `/Users/runner/work/rust/rust/tests/debuginfo/destructured-fn-argument.rs` not found in debugger output. errors:
    (destructured-fn-argument.rs:175) `[...] { 0 = 6 1 = 7 }`
    (destructured-fn-argument.rs:237) `[...] { 0 = 34 1 = 35 }`
    (destructured-fn-argument.rs:241) `[...] { 0 = 36 1 = 37 }`
    (destructured-fn-argument.rs:249) `[...] { 0 = 40 1 = 41 2 = 42 }`
    (destructured-fn-argument.rs:253) `[...] { 0 = 43 1 = 44 2 = 45 }`
    (destructured-fn-argument.rs:259) `[...] { 0 = 47 1 = 48 }`
the following subset of check directive(s) was found successfully:
    (destructured-fn-argument.rs:159) `DEBUG: breakpoint added, id = 1`
    (destructured-fn-argument.rs:161) `(bool) b = false `
    (destructured-fn-argument.rs:165) `(long) a = 2 `
    (destructured-fn-argument.rs:167) `(unsigned short) b = 3 `
    (destructured-fn-argument.rs:169) `(unsigned short) c = 4 `
    (destructured-fn-argument.rs:173) `(long) a = 5 `
    (destructured-fn-argument.rs:179) `(short) h = 8 `
    (destructured-fn-argument.rs:181) `(destructured_fn_argument::Struct) i = { a = 9 b = 10 } `
    (destructured-fn-argument.rs:183) `(short) j = 11 `
    (destructured-fn-argument.rs:187) `(long) k = 12 `
    (destructured-fn-argument.rs:189) `(int) l = 13 `
    (destructured-fn-argument.rs:193) `(long) m = 14 `
    (destructured-fn-argument.rs:195) `(int) n = 16 `
    (destructured-fn-argument.rs:199) `(int) o = 18 `
    (destructured-fn-argument.rs:203) `(long) p = 19 `
    (destructured-fn-argument.rs:205) `(int) q = 20 `
    (destructured-fn-argument.rs:207) `(destructured_fn_argument::Struct) r = { a = 21 b = 22 } `
    (destructured-fn-argument.rs:211) `(int) s = 24 `
    (destructured-fn-argument.rs:213) `(long) t = 23 `
    (destructured-fn-argument.rs:217) `(short) u = 25 `
    (destructured-fn-argument.rs:219) `(int) v = 26 `
    (destructured-fn-argument.rs:221) `(long) w = 27 `
    (destructured-fn-argument.rs:223) `(int) x = 28 `
    (destructured-fn-argument.rs:225) `(long) y = 29 `
    (destructured-fn-argument.rs:227) `(int) z = 30 `
    (destructured-fn-argument.rs:229) `(long) ae = 31 `
    (destructured-fn-argument.rs:231) `(int) oe = 32 `
    (destructured-fn-argument.rs:233) `(unsigned short) ue = 33 `
    (destructured-fn-argument.rs:245) `(long) cc = 38 `
    (destructured-fn-argument.rs:257) `(long) *ff = 46 `
    (destructured-fn-argument.rs:263) `(int) *hh = 50 `
    (destructured-fn-argument.rs:267) `(int) ii = 51 `
    (destructured-fn-argument.rs:271) `(int) *jj = 52 `
    (destructured-fn-argument.rs:275) `(double) kk = 53 `
    (destructured-fn-argument.rs:277) `(long) ll = 54 `
    (destructured-fn-argument.rs:281) `(double) mm = 55 `
    (destructured-fn-argument.rs:283) `(long) *nn = 56 `
    (destructured-fn-argument.rs:287) `(long) oo = 57 `
    (destructured-fn-argument.rs:289) `(long) pp = 58 `
    (destructured-fn-argument.rs:291) `(long) qq = 59 `
    (destructured-fn-argument.rs:295) `(long) rr = 60 `
    (destructured-fn-argument.rs:297) `(long) ss = 61 `
    (destructured-fn-argument.rs:299) `(long) tt = 62 `
status: exit status: 0
command: LLDB_BATCHMODE_SCRIPT_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/destructured-fn-argument.lldb/destructured-fn-argument.debugger.script" LLDB_BATCHMODE_TARGET_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/destructured-fn-argument.lldb/a" PYTHONPATH="/Users/runner/work/rust/rust/src/etc" PYTHONUNBUFFERED="1" "lldb" "--one-line" "script --language python -- import lldb_batchmode; lldb_batchmode.main()"
--- stdout -------------------------------
(lldb) script --language python -- import lldb_batchmode; lldb_batchmode.main()
LLDB batch-mode script
----------------------
Debugger commands script is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/destructured-fn-argument.lldb/destructured-fn-argument.debugger.script'.
Target executable is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/destructured-fn-argument.lldb/a'.
Current working directory is '/Users/runner/work/rust/rust'
Creating a target for '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/destructured-fn-argument.lldb/a'
settings set auto-confirm true

settings set target.inherit-tcc true

version
lldb-1500.0.404.7 Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4) 
command script import /Users/runner/work/rust/rust/src/etc/lldb_lookup.py
# LLDB iterates through these in reverse order to discover summaries/synthetics that means the top
# of the list can be "overwritten" by items lower on the list. Be careful when reordering items.
# Forces test-compliant formatting to all other types
type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust
# Std String
type synthetic add -l lldb_lookup.StdStringSyntheticProvider -x "^(alloc::([a-z_]+::)+)String$" --category Rust
type summary add -F lldb_lookup.StdStringSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust
# Std str
type synthetic add -l lldb_lookup.StdSliceSyntheticProvider -x "^&(mut )?str$" --category Rust
type summary add -F lldb_lookup.StdStrSummaryProvider -e -x -h "^&(mut )?str$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCStrSyntheticProvider -x "^ref(_mut)?\$<str\$>$" --category Rust
type summary add -F lldb_lookup.StdStrSummaryProvider -e -h -x "^ref(_mut)?\$<str\$>$" --category Rust
# Array/Slice
type synthetic add -l lldb_lookup.StdSliceSyntheticProvider -x "^&(mut )?\\[.+\\]$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^&(mut )?\\[.+\\]$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCStdSliceSyntheticProvider -x "^ref(_mut)?\$<slice2\$<.+> >" --category Rust
type summary add -F lldb_lookup.StdSliceSummaryProvider -e -x -h "^ref(_mut)?\$<slice2\$<.+> >" --category Rust
# OsString
type summary add -F lldb_lookup.StdOsStringSummaryProvider -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust
# Vec
type synthetic add -l lldb_lookup.StdVecSyntheticProvider -x "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
# VecDeque
type synthetic add -l lldb_lookup.StdVecDequeSyntheticProvider -x "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
# HashMap
type synthetic add -l lldb_lookup.classify_hashmap -x "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
# HashSet
type synthetic add -l lldb_lookup.classify_hashset -x "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
# Rc
type synthetic add -l lldb_lookup.StdRcSyntheticProvider -x "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
type summary add -F lldb_lookup.StdRcSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
# Arc
type synthetic add -l lldb_lookup.arc_synthetic -x "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
type summary add -F lldb_lookup.StdRcSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
# Cell
type synthetic add -l lldb_lookup.StdCellSyntheticProvider -x "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust
# RefCell
type synthetic add -l lldb_lookup.StdRefSyntheticProvider -x "^(core::([a-z_]+::)+)Ref(Cell|Mut)?<.+>$" --category Rust
type summary add -F lldb_lookup.StdRefSummaryProvider -e -x -h "^(core::([a-z_]+::)+)Ref(Cell|Mut)?<.+>$" --category Rust
# NonZero
type summary add -F lldb_lookup.StdNonZeroNumberSummaryProvider -e -x -h "^(core::([a-z_]+::)+)NonZero(<.+>|I\d{0,3}|U\d{0,3})$" --category Rust
# PathBuf
type summary add -F lldb_lookup.StdPathBufSummaryProvider -e -x -h "^(std::([a-z_]+::)+)PathBuf$" --category Rust
# Path
type summary add -F lldb_lookup.StdPathSummaryProvider -e -x -h "^&(mut )?(std::([a-z_]+::)+)Path$" --category Rust
# Enum
# type summary add -F lldb_lookup.ClangEncodedEnumSummaryProvider -e -h "lldb_lookup.is_sum_type_enum" --recognizer-function --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCEnumSyntheticProvider -x "^enum2\$<.+>$" --category Rust
type summary add -F lldb_lookup.MSVCEnumSummaryProvider -e -x -h "^enum2\$<.+>$" --category Rust
## MSVC Variants
type synthetic add -l lldb_lookup.synthetic_lookup -x "^enum2\$<.+>::.*$" --category Rust
# Tuple
type synthetic add -l lldb_lookup.TupleSyntheticProvider -x "^\(.*\)$" --category Rust
type summary add -F lldb_lookup.TupleSummaryProvider -x "^\(.*\)$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCTupleSyntheticProvider -x "^tuple\$<.+>$" --category Rust
type summary add -F lldb_lookup.TupleSummaryProvider -e -x -h "^tuple\$<.+>$" --category Rust
type category enable Rust

breakpoint set --file 'destructured-fn-argument.rs' --line 320
DEBUG: breakpoint added, id = 1
Breakpoint 1: where = a`destructured_fn_argument::simple_tuple + 28 at destructured-fn-argument.rs:320:5, address = 0x000000010000243c 
DEBUG: registering breakpoint callback, id = 1
Error while trying to register breakpoint callback, id = 1, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'destructured-fn-argument.rs' --line 324
DEBUG: breakpoint added, id = 2
Breakpoint 2: where = a`destructured_fn_argument::nested_tuple + 36 at destructured-fn-argument.rs:324:5, address = 0x0000000100002410 
DEBUG: registering breakpoint callback, id = 2
Error while trying to register breakpoint callback, id = 2, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'destructured-fn-argument.rs' --line 328
DEBUG: breakpoint added, id = 3
Breakpoint 3: where = a`destructured_fn_argument::destructure_only_first_level + 36 at destructured-fn-argument.rs:328:5, address = 0x0000000100002790 
DEBUG: registering breakpoint callback, id = 3
Error while trying to register breakpoint callback, id = 3, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'destructured-fn-argument.rs' --line 332
DEBUG: breakpoint added, id = 4
Breakpoint 4: where = a`destructured_fn_argument::struct_as_tuple_element + 44 at destructured-fn-argument.rs:332:5, address = 0x000000010000272c 
DEBUG: registering breakpoint callback, id = 4
Error while trying to register breakpoint callback, id = 4, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'destructured-fn-argument.rs' --line 336
DEBUG: breakpoint added, id = 5
Breakpoint 5: where = a`destructured_fn_argument::struct_pattern + 28 at destructured-fn-argument.rs:336:5, address = 0x0000000100002494 
DEBUG: registering breakpoint callback, id = 5
Error while trying to register breakpoint callback, id = 5, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'destructured-fn-argument.rs' --line 340
DEBUG: breakpoint added, id = 6
Breakpoint 6: where = a`destructured_fn_argument::ignored_tuple_element + 28 at destructured-fn-argument.rs:340:5, address = 0x00000001000026c0 
DEBUG: registering breakpoint callback, id = 6
Error while trying to register breakpoint callback, id = 6, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'destructured-fn-argument.rs' --line 344
DEBUG: breakpoint added, id = 7
Breakpoint 7: where = a`destructured_fn_argument::ignored_struct_field + 24 at destructured-fn-argument.rs:344:5, address = 0x0000000100002660 
DEBUG: registering breakpoint callback, id = 7
Error while trying to register breakpoint callback, id = 7, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'destructured-fn-argument.rs' --line 348
DEBUG: breakpoint added, id = 8
Breakpoint 8: where = a`destructured_fn_argument::one_struct_destructured_one_not + 44 at destructured-fn-argument.rs:348:5, address = 0x0000000100002804 
DEBUG: registering breakpoint callback, id = 8
Error while trying to register breakpoint callback, id = 8, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'destructured-fn-argument.rs' --line 352
DEBUG: breakpoint added, id = 9
Breakpoint 9: where = a`destructured_fn_argument::different_order_of_struct_fields + 28 at destructured-fn-argument.rs:352:5, address = 0x0000000100002830 
DEBUG: registering breakpoint callback, id = 9
Error while trying to register breakpoint callback, id = 9, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'destructured-fn-argument.rs' --line 358
DEBUG: breakpoint added, id = 10
Breakpoint 10: where = a`destructured_fn_argument::complex_nesting + 84 at destructured-fn-argument.rs:358:5, address = 0x00000001000025b0 
DEBUG: registering breakpoint callback, id = 10
Error while trying to register breakpoint callback, id = 10, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'destructured-fn-argument.rs' --line 362
DEBUG: breakpoint added, id = 11
Breakpoint 11: where = a`destructured_fn_argument::managed_box + 36 at destructured-fn-argument.rs:362:5, address = 0x00000001000023bc 
DEBUG: registering breakpoint callback, id = 11
Error while trying to register breakpoint callback, id = 11, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'destructured-fn-argument.rs' --line 366
DEBUG: breakpoint added, id = 12
Breakpoint 12: where = a`destructured_fn_argument::borrowed_pointer + 36 at destructured-fn-argument.rs:366:5, address = 0x0000000100002608 
DEBUG: registering breakpoint callback, id = 12
Error while trying to register breakpoint callback, id = 12, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'destructured-fn-argument.rs' --line 370
DEBUG: breakpoint added, id = 13
Breakpoint 13: where = a`destructured_fn_argument::contained_borrowed_pointer + 32 at destructured-fn-argument.rs:370:5, address = 0x000000010000275c 
DEBUG: registering breakpoint callback, id = 13
Error while trying to register breakpoint callback, id = 13, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'destructured-fn-argument.rs' --line 374
DEBUG: breakpoint added, id = 14
Breakpoint 14: where = a`destructured_fn_argument::unique_pointer + 104 at destructured-fn-argument.rs:374:5, address = 0x000000010000250c 
DEBUG: registering breakpoint callback, id = 14
Error while trying to register breakpoint callback, id = 14, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'destructured-fn-argument.rs' --line 378
DEBUG: breakpoint added, id = 15
Breakpoint 15: where = a`destructured_fn_argument::ref_binding + 16 at destructured-fn-argument.rs:378:5, address = 0x00000001000023dc 
DEBUG: registering breakpoint callback, id = 15
Error while trying to register breakpoint callback, id = 15, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'destructured-fn-argument.rs' --line 382
DEBUG: breakpoint added, id = 16
Breakpoint 16: where = a`destructured_fn_argument::ref_binding_in_tuple + 36 at destructured-fn-argument.rs:382:5, address = 0x0000000100002694 
DEBUG: registering breakpoint callback, id = 16
Error while trying to register breakpoint callback, id = 16, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'destructured-fn-argument.rs' --line 386
DEBUG: breakpoint added, id = 17
Breakpoint 17: where = a`destructured_fn_argument::ref_binding_in_struct + 32 at destructured-fn-argument.rs:386:5, address = 0x00000001000026f0 
DEBUG: registering breakpoint callback, id = 17
Error while trying to register breakpoint callback, id = 17, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'destructured-fn-argument.rs' --line 390
DEBUG: breakpoint added, id = 18
Breakpoint 18: where = a`destructured_fn_argument::univariant_enum + 20 at destructured-fn-argument.rs:390:5, address = 0x00000001000025d4 
DEBUG: registering breakpoint callback, id = 18
Error while trying to register breakpoint callback, id = 18, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'destructured-fn-argument.rs' --line 394
DEBUG: breakpoint added, id = 19
Breakpoint 19: where = a`destructured_fn_argument::univariant_enum_with_ref_binding + 24 at destructured-fn-argument.rs:394:5, address = 0x0000000100002858 
DEBUG: registering breakpoint callback, id = 19
Error while trying to register breakpoint callback, id = 19, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'destructured-fn-argument.rs' --line 398
DEBUG: breakpoint added, id = 20
Breakpoint 20: where = a`destructured_fn_argument::tuple_struct + 28 at destructured-fn-argument.rs:398:5, address = 0x0000000100002468 
DEBUG: registering breakpoint callback, id = 20
Error while trying to register breakpoint callback, id = 20, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'destructured-fn-argument.rs' --line 402
DEBUG: breakpoint added, id = 21
Breakpoint 21: where = a`destructured_fn_argument::tuple_struct_with_ref_binding + 40 at destructured-fn-argument.rs:402:5, address = 0x00000001000027c8 
DEBUG: registering breakpoint callback, id = 21
Error while trying to register breakpoint callback, id = 21, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'destructured-fn-argument.rs' --line 406
DEBUG: breakpoint added, id = 22
Breakpoint 22: where = a`destructured_fn_argument::multiple_arguments + 32 at destructured-fn-argument.rs:406:5, address = 0x0000000100002638 
DEBUG: registering breakpoint callback, id = 22
Error while trying to register breakpoint callback, id = 22, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'destructured-fn-argument.rs' --line 434
DEBUG: breakpoint added, id = 23
Breakpoint 23: where = a`destructured_fn_argument::main::nested_function + 32 at destructured-fn-argument.rs:434:9, address = 0x0000000100002dd0 
DEBUG: registering breakpoint callback, id = 23
Error while trying to register breakpoint callback, id = 23, message = error: could not get num args: can't find callable: breakpoint_callback

run
Process 7882 stopped * thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = breakpoint 1.1 frame #0: 0x000000010000243c a`destructured_fn_argument::simple_tuple((null)=(1, false)) at destructured-fn-argument.rs:320:5 317 318 319 fn simple_tuple((a, b): (isize, bool)) { -> 320 zzz(); // #break ^ 321 } 322 323 fn nested_tuple((a, (b, c)): (isize, (u16, u16))) { Target 0: (a) stopped. Process 7882 launched: '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/destructured-fn-argument.lldb/a' (arm64) 
v a
(long) a = 1 
v b
(bool) b = false 
continue
---
continue
v a
(long) a = 5 
v b
((u32, u32)) b = (6, 7) 
continue
v h
(short) h = 8 
v i
(destructured_fn_argument::Struct) i = { a = 9 b = 10 } 
v j
(short) j = 11 
continue
v k
(long) k = 12 
v l
(int) l = 13 
---
(long) p = 19 
v q
(int) q = 20 
v r
(destructured_fn_argument::Struct) r = { a = 21 b = 22 } 
continue
v s
(int) s = 24 
v t
(long) t = 23 
---
(int) z = 30 
v ae
(long) ae = 31 
v oe
(int) oe = 32 
v ue
(unsigned short) ue = 33 
continue
v aa
((isize, isize)) aa = (34, 35) 
continue
v bb
((isize, isize)) bb = (36, 37) 
continue
v cc
(long) cc = 38 
continue
v dd
((isize, isize, isize)) dd = (40, 41, 42) 
continue
v *ee
((isize, isize, isize)) *ee = (43, 44, 45) 
continue
v *ff
(long) *ff = 46 
v gg
((isize, isize)) gg = (47, 48) 
continue
v *hh
(int) *hh = 50 
continue
v ii
(int) ii = 51 
continue
v *jj
(int) *jj = 52 
continue
v kk
(double) kk = 53 
v ll
(long) ll = 54 
continue
v mm
(double) mm = 55 
v *nn
(long) *nn = 56 
continue
v oo
(long) oo = 57 
v pp
(long) pp = 58 
v qq
(long) qq = 59 
continue
v rr
(long) rr = 60 
v ss
(long) ss = 61 
v tt
(long) tt = 62 
continue
quit
------------------------------------------
--- stderr -------------------------------
warning: This version of LLDB has no plugin for the language "rust". Inspection of frame variables will be limited.
Traceback (most recent call last):
  File "/Users/runner/work/rust/rust/src/etc/lldb_providers.py", line 135, in get_child_at_index
    return self.valobj.Dereference().GetSyntheticValue()
AttributeError: 'SBValue' object has no attribute 'GetSyntheticValue'
Traceback (most recent call last):
  File "/Users/runner/work/rust/rust/src/etc/lldb_providers.py", line 135, in get_child_at_index
    return self.valobj.Dereference().GetSyntheticValue()
AttributeError: 'SBValue' object has no attribute 'GetSyntheticValue'
Traceback (most recent call last):
  File "/Users/runner/work/rust/rust/src/etc/lldb_providers.py", line 135, in get_child_at_index
    return self.valobj.Dereference().GetSyntheticValue()
AttributeError: 'SBValue' object has no attribute 'GetSyntheticValue'
------------------------------------------

---- [debuginfo-lldb] tests/debuginfo/destructured-fn-argument.rs stdout end ----
---- [debuginfo-lldb] tests/debuginfo/destructured-local.rs stdout ----
NOTE: compiletest thinks it is using LLDB version 1500

error: check directive(s) from `/Users/runner/work/rust/rust/tests/debuginfo/destructured-local.rs` not found in debugger output. errors:
    (destructured-local.rs:139) `[...] { 0 = 6 1 = 7 }`
    (destructured-local.rs:193) `[...] { 0 = 34 1 = 35 }`
    (destructured-local.rs:196) `[...] { 0 = 36 1 = 37 }`
    (destructured-local.rs:202) `[...] { 0 = 40 1 = 41 2 = 42 }`
    (destructured-local.rs:205) `[...] { 0 = 43 1 = 44 2 = 45 }`
    (destructured-local.rs:211) `[...] { 0 = 47 1 = 48 }`
the following subset of check directive(s) was found successfully:
    (destructured-local.rs:125) `DEBUG: breakpoint added, id = 1`
    (destructured-local.rs:127) `(bool) b = false `
    (destructured-local.rs:130) `(long) c = 2 `
    (destructured-local.rs:132) `(unsigned short) d = 3 `
    (destructured-local.rs:134) `(unsigned short) e = 4 `
    (destructured-local.rs:137) `(long) f = 5 `
    (destructured-local.rs:142) `(short) h = 8 `
    (destructured-local.rs:144) `(destructured_local::Struct) i = { a = 9 b = 10 } `
    (destructured-local.rs:146) `(short) j = 11 `
    (destructured-local.rs:149) `(long) k = 12 `
    (destructured-local.rs:151) `(int) l = 13 `
    (destructured-local.rs:154) `(int) m = 14 `
    (destructured-local.rs:156) `(int) n = 16 `
    (destructured-local.rs:159) `(int) o = 18 `
    (destructured-local.rs:162) `(long) p = 19 `
    (destructured-local.rs:164) `(int) q = 20 `
    (destructured-local.rs:166) `(destructured_local::Struct) r = { a = 21 b = 22 } `
    (destructured-local.rs:169) `(int) s = 24 `
    (destructured-local.rs:171) `(long) t = 23 `
    (destructured-local.rs:174) `(int) u = 25 `
    (destructured-local.rs:176) `(int) v = 26 `
    (destructured-local.rs:178) `(int) w = 27 `
    (destructured-local.rs:180) `(int) x = 28 `
    (destructured-local.rs:182) `(long) y = 29 `
    (destructured-local.rs:184) `(int) z = 30 `
    (destructured-local.rs:186) `(long) ae = 31 `
    (destructured-local.rs:188) `(int) oe = 32 `
    (destructured-local.rs:190) `(int) ue = 33 `
    (destructured-local.rs:199) `(int) cc = 38 `
    (destructured-local.rs:208) `(int) *ff = 46 `
    (destructured-local.rs:214) `(int) *hh = 50 `
    (destructured-local.rs:217) `(int) ii = 51 `
    (destructured-local.rs:220) `(int) *jj = 52 `
    (destructured-local.rs:223) `(double) kk = 53 `
    (destructured-local.rs:226) `(long) ll = 54 `
    (destructured-local.rs:229) `(double) mm = 55 `
    (destructured-local.rs:232) `(long) *nn = 56 `
status: exit status: 0
command: LLDB_BATCHMODE_SCRIPT_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/destructured-local.lldb/destructured-local.debugger.script" LLDB_BATCHMODE_TARGET_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/destructured-local.lldb/a" PYTHONPATH="/Users/runner/work/rust/rust/src/etc" PYTHONUNBUFFERED="1" "lldb" "--one-line" "script --language python -- import lldb_batchmode; lldb_batchmode.main()"
--- stdout -------------------------------
(lldb) script --language python -- import lldb_batchmode; lldb_batchmode.main()
LLDB batch-mode script
----------------------
Debugger commands script is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/destructured-local.lldb/destructured-local.debugger.script'.
Target executable is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/destructured-local.lldb/a'.
Current working directory is '/Users/runner/work/rust/rust'
Creating a target for '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/destructured-local.lldb/a'
settings set auto-confirm true

settings set target.inherit-tcc true

version
lldb-1500.0.404.7 Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4) 
command script import /Users/runner/work/rust/rust/src/etc/lldb_lookup.py
# LLDB iterates through these in reverse order to discover summaries/synthetics that means the top
# of the list can be "overwritten" by items lower on the list. Be careful when reordering items.
# Forces test-compliant formatting to all other types
type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust
# Std String
type synthetic add -l lldb_lookup.StdStringSyntheticProvider -x "^(alloc::([a-z_]+::)+)String$" --category Rust
type summary add -F lldb_lookup.StdStringSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust
# Std str
type synthetic add -l lldb_lookup.StdSliceSyntheticProvider -x "^&(mut )?str$" --category Rust
type summary add -F lldb_lookup.StdStrSummaryProvider -e -x -h "^&(mut )?str$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCStrSyntheticProvider -x "^ref(_mut)?\$<str\$>$" --category Rust
type summary add -F lldb_lookup.StdStrSummaryProvider -e -h -x "^ref(_mut)?\$<str\$>$" --category Rust
# Array/Slice
type synthetic add -l lldb_lookup.StdSliceSyntheticProvider -x "^&(mut )?\\[.+\\]$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^&(mut )?\\[.+\\]$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCStdSliceSyntheticProvider -x "^ref(_mut)?\$<slice2\$<.+> >" --category Rust
type summary add -F lldb_lookup.StdSliceSummaryProvider -e -x -h "^ref(_mut)?\$<slice2\$<.+> >" --category Rust
# OsString
type summary add -F lldb_lookup.StdOsStringSummaryProvider -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust
# Vec
type synthetic add -l lldb_lookup.StdVecSyntheticProvider -x "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
# VecDeque
type synthetic add -l lldb_lookup.StdVecDequeSyntheticProvider -x "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
# HashMap
type synthetic add -l lldb_lookup.classify_hashmap -x "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
# HashSet
type synthetic add -l lldb_lookup.classify_hashset -x "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
# Rc
type synthetic add -l lldb_lookup.StdRcSyntheticProvider -x "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
type summary add -F lldb_lookup.StdRcSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
# Arc
type synthetic add -l lldb_lookup.arc_synthetic -x "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
type summary add -F lldb_lookup.StdRcSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
# Cell
type synthetic add -l lldb_lookup.StdCellSyntheticProvider -x "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust
# RefCell
type synthetic add -l lldb_lookup.StdRefSyntheticProvider -x "^(core::([a-z_]+::)+)Ref(Cell|Mut)?<.+>$" --category Rust
type summary add -F lldb_lookup.StdRefSummaryProvider -e -x -h "^(core::([a-z_]+::)+)Ref(Cell|Mut)?<.+>$" --category Rust
# NonZero
type summary add -F lldb_lookup.StdNonZeroNumberSummaryProvider -e -x -h "^(core::([a-z_]+::)+)NonZero(<.+>|I\d{0,3}|U\d{0,3})$" --category Rust
# PathBuf
type summary add -F lldb_lookup.StdPathBufSummaryProvider -e -x -h "^(std::([a-z_]+::)+)PathBuf$" --category Rust
# Path
type summary add -F lldb_lookup.StdPathSummaryProvider -e -x -h "^&(mut )?(std::([a-z_]+::)+)Path$" --category Rust
# Enum
# type summary add -F lldb_lookup.ClangEncodedEnumSummaryProvider -e -h "lldb_lookup.is_sum_type_enum" --recognizer-function --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCEnumSyntheticProvider -x "^enum2\$<.+>$" --category Rust
type summary add -F lldb_lookup.MSVCEnumSummaryProvider -e -x -h "^enum2\$<.+>$" --category Rust
## MSVC Variants
type synthetic add -l lldb_lookup.synthetic_lookup -x "^enum2\$<.+>::.*$" --category Rust
# Tuple
type synthetic add -l lldb_lookup.TupleSyntheticProvider -x "^\(.*\)$" --category Rust
type summary add -F lldb_lookup.TupleSummaryProvider -x "^\(.*\)$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCTupleSyntheticProvider -x "^tuple\$<.+>$" --category Rust
type summary add -F lldb_lookup.TupleSummaryProvider -e -x -h "^tuple\$<.+>$" --category Rust
type category enable Rust

breakpoint set --file 'destructured-local.rs' --line 317
Breakpoint 1: where = a`destructured_local::main + 964 at destructured-local.rs:317:5, address = 0x0000000100003094 
DEBUG: breakpoint added, id = 1
run
Process 8103 stopped * thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = breakpoint 1.1 frame #0: 0x0000000100003094 a`destructured_local::main at destructured-local.rs:317:5 314 // tuple struct with ref binding 315 let &TupleStruct(mm, ref nn) = &TupleStruct(55.0, 56); 316 -> 317 zzz(); // #break ^ 318 } 319 320 fn zzz() { () } Target 0: (a) stopped. Process 8103 launched: '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/destructured-local.lldb/a' (arm64) 
DEBUG: registering breakpoint callback, id = 1
Error while trying to register breakpoint callback, id = 1, message = error: could not get num args: can't find callable: breakpoint_callback

v a
(long) a = 1 
v b
(bool) b = false 
---
(unsigned short) e = 4 
v f
(long) f = 5 
v g
((u32, u32)) g = (6, 7) 
v h
(short) h = 8 
v i
(destructured_local::Struct) i = { a = 9 b = 10 } 
v j
(short) j = 11 
v k
(long) k = 12 
v l
(int) l = 13 
v m
---
(long) p = 19 
v q
(int) q = 20 
v r
(destructured_local::Struct) r = { a = 21 b = 22 } 
v s
(int) s = 24 
v t
(long) t = 23 
v u
(int) u = 25 
v v
(int) v = 26 
v w
(int) w = 27 
v x
(int) x = 28 
v y
(long) y = 29 
v z
(int) z = 30 
v ae
(long) ae = 31 
v oe
(int) oe = 32 
v ue
(int) ue = 33 
v aa
((i32, i32)) aa = (34, 35) 
v bb
((i32, i32)) bb = (36, 37) 
v cc
(int) cc = 38 
v dd
((i32, i32, i32)) dd = (40, 41, 42) 
v *ee
((i32, i32, i32)) *ee = (43, 44, 45) 
v *ff
(int) *ff = 46 
v gg
((i32, i32)) gg = (47, 48) 
v *hh
(int) *hh = 50 
v ii
(int) ii = 51 
v *jj
(int) *jj = 52 
v kk
(double) kk = 53 
v ll
(long) ll = 54 
v mm
(double) mm = 55 
v *nn
(long) *nn = 56 
quit
------------------------------------------
--- stderr -------------------------------
warning: This version of LLDB has no plugin for the language "rust". Inspection of frame variables will be limited.
------------------------------------------

---- [debuginfo-lldb] tests/debuginfo/destructured-local.rs stdout end ----
---- [debuginfo-lldb] tests/debuginfo/generic-method-on-generic-struct.rs stdout ----
NOTE: compiletest thinks it is using LLDB version 1500

error: check directive(s) from `/Users/runner/work/rust/rust/tests/debuginfo/generic-method-on-generic-struct.rs` not found in debugger output. errors:
    (generic-method-on-generic-struct.rs:61) `[...] { x = (8888, -8888) { 0 = 8888 1 = -8888 } }`
    (generic-method-on-generic-struct.rs:70) `[...] { x = (8888, -8888) { 0 = 8888 1 = -8888 } }`
the following subset of check directive(s) was found successfully:
    (generic-method-on-generic-struct.rs:63) `(long) arg1 = -1 `
    (generic-method-on-generic-struct.rs:65) `(unsigned short) arg2 = 2 `
    (generic-method-on-generic-struct.rs:72) `(long) arg1 = -3 `
    (generic-method-on-generic-struct.rs:74) `(short) arg2 = -4 `
    (generic-method-on-generic-struct.rs:79) `(generic_method_on_generic_struct::Struct<double>) *self = { x = 1234.5 } `
    (generic-method-on-generic-struct.rs:81) `(long) arg1 = -5 `
    (generic-method-on-generic-struct.rs:83) `(int) arg2 = -6 `
    (generic-method-on-generic-struct.rs:88) `(generic_method_on_generic_struct::Struct<double>) self = { x = 1234.5 } `
    (generic-method-on-generic-struct.rs:90) `(long) arg1 = -7 `
    (generic-method-on-generic-struct.rs:92) `(long) arg2 = -8 `
    (generic-method-on-generic-struct.rs:97) `(generic_method_on_generic_struct::Struct<double>) *self = { x = 1234.5 } `
    (generic-method-on-generic-struct.rs:99) `(long) arg1 = -9 `
    (generic-method-on-generic-struct.rs:101) `(float) arg2 = -10.5 `
status: exit status: 0
command: LLDB_BATCHMODE_SCRIPT_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/generic-method-on-generic-struct.lldb/generic-method-on-generic-struct.debugger.script" LLDB_BATCHMODE_TARGET_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/generic-method-on-generic-struct.lldb/a" PYTHONPATH="/Users/runner/work/rust/rust/src/etc" PYTHONUNBUFFERED="1" "lldb" "--one-line" "script --language python -- import lldb_batchmode; lldb_batchmode.main()"
--- stdout -------------------------------
(lldb) script --language python -- import lldb_batchmode; lldb_batchmode.main()
LLDB batch-mode script
----------------------
Debugger commands script is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/generic-method-on-generic-struct.lldb/generic-method-on-generic-struct.debugger.script'.
Target executable is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/generic-method-on-generic-struct.lldb/a'.
Current working directory is '/Users/runner/work/rust/rust'
Creating a target for '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/generic-method-on-generic-struct.lldb/a'
settings set auto-confirm true

settings set target.inherit-tcc true

version
lldb-1500.0.404.7 Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4) 
command script import /Users/runner/work/rust/rust/src/etc/lldb_lookup.py
# LLDB iterates through these in reverse order to discover summaries/synthetics that means the top
# of the list can be "overwritten" by items lower on the list. Be careful when reordering items.
# Forces test-compliant formatting to all other types
type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust
# Std String
type synthetic add -l lldb_lookup.StdStringSyntheticProvider -x "^(alloc::([a-z_]+::)+)String$" --category Rust
type summary add -F lldb_lookup.StdStringSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust
# Std str
type synthetic add -l lldb_lookup.StdSliceSyntheticProvider -x "^&(mut )?str$" --category Rust
type summary add -F lldb_lookup.StdStrSummaryProvider -e -x -h "^&(mut )?str$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCStrSyntheticProvider -x "^ref(_mut)?\$<str\$>$" --category Rust
type summary add -F lldb_lookup.StdStrSummaryProvider -e -h -x "^ref(_mut)?\$<str\$>$" --category Rust
# Array/Slice
type synthetic add -l lldb_lookup.StdSliceSyntheticProvider -x "^&(mut )?\\[.+\\]$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^&(mut )?\\[.+\\]$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCStdSliceSyntheticProvider -x "^ref(_mut)?\$<slice2\$<.+> >" --category Rust
type summary add -F lldb_lookup.StdSliceSummaryProvider -e -x -h "^ref(_mut)?\$<slice2\$<.+> >" --category Rust
# OsString
type summary add -F lldb_lookup.StdOsStringSummaryProvider -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust
# Vec
type synthetic add -l lldb_lookup.StdVecSyntheticProvider -x "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
# VecDeque
type synthetic add -l lldb_lookup.StdVecDequeSyntheticProvider -x "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
# HashMap
type synthetic add -l lldb_lookup.classify_hashmap -x "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
# HashSet
type synthetic add -l lldb_lookup.classify_hashset -x "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
# Rc
type synthetic add -l lldb_lookup.StdRcSyntheticProvider -x "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
type summary add -F lldb_lookup.StdRcSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
# Arc
type synthetic add -l lldb_lookup.arc_synthetic -x "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
type summary add -F lldb_lookup.StdRcSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
# Cell
type synthetic add -l lldb_lookup.StdCellSyntheticProvider -x "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust
# RefCell
type synthetic add -l lldb_lookup.StdRefSyntheticProvider -x "^(core::([a-z_]+::)+)Ref(Cell|Mut)?<.+>$" --category Rust
type summary add -F lldb_lookup.StdRefSummaryProvider -e -x -h "^(core::([a-z_]+::)+)Ref(Cell|Mut)?<.+>$" --category Rust
# NonZero
type summary add -F lldb_lookup.StdNonZeroNumberSummaryProvider -e -x -h "^(core::([a-z_]+::)+)NonZero(<.+>|I\d{0,3}|U\d{0,3})$" --category Rust
# PathBuf
type summary add -F lldb_lookup.StdPathBufSummaryProvider -e -x -h "^(std::([a-z_]+::)+)PathBuf$" --category Rust
# Path
type summary add -F lldb_lookup.StdPathSummaryProvider -e -x -h "^&(mut )?(std::([a-z_]+::)+)Path$" --category Rust
# Enum
# type summary add -F lldb_lookup.ClangEncodedEnumSummaryProvider -e -h "lldb_lookup.is_sum_type_enum" --recognizer-function --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCEnumSyntheticProvider -x "^enum2\$<.+>$" --category Rust
type summary add -F lldb_lookup.MSVCEnumSummaryProvider -e -x -h "^enum2\$<.+>$" --category Rust
## MSVC Variants
type synthetic add -l lldb_lookup.synthetic_lookup -x "^enum2\$<.+>::.*$" --category Rust
# Tuple
type synthetic add -l lldb_lookup.TupleSyntheticProvider -x "^\(.*\)$" --category Rust
type summary add -F lldb_lookup.TupleSummaryProvider -x "^\(.*\)$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCTupleSyntheticProvider -x "^tuple\$<.+>$" --category Rust
type summary add -F lldb_lookup.TupleSummaryProvider -e -x -h "^tuple\$<.+>$" --category Rust
type category enable Rust

breakpoint set --file 'generic-method-on-generic-struct.rs' --line 112
DEBUG: breakpoint added, id = 1
Breakpoint 1: 2 locations. 
DEBUG: registering breakpoint callback, id = 1
---
Breakpoint 2: 2 locations. 
DEBUG: registering breakpoint callback, id = 2
Error while trying to register breakpoint callback, id = 2, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'generic-method-on-generic-struct.rs' --line 122
DEBUG: breakpoint added, id = 3
Breakpoint 3: where = a`<generic_method_on_generic_struct::Struct<f64>>::self_owned::<f32> + 28 at generic-method-on-generic-struct.rs:122:9, address = 0x0000000100002b7c 
DEBUG: registering breakpoint callback, id = 3
Error while trying to register breakpoint callback, id = 3, message = error: could not get num args: can't find callable: breakpoint_callback

run
Process 8524 stopped * thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = breakpoint 1.1 frame #0: 0x0000000100002ad8 a`<generic_method_on_generic_struct::Struct<(u32, i32)>>::self_by_ref::<u16>(self=0x000000016fdfd250, arg1=-1, arg2=2) at generic-method-on-generic-struct.rs:112:9 109 impl<T1> Struct<T1> { 110 111 fn self_by_ref<T2>(&self, arg1: isize, arg2: T2) -> isize { -> 112 zzz(); // #break ^ 113 arg1 114 } 115 Target 0: (a) stopped. Process 8524 launched: '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/generic-method-on-generic-struct.lldb/a' (arm64) 
v *self
(generic_method_on_generic_struct::Struct<(u32, i32)>) *self = { x = (8888, -8888) } 
v arg1
(long) arg1 = -1 
v arg2
(unsigned short) arg2 = 2 
continue
v self
(generic_method_on_generic_struct::Struct<(u32, i32)>) self = { x = (8888, -8888) } 
v arg1
(long) arg1 = -3 
v arg2
(short) arg2 = -4 
continue
v *self
(generic_method_on_generic_struct::Struct<double>) *self = { x = 1234.5 } 
v arg1
(long) arg1 = -5 
v arg2
(int) arg2 = -6 
continue
v self
(generic_method_on_generic_struct::Struct<double>) self = { x = 1234.5 } 
v arg1
(long) arg1 = -7 
v arg2
(long) arg2 = -8 
continue
v *self
(generic_method_on_generic_struct::Struct<double>) *self = { x = 1234.5 } 
v arg1
(long) arg1 = -9 
v arg2
(float) arg2 = -10.5 
continue
quit
------------------------------------------
--- stderr -------------------------------
warning: This version of LLDB has no plugin for the language "rust". Inspection of frame variables will be limited.
------------------------------------------

---- [debuginfo-lldb] tests/debuginfo/generic-method-on-generic-struct.rs stdout end ----
---- [debuginfo-lldb] tests/debuginfo/method-on-generic-struct.rs stdout ----
NOTE: compiletest thinks it is using LLDB version 1500

error: check directive(s) from `/Users/runner/work/rust/rust/tests/debuginfo/method-on-generic-struct.rs` not found in debugger output. errors:
    (method-on-generic-struct.rs:61) `[...]Struct<(u32, i32)>) *self = { x = (8888, -8888) { 0 = 8888 1 = -8888 } }`
    (method-on-generic-struct.rs:70) `[...]Struct<(u32, i32)>) self = { x = (8888, -8888) { 0 = 8888 1 = -8888 } }`
the following subset of check directive(s) was found successfully:
    (method-on-generic-struct.rs:63) `(long) arg1 = -1 `
    (method-on-generic-struct.rs:65) `(long) arg2 = -2 `
    (method-on-generic-struct.rs:72) `(long) arg1 = -3 `
    (method-on-generic-struct.rs:74) `(long) arg2 = -4 `
    (method-on-generic-struct.rs:79) `(method_on_generic_struct::Struct<double>) *self = { x = 1234.5 } `
    (method-on-generic-struct.rs:81) `(long) arg1 = -5 `
    (method-on-generic-struct.rs:83) `(long) arg2 = -6 `
    (method-on-generic-struct.rs:88) `(method_on_generic_struct::Struct<double>) self = { x = 1234.5 } `
    (method-on-generic-struct.rs:90) `(long) arg1 = -7 `
    (method-on-generic-struct.rs:92) `(long) arg2 = -8 `
    (method-on-generic-struct.rs:97) `(method_on_generic_struct::Struct<double>) *self = { x = 1234.5 } `
    (method-on-generic-struct.rs:99) `(long) arg1 = -9 `
    (method-on-generic-struct.rs:101) `(long) arg2 = -10 `
status: exit status: 0
command: LLDB_BATCHMODE_SCRIPT_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/method-on-generic-struct.lldb/method-on-generic-struct.debugger.script" LLDB_BATCHMODE_TARGET_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/method-on-generic-struct.lldb/a" PYTHONPATH="/Users/runner/work/rust/rust/src/etc" PYTHONUNBUFFERED="1" "lldb" "--one-line" "script --language python -- import lldb_batchmode; lldb_batchmode.main()"
--- stdout -------------------------------
(lldb) script --language python -- import lldb_batchmode; lldb_batchmode.main()
LLDB batch-mode script
----------------------
Debugger commands script is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/method-on-generic-struct.lldb/method-on-generic-struct.debugger.script'.
Target executable is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/method-on-generic-struct.lldb/a'.
Current working directory is '/Users/runner/work/rust/rust'
Creating a target for '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/method-on-generic-struct.lldb/a'
settings set auto-confirm true

settings set target.inherit-tcc true

version
lldb-1500.0.404.7 Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4) 
command script import /Users/runner/work/rust/rust/src/etc/lldb_lookup.py
# LLDB iterates through these in reverse order to discover summaries/synthetics that means the top
# of the list can be "overwritten" by items lower on the list. Be careful when reordering items.
# Forces test-compliant formatting to all other types
type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust
# Std String
type synthetic add -l lldb_lookup.StdStringSyntheticProvider -x "^(alloc::([a-z_]+::)+)String$" --category Rust
type summary add -F lldb_lookup.StdStringSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust
# Std str
type synthetic add -l lldb_lookup.StdSliceSyntheticProvider -x "^&(mut )?str$" --category Rust
type summary add -F lldb_lookup.StdStrSummaryProvider -e -x -h "^&(mut )?str$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCStrSyntheticProvider -x "^ref(_mut)?\$<str\$>$" --category Rust
type summary add -F lldb_lookup.StdStrSummaryProvider -e -h -x "^ref(_mut)?\$<str\$>$" --category Rust
# Array/Slice
type synthetic add -l lldb_lookup.StdSliceSyntheticProvider -x "^&(mut )?\\[.+\\]$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^&(mut )?\\[.+\\]$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCStdSliceSyntheticProvider -x "^ref(_mut)?\$<slice2\$<.+> >" --category Rust
type summary add -F lldb_lookup.StdSliceSummaryProvider -e -x -h "^ref(_mut)?\$<slice2\$<.+> >" --category Rust
# OsString
type summary add -F lldb_lookup.StdOsStringSummaryProvider -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust
# Vec
type synthetic add -l lldb_lookup.StdVecSyntheticProvider -x "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
# VecDeque
type synthetic add -l lldb_lookup.StdVecDequeSyntheticProvider -x "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
# HashMap
type synthetic add -l lldb_lookup.classify_hashmap -x "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
# HashSet
type synthetic add -l lldb_lookup.classify_hashset -x "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
# Rc
type synthetic add -l lldb_lookup.StdRcSyntheticProvider -x "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
type summary add -F lldb_lookup.StdRcSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
# Arc
type synthetic add -l lldb_lookup.arc_synthetic -x "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
type summary add -F lldb_lookup.StdRcSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
# Cell
type synthetic add -l lldb_lookup.StdCellSyntheticProvider -x "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust
# RefCell
type synthetic add -l lldb_lookup.StdRefSyntheticProvider -x "^(core::([a-z_]+::)+)Ref(Cell|Mut)?<.+>$" --category Rust
type summary add -F lldb_lookup.StdRefSummaryProvider -e -x -h "^(core::([a-z_]+::)+)Ref(Cell|Mut)?<.+>$" --category Rust
# NonZero
type summary add -F lldb_lookup.StdNonZeroNumberSummaryProvider -e -x -h "^(core::([a-z_]+::)+)NonZero(<.+>|I\d{0,3}|U\d{0,3})$" --category Rust
# PathBuf
type summary add -F lldb_lookup.StdPathBufSummaryProvider -e -x -h "^(std::([a-z_]+::)+)PathBuf$" --category Rust
# Path
type summary add -F lldb_lookup.StdPathSummaryProvider -e -x -h "^&(mut )?(std::([a-z_]+::)+)Path$" --category Rust
# Enum
# type summary add -F lldb_lookup.ClangEncodedEnumSummaryProvider -e -h "lldb_lookup.is_sum_type_enum" --recognizer-function --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCEnumSyntheticProvider -x "^enum2\$<.+>$" --category Rust
type summary add -F lldb_lookup.MSVCEnumSummaryProvider -e -x -h "^enum2\$<.+>$" --category Rust
## MSVC Variants
type synthetic add -l lldb_lookup.synthetic_lookup -x "^enum2\$<.+>::.*$" --category Rust
# Tuple
type synthetic add -l lldb_lookup.TupleSyntheticProvider -x "^\(.*\)$" --category Rust
type summary add -F lldb_lookup.TupleSummaryProvider -x "^\(.*\)$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCTupleSyntheticProvider -x "^tuple\$<.+>$" --category Rust
type summary add -F lldb_lookup.TupleSummaryProvider -e -x -h "^tuple\$<.+>$" --category Rust
type category enable Rust

breakpoint set --file 'method-on-generic-struct.rs' --line 112
DEBUG: breakpoint added, id = 1
Breakpoint 1: 2 locations. 
DEBUG: registering breakpoint callback, id = 1
---
Breakpoint 2: 2 locations. 
DEBUG: registering breakpoint callback, id = 2
Error while trying to register breakpoint callback, id = 2, message = error: could not get num args: can't find callable: breakpoint_callback

breakpoint set --file 'method-on-generic-struct.rs' --line 122
Breakpoint 3: where = a`<method_on_generic_struct::Struct<f64>>::self_owned + 32 at method-on-generic-struct.rs:122:9, address = 0x0000000100002e04 
DEBUG: breakpoint added, id = 3
run
Process 9613 stopped * thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = breakpoint 1.1 frame #0: 0x0000000100002d24 a`<method_on_generic_struct::Struct<(u32, i32)>>::self_by_ref(self=0x000000016fdfd270, arg1=-1, arg2=-2) at method-on-generic-struct.rs:112:9 109 impl<T> Struct<T> { 110 111 fn self_by_ref(&self, arg1: isize, arg2: isize) -> isize { -> 112 zzz(); // #break ^ 113 arg1 + arg2 114 } 115 Target 0: (a) stopped. Process 9613 launched: '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/method-on-generic-struct.lldb/a' (arm64) 
DEBUG: registering breakpoint callback, id = 3
Error while trying to register breakpoint callback, id = 3, message = error: could not get num args: can't find callable: breakpoint_callback

v *self
(method_on_generic_struct::Struct<(u32, i32)>) *self = { x = (8888, -8888) } 
v arg1
(long) arg1 = -1 
v arg2
(long) arg2 = -2 
continue
v self
(method_on_generic_struct::Struct<(u32, i32)>) self = { x = (8888, -8888) } 
v arg1
(long) arg1 = -3 
v arg2
(long) arg2 = -4 
continue
v *self
(method_on_generic_struct::Struct<double>) *self = { x = 1234.5 } 
v arg1
(long) arg1 = -5 
v arg2
(long) arg2 = -6 
continue
v self
(method_on_generic_struct::Struct<double>) self = { x = 1234.5 } 
v arg1
(long) arg1 = -7 
v arg2
(long) arg2 = -8 
continue
v *self
(method_on_generic_struct::Struct<double>) *self = { x = 1234.5 } 
v arg1
(long) arg1 = -9 
v arg2
(long) arg2 = -10 
continue
quit
------------------------------------------
--- stderr -------------------------------
warning: This version of LLDB has no plugin for the language "rust". Inspection of frame variables will be limited.
------------------------------------------

---- [debuginfo-lldb] tests/debuginfo/method-on-generic-struct.rs stdout end ----
---- [debuginfo-lldb] tests/debuginfo/pretty-std-collections.rs stdout ----
NOTE: compiletest thinks it is using LLDB version 1500

error: check directive(s) from `/Users/runner/work/rust/rust/tests/debuginfo/pretty-std-collections.rs` not found in debugger output. errors:
    (pretty-std-collections.rs:62) `[...] size=4 { [0] = (1, 10) { 0 = 1 1 = 10 } [1] = (2, 20) { 0 = 2 1 = 20 } [2] = (3, 30) { 0 = 3 1 = 30 } [3] = (4, 40) { 0 = 4 1 = 40 } }`
the following subset of check directive(s) was found successfully:
    (pretty-std-collections.rs:56) `(alloc::collections::vec_deque::VecDeque<int, alloc::alloc::Global>) vec_deque = size=3 { [0] = 5 [1] = 3 [2] = 7 } `
    (pretty-std-collections.rs:59) `(alloc::collections::vec_deque::VecDeque<int, alloc::alloc::Global>) vec_deque2 = size=7 { [0] = 2 [1] = 3 [2] = 4 [3] = 5 [4] = 6 [5] = 7 [6] = 8 } `
    (pretty-std-collections.rs:65) `(std::collections::hash::set::HashSet<unsigned long, core::hash::BuildHasherDefault<pretty_std_collections::SimpleHasher> >) hash_set = size=4 { [0] = 1 [1] = 2 [2] = 3 [3] = 4 } `
status: exit status: 0
command: LLDB_BATCHMODE_SCRIPT_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/pretty-std-collections.lldb/pretty-std-collections.debugger.script" LLDB_BATCHMODE_TARGET_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/pretty-std-collections.lldb/a" PYTHONPATH="/Users/runner/work/rust/rust/src/etc" PYTHONUNBUFFERED="1" "lldb" "--one-line" "script --language python -- import lldb_batchmode; lldb_batchmode.main()"
--- stdout -------------------------------
(lldb) script --language python -- import lldb_batchmode; lldb_batchmode.main()
LLDB batch-mode script
----------------------
Debugger commands script is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/pretty-std-collections.lldb/pretty-std-collections.debugger.script'.
Target executable is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/pretty-std-collections.lldb/a'.
Current working directory is '/Users/runner/work/rust/rust'
Creating a target for '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/pretty-std-collections.lldb/a'
settings set auto-confirm true

settings set target.inherit-tcc true

version
lldb-1500.0.404.7 Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4) 
command script import /Users/runner/work/rust/rust/src/etc/lldb_lookup.py
# LLDB iterates through these in reverse order to discover summaries/synthetics that means the top
# of the list can be "overwritten" by items lower on the list. Be careful when reordering items.
# Forces test-compliant formatting to all other types
type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust
# Std String
type synthetic add -l lldb_lookup.StdStringSyntheticProvider -x "^(alloc::([a-z_]+::)+)String$" --category Rust
type summary add -F lldb_lookup.StdStringSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust
# Std str
type synthetic add -l lldb_lookup.StdSliceSyntheticProvider -x "^&(mut )?str$" --category Rust
type summary add -F lldb_lookup.StdStrSummaryProvider -e -x -h "^&(mut )?str$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCStrSyntheticProvider -x "^ref(_mut)?\$<str\$>$" --category Rust
type summary add -F lldb_lookup.StdStrSummaryProvider -e -h -x "^ref(_mut)?\$<str\$>$" --category Rust
# Array/Slice
type synthetic add -l lldb_lookup.StdSliceSyntheticProvider -x "^&(mut )?\\[.+\\]$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^&(mut )?\\[.+\\]$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCStdSliceSyntheticProvider -x "^ref(_mut)?\$<slice2\$<.+> >" --category Rust
type summary add -F lldb_lookup.StdSliceSummaryProvider -e -x -h "^ref(_mut)?\$<slice2\$<.+> >" --category Rust
# OsString
type summary add -F lldb_lookup.StdOsStringSummaryProvider -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust
# Vec
type synthetic add -l lldb_lookup.StdVecSyntheticProvider -x "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
# VecDeque
type synthetic add -l lldb_lookup.StdVecDequeSyntheticProvider -x "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
# HashMap
type synthetic add -l lldb_lookup.classify_hashmap -x "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
# HashSet
type synthetic add -l lldb_lookup.classify_hashset -x "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
# Rc
type synthetic add -l lldb_lookup.StdRcSyntheticProvider -x "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
type summary add -F lldb_lookup.StdRcSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
# Arc
type synthetic add -l lldb_lookup.arc_synthetic -x "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
type summary add -F lldb_lookup.StdRcSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
# Cell
type synthetic add -l lldb_lookup.StdCellSyntheticProvider -x "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust
# RefCell
type synthetic add -l lldb_lookup.StdRefSyntheticProvider -x "^(core::([a-z_]+::)+)Ref(Cell|Mut)?<.+>$" --category Rust
type summary add -F lldb_lookup.StdRefSummaryProvider -e -x -h "^(core::([a-z_]+::)+)Ref(Cell|Mut)?<.+>$" --category Rust
# NonZero
type summary add -F lldb_lookup.StdNonZeroNumberSummaryProvider -e -x -h "^(core::([a-z_]+::)+)NonZero(<.+>|I\d{0,3}|U\d{0,3})$" --category Rust
# PathBuf
type summary add -F lldb_lookup.StdPathBufSummaryProvider -e -x -h "^(std::([a-z_]+::)+)PathBuf$" --category Rust
# Path
type summary add -F lldb_lookup.StdPathSummaryProvider -e -x -h "^&(mut )?(std::([a-z_]+::)+)Path$" --category Rust
# Enum
# type summary add -F lldb_lookup.ClangEncodedEnumSummaryProvider -e -h "lldb_lookup.is_sum_type_enum" --recognizer-function --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCEnumSyntheticProvider -x "^enum2\$<.+>$" --category Rust
type summary add -F lldb_lookup.MSVCEnumSummaryProvider -e -x -h "^enum2\$<.+>$" --category Rust
## MSVC Variants
type synthetic add -l lldb_lookup.synthetic_lookup -x "^enum2\$<.+>::.*$" --category Rust
# Tuple
type synthetic add -l lldb_lookup.TupleSyntheticProvider -x "^\(.*\)$" --category Rust
type summary add -F lldb_lookup.TupleSummaryProvider -x "^\(.*\)$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCTupleSyntheticProvider -x "^tuple\$<.+>$" --category Rust
type summary add -F lldb_lookup.TupleSummaryProvider -e -x -h "^tuple\$<.+>$" --category Rust
type category enable Rust

breakpoint set --file 'pretty-std-collections.rs' --line 147
DEBUG: breakpoint added, id = 1
Breakpoint 1: where = a`pretty_std_collections::main + 1660 at pretty-std-collections.rs:147:5, address = 0x000000010002ff14 
DEBUG: registering breakpoint callback, id = 1
Error while trying to register breakpoint callback, id = 1, message = error: could not get num args: can't find callable: breakpoint_callback

run
Process 10504 stopped * thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = breakpoint 1.1 frame #0: 0x000000010002ff14 a`pretty_std_collections::main at pretty-std-collections.rs:147:5 144 hash_set.insert(i); 145 } 146 -> 147 zzz(); // #break ^ 148 } 149 150 fn zzz() { Target 0: (a) stopped. Process 10504 launched: '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/pretty-std-collections.lldb/a' (arm64) 
v vec_deque
(alloc::collections::vec_deque::VecDeque<int, alloc::alloc::Global>) vec_deque = size=3 { [0] = 5 [1] = 3 [2] = 7 } 
v vec_deque2
(alloc::collections::vec_deque::VecDeque<int, alloc::alloc::Global>) vec_deque2 = size=7 { [0] = 2 [1] = 3 [2] = 4 [3] = 5 [4] = 6 [5] = 7 [6] = 8 } 
v hash_map
(std::collections::hash::map::HashMap<unsigned long, unsigned long, core::hash::BuildHasherDefault<pretty_std_collections::SimpleHasher> >) hash_map = size=4 { [0] = (1, 10) [1] = (2, 20) [2] = (3, 30) [3] = (4, 40) } 
v hash_set
(std::collections::hash::set::HashSet<unsigned long, core::hash::BuildHasherDefault<pretty_std_collections::SimpleHasher> >) hash_set = size=4 { [0] = 1 [1] = 2 [2] = 3 [3] = 4 } 
quit
------------------------------------------
--- stderr -------------------------------
warning: This version of LLDB has no plugin for the language "rust". Inspection of frame variables will be limited.
------------------------------------------

---- [debuginfo-lldb] tests/debuginfo/pretty-std-collections.rs stdout end ----
---- [debuginfo-lldb] tests/debuginfo/simple-tuple.rs stdout ----
NOTE: compiletest thinks it is using LLDB version 1500

error: check directive(s) from `/Users/runner/work/rust/rust/tests/debuginfo/simple-tuple.rs` not found in debugger output. errors:
    (simple-tuple.rs:66) `[...] { 0 = -100 1 = 100 }`
    (simple-tuple.rs:68) `[...] { 0 = 0 1 = 1 2 = 2 }`
    (simple-tuple.rs:70) `[...] { 0 = 3 1 = 4.5 2 = 5 }`
    (simple-tuple.rs:72) `[...] { 0 = 6 1 = 7.5 2 = 8 }`
    (simple-tuple.rs:75) `[...] { 0 = 9 1 = 10 }`
    (simple-tuple.rs:77) `[...] { 0 = 11 1 = 12 2 = 13 3 = 14 }`
    (simple-tuple.rs:80) `[...] { 0 = 15 1 = 16 }`
status: exit status: 0
command: LLDB_BATCHMODE_SCRIPT_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/simple-tuple.lldb/simple-tuple.debugger.script" LLDB_BATCHMODE_TARGET_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/simple-tuple.lldb/a" PYTHONPATH="/Users/runner/work/rust/rust/src/etc" PYTHONUNBUFFERED="1" "lldb" "--one-line" "script --language python -- import lldb_batchmode; lldb_batchmode.main()"
--- stdout -------------------------------
(lldb) script --language python -- import lldb_batchmode; lldb_batchmode.main()
LLDB batch-mode script
----------------------
Debugger commands script is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/simple-tuple.lldb/simple-tuple.debugger.script'.
Target executable is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/simple-tuple.lldb/a'.
Current working directory is '/Users/runner/work/rust/rust'
Creating a target for '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/simple-tuple.lldb/a'
settings set auto-confirm true

settings set target.inherit-tcc true

version
lldb-1500.0.404.7 Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4) 
command script import /Users/runner/work/rust/rust/src/etc/lldb_lookup.py
# LLDB iterates through these in reverse order to discover summaries/synthetics that means the top
# of the list can be "overwritten" by items lower on the list. Be careful when reordering items.
# Forces test-compliant formatting to all other types
type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust
# Std String
type synthetic add -l lldb_lookup.StdStringSyntheticProvider -x "^(alloc::([a-z_]+::)+)String$" --category Rust
type summary add -F lldb_lookup.StdStringSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust
# Std str
type synthetic add -l lldb_lookup.StdSliceSyntheticProvider -x "^&(mut )?str$" --category Rust
type summary add -F lldb_lookup.StdStrSummaryProvider -e -x -h "^&(mut )?str$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCStrSyntheticProvider -x "^ref(_mut)?\$<str\$>$" --category Rust
type summary add -F lldb_lookup.StdStrSummaryProvider -e -h -x "^ref(_mut)?\$<str\$>$" --category Rust
# Array/Slice
type synthetic add -l lldb_lookup.StdSliceSyntheticProvider -x "^&(mut )?\\[.+\\]$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^&(mut )?\\[.+\\]$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCStdSliceSyntheticProvider -x "^ref(_mut)?\$<slice2\$<.+> >" --category Rust
type summary add -F lldb_lookup.StdSliceSummaryProvider -e -x -h "^ref(_mut)?\$<slice2\$<.+> >" --category Rust
# OsString
type summary add -F lldb_lookup.StdOsStringSummaryProvider -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust
# Vec
type synthetic add -l lldb_lookup.StdVecSyntheticProvider -x "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
# VecDeque
type synthetic add -l lldb_lookup.StdVecDequeSyntheticProvider -x "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
# HashMap
type synthetic add -l lldb_lookup.classify_hashmap -x "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
# HashSet
type synthetic add -l lldb_lookup.classify_hashset -x "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
# Rc
type synthetic add -l lldb_lookup.StdRcSyntheticProvider -x "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
type summary add -F lldb_lookup.StdRcSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
# Arc
type synthetic add -l lldb_lookup.arc_synthetic -x "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
type summary add -F lldb_lookup.StdRcSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
# Cell
type synthetic add -l lldb_lookup.StdCellSyntheticProvider -x "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust
# RefCell
type synthetic add -l lldb_lookup.StdRefSyntheticProvider -x "^(core::([a-z_]+::)+)Ref(Cell|Mut)?<.+>$" --category Rust
type summary add -F lldb_lookup.StdRefSummaryProvider -e -x -h "^(core::([a-z_]+::)+)Ref(Cell|Mut)?<.+>$" --category Rust
# NonZero
type summary add -F lldb_lookup.StdNonZeroNumberSummaryProvider -e -x -h "^(core::([a-z_]+::)+)NonZero(<.+>|I\d{0,3}|U\d{0,3})$" --category Rust
# PathBuf
type summary add -F lldb_lookup.StdPathBufSummaryProvider -e -x -h "^(std::([a-z_]+::)+)PathBuf$" --category Rust
# Path
type summary add -F lldb_lookup.StdPathSummaryProvider -e -x -h "^&(mut )?(std::([a-z_]+::)+)Path$" --category Rust
# Enum
# type summary add -F lldb_lookup.ClangEncodedEnumSummaryProvider -e -h "lldb_lookup.is_sum_type_enum" --recognizer-function --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCEnumSyntheticProvider -x "^enum2\$<.+>$" --category Rust
type summary add -F lldb_lookup.MSVCEnumSummaryProvider -e -x -h "^enum2\$<.+>$" --category Rust
## MSVC Variants
type synthetic add -l lldb_lookup.synthetic_lookup -x "^enum2\$<.+>::.*$" --category Rust
# Tuple
type synthetic add -l lldb_lookup.TupleSyntheticProvider -x "^\(.*\)$" --category Rust
type summary add -F lldb_lookup.TupleSummaryProvider -x "^\(.*\)$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCTupleSyntheticProvider -x "^tuple\$<.+>$" --category Rust
type summary add -F lldb_lookup.TupleSummaryProvider -e -x -h "^tuple\$<.+>$" --category Rust
type category enable Rust

breakpoint set --file 'simple-tuple.rs' --line 162
Breakpoint 1: where = a`simple_tuple::main + 684 at simple-tuple.rs:162:5, address = 0x0000000100003c30 
DEBUG: breakpoint added, id = 1
run
Process 11217 stopped * thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = breakpoint 1.1 frame #0: 0x0000000100003c30 a`simple_tuple::main at simple-tuple.rs:162:5 159 PADDING_AT_END = (116, 117); 160 } 161 -> 162 zzz(); // #break ^ 163 } 164 165 fn zzz() {()} Target 0: (a) stopped. Process 11217 launched: '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/simple-tuple.lldb/a' (arm64) 
DEBUG: registering breakpoint callback, id = 1
Error while trying to register breakpoint callback, id = 1, message = error: could not get num args: can't find callable: breakpoint_callback

v/d noPadding8
((i8, u8)) noPadding8 = ('\x9c', 'd') 
v noPadding16
((i16, i16, u16)) noPadding16 = (0, 1, 2) 
v noPadding32
((i32, f32, u32)) noPadding32 = (3, 4.5, 5) 
v noPadding64
((i64, f64, u64)) noPadding64 = (6, 7.5, 8) 
v internalPadding1
((i16, i32)) internalPadding1 = (9, 10) 
v internalPadding2
((i16, i32, u32, u64)) internalPadding2 = (11, 12, 13, 14) 
v paddingAtEnd
((i32, i16)) paddingAtEnd = (15, 16) 
quit
------------------------------------------
--- stderr -------------------------------
warning: This version of LLDB has no plugin for the language "rust". Inspection of frame variables will be limited.
------------------------------------------

---- [debuginfo-lldb] tests/debuginfo/simple-tuple.rs stdout end ----
---- [debuginfo-lldb] tests/debuginfo/tuple-in-tuple.rs stdout ----
NOTE: compiletest thinks it is using LLDB version 1500

error: check directive(s) from `/Users/runner/work/rust/rust/tests/debuginfo/tuple-in-tuple.rs` not found in debugger output. errors:
    (tuple-in-tuple.rs:32) `[...] ((0, 1), 2, 3) { 0 = (0, 1) { 0 = 0 1 = 1 } 1 = 2 2 = 3 }`
    (tuple-in-tuple.rs:34) `[...] (4, (5, 6), 7) { 0 = 4 1 = (5, 6) { 0 = 5 1 = 6 } 2 = 7 }`
    (tuple-in-tuple.rs:36) `[...] (8, 9, (10, 11)) { 0 = 8 1 = 9 2 = (10, 11) { 0 = 10 1 = 11 } }`
    (tuple-in-tuple.rs:39) `[...] (12, (13, 14)) { 0 = 12 1 = (13, 14) { 0 = 13 1 = 14 } }`
    (tuple-in-tuple.rs:41) `[...] (15, (16, 17)) { 0 = 15 1 = (16, 17) { 0 = 16 1 = 17 } }`
    (tuple-in-tuple.rs:44) `[...] (18, (19, 20)) { 0 = 18 1 = (19, 20) { 0 = 19 1 = 20 } }`
    (tuple-in-tuple.rs:46) `[...] ((21, 22), 23) { 0 = (21, 22) { 0 = 21 1 = 22 } 1 = 23 }`
status: exit status: 0
command: LLDB_BATCHMODE_SCRIPT_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/tuple-in-tuple.lldb/tuple-in-tuple.debugger.script" LLDB_BATCHMODE_TARGET_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/tuple-in-tuple.lldb/a" PYTHONPATH="/Users/runner/work/rust/rust/src/etc" PYTHONUNBUFFERED="1" "lldb" "--one-line" "script --language python -- import lldb_batchmode; lldb_batchmode.main()"
--- stdout -------------------------------
(lldb) script --language python -- import lldb_batchmode; lldb_batchmode.main()
LLDB batch-mode script
----------------------
Debugger commands script is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/tuple-in-tuple.lldb/tuple-in-tuple.debugger.script'.
Target executable is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/tuple-in-tuple.lldb/a'.
Current working directory is '/Users/runner/work/rust/rust'
Creating a target for '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/tuple-in-tuple.lldb/a'
settings set auto-confirm true

settings set target.inherit-tcc true

version
lldb-1500.0.404.7 Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4) 
command script import /Users/runner/work/rust/rust/src/etc/lldb_lookup.py
# LLDB iterates through these in reverse order to discover summaries/synthetics that means the top
# of the list can be "overwritten" by items lower on the list. Be careful when reordering items.
# Forces test-compliant formatting to all other types
type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust
# Std String
type synthetic add -l lldb_lookup.StdStringSyntheticProvider -x "^(alloc::([a-z_]+::)+)String$" --category Rust
type summary add -F lldb_lookup.StdStringSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust
# Std str
type synthetic add -l lldb_lookup.StdSliceSyntheticProvider -x "^&(mut )?str$" --category Rust
type summary add -F lldb_lookup.StdStrSummaryProvider -e -x -h "^&(mut )?str$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCStrSyntheticProvider -x "^ref(_mut)?\$<str\$>$" --category Rust
type summary add -F lldb_lookup.StdStrSummaryProvider -e -h -x "^ref(_mut)?\$<str\$>$" --category Rust
# Array/Slice
type synthetic add -l lldb_lookup.StdSliceSyntheticProvider -x "^&(mut )?\\[.+\\]$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^&(mut )?\\[.+\\]$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCStdSliceSyntheticProvider -x "^ref(_mut)?\$<slice2\$<.+> >" --category Rust
type summary add -F lldb_lookup.StdSliceSummaryProvider -e -x -h "^ref(_mut)?\$<slice2\$<.+> >" --category Rust
# OsString
type summary add -F lldb_lookup.StdOsStringSummaryProvider -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust
# Vec
type synthetic add -l lldb_lookup.StdVecSyntheticProvider -x "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
# VecDeque
type synthetic add -l lldb_lookup.StdVecDequeSyntheticProvider -x "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
# HashMap
type synthetic add -l lldb_lookup.classify_hashmap -x "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
# HashSet
type synthetic add -l lldb_lookup.classify_hashset -x "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
# Rc
type synthetic add -l lldb_lookup.StdRcSyntheticProvider -x "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
type summary add -F lldb_lookup.StdRcSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
# Arc
type synthetic add -l lldb_lookup.arc_synthetic -x "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
type summary add -F lldb_lookup.StdRcSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
# Cell
type synthetic add -l lldb_lookup.StdCellSyntheticProvider -x "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust
# RefCell
type synthetic add -l lldb_lookup.StdRefSyntheticProvider -x "^(core::([a-z_]+::)+)Ref(Cell|Mut)?<.+>$" --category Rust
type summary add -F lldb_lookup.StdRefSummaryProvider -e -x -h "^(core::([a-z_]+::)+)Ref(Cell|Mut)?<.+>$" --category Rust
# NonZero
type summary add -F lldb_lookup.StdNonZeroNumberSummaryProvider -e -x -h "^(core::([a-z_]+::)+)NonZero(<.+>|I\d{0,3}|U\d{0,3})$" --category Rust
# PathBuf
type summary add -F lldb_lookup.StdPathBufSummaryProvider -e -x -h "^(std::([a-z_]+::)+)PathBuf$" --category Rust
# Path
type summary add -F lldb_lookup.StdPathSummaryProvider -e -x -h "^&(mut )?(std::([a-z_]+::)+)Path$" --category Rust
# Enum
# type summary add -F lldb_lookup.ClangEncodedEnumSummaryProvider -e -h "lldb_lookup.is_sum_type_enum" --recognizer-function --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCEnumSyntheticProvider -x "^enum2\$<.+>$" --category Rust
type summary add -F lldb_lookup.MSVCEnumSummaryProvider -e -x -h "^enum2\$<.+>$" --category Rust
## MSVC Variants
type synthetic add -l lldb_lookup.synthetic_lookup -x "^enum2\$<.+>::.*$" --category Rust
# Tuple
type synthetic add -l lldb_lookup.TupleSyntheticProvider -x "^\(.*\)$" --category Rust
type summary add -F lldb_lookup.TupleSummaryProvider -x "^\(.*\)$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCTupleSyntheticProvider -x "^tuple\$<.+>$" --category Rust
type summary add -F lldb_lookup.TupleSummaryProvider -e -x -h "^tuple\$<.+>$" --category Rust
type category enable Rust

breakpoint set --file 'tuple-in-tuple.rs' --line 128
DEBUG: breakpoint added, id = 1
Breakpoint 1: where = a`tuple_in_tuple::main + 200 at tuple-in-tuple.rs:128:5, address = 0x0000000100003c9c 
DEBUG: registering breakpoint callback, id = 1
Error while trying to register breakpoint callback, id = 1, message = error: could not get num args: can't find callable: breakpoint_callback

run
Process 11625 stopped * thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = breakpoint 1.1 frame #0: 0x0000000100003c9c a`tuple_in_tuple::main at tuple-in-tuple.rs:128:5 125 let padding_at_end1: (i32, (i32, i16)) = (18, (19, 20)); 126 let padding_at_end2: ((i32, i16), i32) = ((21, 22), 23); 127 -> 128 zzz(); // #break ^ 129 } 130 131 fn zzz() {()} Target 0: (a) stopped. Process 11625 launched: '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/tuple-in-tuple.lldb/a' (arm64) 
v no_padding1
(((u32, u32), u32, u32)) no_padding1 = ((0, 1), 2, 3) 
v no_padding2
((u32, (u32, u32), u32)) no_padding2 = (4, (5, 6), 7) 
v no_padding3
((u32, u32, (u32, u32))) no_padding3 = (8, 9, (10, 11)) 
v internal_padding1
((i16, (i32, i32))) internal_padding1 = (12, (13, 14)) 
v internal_padding2
((i16, (i16, i32))) internal_padding2 = (15, (16, 17)) 
v padding_at_end1
((i32, (i32, i16))) padding_at_end1 = (18, (19, 20)) 
v padding_at_end2
(((i32, i16), i32)) padding_at_end2 = ((21, 22), 23) 
quit
------------------------------------------
--- stderr -------------------------------
warning: This version of LLDB has no plugin for the language "rust". Inspection of frame variables will be limited.
------------------------------------------

---- [debuginfo-lldb] tests/debuginfo/tuple-in-tuple.rs stdout end ----
---- [debuginfo-lldb] tests/debuginfo/union-smoke.rs stdout ----
NOTE: compiletest thinks it is using LLDB version 1500

error: check directive(s) from `/Users/runner/work/rust/rust/tests/debuginfo/union-smoke.rs` not found in debugger output. errors:
    (union-smoke.rs:17) `[...] { a = ('\x02', '\x02') { 0 = '\x02' 1 = '\x02' } b = 514 }`
    (union-smoke.rs:20) `[...] { a = ('\x01', '\x01') { 0 = '\x01' 1 = '\x01' } b = 257 }`
status: exit status: 0
command: LLDB_BATCHMODE_SCRIPT_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/union-smoke.lldb/union-smoke.debugger.script" LLDB_BATCHMODE_TARGET_PATH="/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/union-smoke.lldb/a" PYTHONPATH="/Users/runner/work/rust/rust/src/etc" PYTHONUNBUFFERED="1" "lldb" "--one-line" "script --language python -- import lldb_batchmode; lldb_batchmode.main()"
--- stdout -------------------------------
(lldb) script --language python -- import lldb_batchmode; lldb_batchmode.main()
LLDB batch-mode script
----------------------
Debugger commands script is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/union-smoke.lldb/union-smoke.debugger.script'.
Target executable is '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/union-smoke.lldb/a'.
Current working directory is '/Users/runner/work/rust/rust'
Creating a target for '/Users/runner/work/rust/rust/build/aarch64-apple-darwin/test/debuginfo/union-smoke.lldb/a'
settings set auto-confirm true

settings set target.inherit-tcc true

version
lldb-1500.0.404.7 Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4) 
command script import /Users/runner/work/rust/rust/src/etc/lldb_lookup.py
# LLDB iterates through these in reverse order to discover summaries/synthetics that means the top
# of the list can be "overwritten" by items lower on the list. Be careful when reordering items.
# Forces test-compliant formatting to all other types
type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust
# Std String
type synthetic add -l lldb_lookup.StdStringSyntheticProvider -x "^(alloc::([a-z_]+::)+)String$" --category Rust
type summary add -F lldb_lookup.StdStringSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust
# Std str
type synthetic add -l lldb_lookup.StdSliceSyntheticProvider -x "^&(mut )?str$" --category Rust
type summary add -F lldb_lookup.StdStrSummaryProvider -e -x -h "^&(mut )?str$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCStrSyntheticProvider -x "^ref(_mut)?\$<str\$>$" --category Rust
type summary add -F lldb_lookup.StdStrSummaryProvider -e -h -x "^ref(_mut)?\$<str\$>$" --category Rust
# Array/Slice
type synthetic add -l lldb_lookup.StdSliceSyntheticProvider -x "^&(mut )?\\[.+\\]$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^&(mut )?\\[.+\\]$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCStdSliceSyntheticProvider -x "^ref(_mut)?\$<slice2\$<.+> >" --category Rust
type summary add -F lldb_lookup.StdSliceSummaryProvider -e -x -h "^ref(_mut)?\$<slice2\$<.+> >" --category Rust
# OsString
type summary add -F lldb_lookup.StdOsStringSummaryProvider -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust
# Vec
type synthetic add -l lldb_lookup.StdVecSyntheticProvider -x "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
# VecDeque
type synthetic add -l lldb_lookup.StdVecDequeSyntheticProvider -x "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
# HashMap
type synthetic add -l lldb_lookup.classify_hashmap -x "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
# HashSet
type synthetic add -l lldb_lookup.classify_hashset -x "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
type summary add -F lldb_lookup.SizeSummaryProvider -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
# Rc
type synthetic add -l lldb_lookup.StdRcSyntheticProvider -x "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
type summary add -F lldb_lookup.StdRcSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
# Arc
type synthetic add -l lldb_lookup.arc_synthetic -x "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
type summary add -F lldb_lookup.StdRcSummaryProvider -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
# Cell
type synthetic add -l lldb_lookup.StdCellSyntheticProvider -x "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust
# RefCell
type synthetic add -l lldb_lookup.StdRefSyntheticProvider -x "^(core::([a-z_]+::)+)Ref(Cell|Mut)?<.+>$" --category Rust
type summary add -F lldb_lookup.StdRefSummaryProvider -e -x -h "^(core::([a-z_]+::)+)Ref(Cell|Mut)?<.+>$" --category Rust
# NonZero
type summary add -F lldb_lookup.StdNonZeroNumberSummaryProvider -e -x -h "^(core::([a-z_]+::)+)NonZero(<.+>|I\d{0,3}|U\d{0,3})$" --category Rust
# PathBuf
type summary add -F lldb_lookup.StdPathBufSummaryProvider -e -x -h "^(std::([a-z_]+::)+)PathBuf$" --category Rust
# Path
type summary add -F lldb_lookup.StdPathSummaryProvider -e -x -h "^&(mut )?(std::([a-z_]+::)+)Path$" --category Rust
# Enum
# type summary add -F lldb_lookup.ClangEncodedEnumSummaryProvider -e -h "lldb_lookup.is_sum_type_enum" --recognizer-function --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCEnumSyntheticProvider -x "^enum2\$<.+>$" --category Rust
type summary add -F lldb_lookup.MSVCEnumSummaryProvider -e -x -h "^enum2\$<.+>$" --category Rust
## MSVC Variants
type synthetic add -l lldb_lookup.synthetic_lookup -x "^enum2\$<.+>::.*$" --category Rust
# Tuple
type synthetic add -l lldb_lookup.TupleSyntheticProvider -x "^\(.*\)$" --category Rust
type summary add -F lldb_lookup.TupleSummaryProvider -x "^\(.*\)$" --category Rust
## MSVC
type synthetic add -l lldb_lookup.MSVCTupleSyntheticProvider -x "^tuple\$<.+>$" --category Rust
type summary add -F lldb_lookup.TupleSummaryProvider -e -x -h "^tuple\$<.+>$" --category Rust
type category enable Rust

@rust-bors
Copy link

rust-bors bot commented Dec 21, 2025

💔 Test for f99edd6 failed: CI. Failed jobs:

@Kivooeo Kivooeo added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Dec 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants