diff -u b/core/lib/Drupal/Core/TypedData/TypedDataManager.php b/core/lib/Drupal/Core/TypedData/TypedDataManager.php --- b/core/lib/Drupal/Core/TypedData/TypedDataManager.php +++ b/core/lib/Drupal/Core/TypedData/TypedDataManager.php @@ -13,6 +13,7 @@ use Drupal\Core\Validation\ConstraintManager; use Drupal\Core\Validation\ConstraintValidatorFactory; use Drupal\Core\Validation\DrupalTranslator; +use Symfony\Component\DependencyInjection\ContainerAwareInterface; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\Validator\Validator\ValidatorInterface; @@ -99,7 +100,10 @@ if (!isset($class)) { throw new PluginException(sprintf('The plugin (%s) did not specify an instance class.', $data_type)); } - $typed_data = $class::createInstance($data_definition, $configuration['name'], $configuration['parent'], $this->container); + $typed_data = $class::createInstance($data_definition, $configuration['name'], $configuration['parent']); + if ($typed_data instanceof ContainerAwareInterface) { + $typed_data->setContainer($this->container); + } $typed_data->setTypedDataManager($this); return $typed_data; }