================ @@ -18,25 +18,35 @@ namespace lldb_private { -struct FakeTelemetryInfo : public llvm::telemetry::TelemetryInfo { +struct FakeTelemetryInfo : public telemetry::LLDBBaseTelemetryInfo { std::string msg; + int num; + + ::llvm::telemetry::KindType getKind() const override { return 0b11111; } }; class TestDestination : public llvm::telemetry::Destination { public: - TestDestination(std::vector<const llvm::telemetry::TelemetryInfo *> *entries) + TestDestination(std::vector<llvm::telemetry::TelemetryInfo *> *entries) : received_entries(entries) {} llvm::Error receiveEntry(const llvm::telemetry::TelemetryInfo *entry) override { - received_entries->push_back(entry); + // Save a copy of the entry for later verification (because the original + // entry might have gone out of scope by the time verification is done. + if (auto *fake_entry = llvm::dyn_cast<FakeTelemetryInfo>(entry)) { + FakeTelemetryInfo *copied = new FakeTelemetryInfo(); + copied->msg = fake_entry->msg; + copied->num = fake_entry->num; + received_entries->push_back(copied); + } ---------------- labath wrote:
As we already have a copy constructor.. ```suggestion if (auto *fake_entry = llvm::dyn_cast<FakeTelemetryInfo>(entry)) received_entries->push_back(std::make_unique<FakeTelemetryInfo>(*fake_entry)); ``` https://github.com/llvm/llvm-project/pull/127696 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits