diff --git a/core/lib/Drupal/Core/Field/BaseFieldDefinition.php b/core/lib/Drupal/Core/Field/BaseFieldDefinition.php index 594f31d..54d2024 100644 --- a/core/lib/Drupal/Core/Field/BaseFieldDefinition.php +++ b/core/lib/Drupal/Core/Field/BaseFieldDefinition.php @@ -579,7 +579,7 @@ protected function getFieldItemClass() { public function __sleep() { // Do not serialize the statically cached property definitions. $vars = get_object_vars($this); - unset($vars['propertyDefinitions']); + unset($vars['propertyDefinitions'], $vars['typedDataManager']); return array_keys($vars); } diff --git a/core/lib/Drupal/Core/TypedData/ComplexDataDefinitionBase.php b/core/lib/Drupal/Core/TypedData/ComplexDataDefinitionBase.php index 0acdba4..0002497 100644 --- a/core/lib/Drupal/Core/TypedData/ComplexDataDefinitionBase.php +++ b/core/lib/Drupal/Core/TypedData/ComplexDataDefinitionBase.php @@ -42,7 +42,7 @@ public function getMainPropertyName() { public function __sleep() { // Do not serialize the cached property definitions. $vars = get_object_vars($this); - unset($vars['propertyDefinitions']); + unset($vars['propertyDefinitions'], $vars['typedDataManager']); return array_keys($vars); } diff --git a/core/lib/Drupal/Core/TypedData/DataDefinition.php b/core/lib/Drupal/Core/TypedData/DataDefinition.php index 07b78bf..4809564 100644 --- a/core/lib/Drupal/Core/TypedData/DataDefinition.php +++ b/core/lib/Drupal/Core/TypedData/DataDefinition.php @@ -9,7 +9,6 @@ */ class DataDefinition implements DataDefinitionInterface, \ArrayAccess { - use DependencySerializationTrait; use TypedDataTrait; /** @@ -345,4 +344,14 @@ public function toArray() { return $this->definition; } + /** + * {@inheritdoc} + */ + public function __sleep() { + // Never serialize the typed data manager. + $vars = get_object_vars($this); + unset($vars['typedDataManager']); + return array_keys($vars); + } + }