diff --git a/upb/msg_test.cc b/upb/msg_test.cc index 528d2e03b2..433d14284e 100644 --- a/upb/msg_test.cc +++ b/upb/msg_test.cc @@ -60,13 +60,13 @@ TEST(MessageTest, Extensions) { upb::MessageDefPtr m(upb_test_TestExtensions_getmsgdef(symtab.ptr())); EXPECT_TRUE(m.ptr() != nullptr); - std::string json = R"( + std::string json = R"json( { "[upb_test.TestExtensions.optional_int32_ext]": 123, "[upb_test.TestExtensions.Nested.repeated_int32_ext]": [2, 4, 6], "[upb_test.optional_msg_ext]": {"optional_int32": 456} } - )"; + )json"; upb::Status status; EXPECT_TRUE(upb_json_decode(json.data(), json.size(), ext_msg, m.ptr(), symtab.ptr(), 0, arena.ptr(), status.ptr())) @@ -98,4 +98,3 @@ TEST(MessageTest, Extensions) { << status.error_message(); VerifyMessage(ext_msg3); } - diff --git a/upbc/protoc-gen-upb.cc b/upbc/protoc-gen-upb.cc index e49d48174d..511afd9e4f 100644 --- a/upbc/protoc-gen-upb.cc +++ b/upbc/protoc-gen-upb.cc @@ -1172,18 +1172,16 @@ int WriteExtensions(const protobuf::FileDescriptor* file, Output& output) { // Order by full name for consistent ordering. std::map forward_messages; - auto add_forward_decl = [&](const protobuf::Descriptor* d) { - forward_messages[d->full_name()] = d; - }; for (auto ext : exts) { - add_forward_decl(ext->containing_type()); + forward_messages[ext->containing_type()->full_name()] = + ext->containing_type(); if (ext->message_type()) { - add_forward_decl(ext->message_type()); + forward_messages[ext->message_type()->full_name()] = ext->message_type(); } } - for (auto decl : forward_messages) { + for (const auto& decl : forward_messages) { output("extern const upb_msglayout $0;\n", MessageInit(decl.second)); }