| 1 | template <typename T> struct Base { |
|---|---|
| 2 | Base(T &t) : ref(t), pointer(&t) {} |
| 3 | // Try referencing `Derived` via different ways to potentially make LLDB |
| 4 | // pull in the definition (which would recurse back to this base class). |
| 5 | T &ref; |
| 6 | T *pointer; |
| 7 | T func() { return ref; } |
| 8 | }; |
| 9 | |
| 10 | struct Derived : Base<Derived> { |
| 11 | Derived() : Base<Derived>(*this) {} |
| 12 | int member = 0; |
| 13 | }; |
| 14 | |
| 15 | Derived derived; |
| 16 | |
| 17 | int main() { return derived.member; } |
| 18 |
