Skip to content

Commit 0eac77c

Browse files
anandoleecopybara-github
authored andcommitted
Breaking change in 26 release: Remove msg.UnknownFields() support in pure python and cpp extension.
Users should use the add-on unknown_fields.py support. Old usage example: unknown_field_set = msg.UnknownFields() New usage should be: from google.protobuf import unknown_fields unknown_field_set = unknown_fields.UnknownFieldSet(msg) PiperOrigin-RevId: 589969095
1 parent e35cf10 commit 0eac77c

File tree

2 files changed

+8
-19
lines changed

2 files changed

+8
-19
lines changed

python/google/protobuf/internal/python_message.py

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1385,15 +1385,9 @@ def _Clear(self):
13851385

13861386

13871387
def _UnknownFields(self):
1388-
warnings.warn(
1389-
'message.UnknownFields() is deprecated. Please use the add one '
1390-
'feature unknown_fields.UnknownFieldSet(message) in '
1391-
'unknown_fields.py instead.'
1392-
)
1393-
if self._unknown_field_set is None: # pylint: disable=protected-access
1394-
# pylint: disable=protected-access
1395-
self._unknown_field_set = containers.UnknownFieldSet()
1396-
return self._unknown_field_set # pylint: disable=protected-access
1388+
raise NotImplementedError('Please use the add-on feaure '
1389+
'unknown_fields.UnknownFieldSet(message) in '
1390+
'unknown_fields.py instead.')
13971391

13981392

13991393
def _DiscardUnknownFields(self):

python/google/protobuf/pyext/message.cc

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2346,16 +2346,11 @@ static PyObject* GetExtensionDict(CMessage* self, void *closure) {
23462346
}
23472347

23482348
static PyObject* GetUnknownFields(CMessage* self) {
2349-
PyErr_Warn(nullptr,
2350-
"message.UnknownFields() is deprecated. Please use the "
2351-
"add one feature unknown_fields.UnknownFieldSet(message) in "
2352-
"unknown_fields.py instead.");
2353-
if (self->unknown_field_set == nullptr) {
2354-
self->unknown_field_set = unknown_fields::NewPyUnknownFields(self);
2355-
} else {
2356-
Py_INCREF(self->unknown_field_set);
2357-
}
2358-
return self->unknown_field_set;
2349+
PyErr_Format(PyExc_NotImplementedError,
2350+
"Please use the add-on feature "
2351+
"unknown_fields.UnknownFieldSet(message) in "
2352+
"unknown_fields.py instead.");
2353+
return nullptr;
23592354
}
23602355

23612356
static PyGetSetDef Getters[] = {

0 commit comments

Comments
 (0)