diff --git a/core/includes/common.inc b/core/includes/common.inc
index 85d5f3a..26ed25f 100644
--- a/core/includes/common.inc
+++ b/core/includes/common.inc
@@ -1200,7 +1200,7 @@ function show(&$element) {
  * Retrieves the default properties for the defined element type.
  *
  * @param $type
- *   An element type as defined by hook_element_info().
+ *   An element type as defined by hook_element_info() or an element plugin.
  *
  * @deprecated in Drupal 8.0.0, will be removed before Drupal 9.0.0.
  *   Use \Drupal::service('element_info')->getInfo() instead.
@@ -1213,7 +1213,7 @@ function element_info($type) {
  * Retrieves a single property for the defined element type.
  *
  * @param $type
- *   An element type as defined by hook_element_info().
+ *   An element type as defined by hook_element_info() or an element plugin.
  * @param $property_name
  *   The property within the element type that should be returned.
  * @param $default
diff --git a/core/lib/Drupal/Core/Render/Element/MachineName.php b/core/lib/Drupal/Core/Render/Element/MachineName.php
index 7256e8d..c31cc9d 100644
--- a/core/lib/Drupal/Core/Render/Element/MachineName.php
+++ b/core/lib/Drupal/Core/Render/Element/MachineName.php
@@ -135,7 +135,8 @@ public static function processMachineName(&$element, FormStateInterface $form_st
     );
     // A form element that only wants to set one #machine_name property (usually
     // 'source' only) would leave all other properties undefined, if the defaults
-    // were defined in hook_element_info(). Therefore, we apply the defaults here.
+    // were defined in hook_element_info() or by an element plugin. Therefore,
+    // we apply the defaults here.
     $element['#machine_name'] += array(
       'source' => array('label'),
       'target' => '#' . $element['#id'],
diff --git a/core/lib/Drupal/Core/Render/ElementInfoManager.php b/core/lib/Drupal/Core/Render/ElementInfoManager.php
index 1bc1600..a357362 100644
--- a/core/lib/Drupal/Core/Render/ElementInfoManager.php
+++ b/core/lib/Drupal/Core/Render/ElementInfoManager.php
@@ -110,7 +110,7 @@ protected function buildInfo($theme_name) {
     }
 
     // Otherwise, rebuild and cache.
-    // @todo Remove this hook once all elements are converted to plugins in
+    // @todo Remove this hook once hook_element_info() is removed in
     //   https://www.drupal.org/node/2311393.
     $info = $this->moduleHandler->invokeAll('element_info');
 
diff --git a/core/lib/Drupal/Core/Render/ElementInfoManagerInterface.php b/core/lib/Drupal/Core/Render/ElementInfoManagerInterface.php
index 5fc53f9..6c114d8 100644
--- a/core/lib/Drupal/Core/Render/ElementInfoManagerInterface.php
+++ b/core/lib/Drupal/Core/Render/ElementInfoManagerInterface.php
@@ -55,7 +55,7 @@ public function getInfo($type);
    * Retrieves a single property for the defined element type.
    *
    * @param string $type
-   *   An element type as defined by hook_element_info().
+   *   An element type as defined by hook_element_info() or an element plugin.
    * @param string $property_name
    *   The property within the element type that should be returned.
    * @param $default
diff --git a/core/lib/Drupal/Core/Render/RendererInterface.php b/core/lib/Drupal/Core/Render/RendererInterface.php
index 155eec4..0eef6e5 100644
--- a/core/lib/Drupal/Core/Render/RendererInterface.php
+++ b/core/lib/Drupal/Core/Render/RendererInterface.php
@@ -148,11 +148,11 @@ public function renderPlain(&$elements);
    *     $pre_bubbling_cid.
    *   - If this element has #type defined and the default attributes for this
    *     element have not already been merged in (#defaults_loaded = TRUE) then
-   *     the defaults for this type of element, defined in hook_element_info(),
-   *     are merged into the array. #defaults_loaded is set by functions that
-   *     process render arrays and call the element info service before passing
-   *     the array to Renderer::render(), such as form_builder() in the Form
-   *     API.
+   *     the defaults for this type of element, defined in hook_element_info()
+   *     or by an element plugin, are merged into the array. #defaults_loaded is
+   *     set by functions that process render arrays and call the element info
+   *     service before passing the array to Renderer::render(), such as
+   *     form_builder() in the Form API.
    *   - If this element has #create_placeholder set to TRUE, and it has a
    *     #lazy_builder callback, then the element is replaced with another
    *     element that has only two properties: #markup and #attached. #markup
diff --git a/core/lib/Drupal/Core/Render/theme.api.php b/core/lib/Drupal/Core/Render/theme.api.php
index 8fd05c3..eda47d9 100644
--- a/core/lib/Drupal/Core/Render/theme.api.php
+++ b/core/lib/Drupal/Core/Render/theme.api.php
@@ -294,10 +294,8 @@
  * on plugins, and look for classes with the RenderElement or FormElement
  * annotation to discover what render elements are available.
  *
- * Modules can also currently define render elements by implementing
- * hook_element_info(), although defining a plugin is preferred.
- * properties. Look through implementations of hook_element_info() to discover
- * elements defined this way.
+ * Modules can define render elements by defining an element plugin or by
+ * implementing hook_element_info(), however, hook_element_info() is deprecated.
  *
  * @section sec_caching Caching
  * The Drupal rendering process has the ability to cache rendered output at any
@@ -691,32 +689,6 @@ function hook_render_template($template_file, $variables) {
 }
 
 /**
- * Allows modules to declare their own Form API element types and specify their
- * default values.
- *
- * This hook allows modules to declare their own form element types and to
- * specify their default values. The values returned by this hook will be
- * merged with the elements returned by form constructor implementations and so
- * can return defaults for any Form APIs keys in addition to those explicitly
- * documented by \Drupal\Core\Render\ElementInfoManagerInterface::getInfo().
- *
- * @return array
- *   An associative array with structure identical to that of the return value
- *   of \Drupal\Core\Render\ElementInfoManagerInterface::getInfo().
- *
- * @deprecated Use an annotated class instead, see
- *   \Drupal\Core\Render\Element\ElementInterface.
- *
- * @see hook_element_info_alter()
- */
-function hook_element_info() {
-  $types['filter_format'] = array(
-    '#input' => TRUE,
-  );
-  return $types;
-}
-
-/**
  * Alter the element type information returned from modules.
  *
  * A module may implement this hook in order to alter the element type defaults
@@ -726,7 +698,8 @@ function hook_element_info() {
  *   An associative array with structure identical to that of the return value
  *   of \Drupal\Core\Render\ElementInfoManagerInterface::getInfo().
  *
- * @see hook_element_info()
+ * @see \Drupal\Core\Render\ElementInfoManager
+ * @see \Drupal\Core\Render\Element\ElementInterface
  */
 function hook_element_info_alter(array &$types) {
   // Decrease the default size of textfields.
diff --git a/core/modules/contextual/contextual.api.php b/core/modules/contextual/contextual.api.php
index d972045..a797429 100644
--- a/core/modules/contextual/contextual.api.php
+++ b/core/modules/contextual/contextual.api.php
@@ -29,7 +29,6 @@
  * @see hook_contextual_links_alter()
  * @see hook_contextual_links_plugins_alter()
  * @see contextual_pre_render_links()
- * @see contextual_element_info()
  */
 function hook_contextual_links_view_alter(&$element, $items) {
   // Add another class to all contextual link lists to facilitate custom
diff --git a/core/modules/editor/editor.module b/core/modules/editor/editor.module
index cd7d157..43e9446 100644
--- a/core/modules/editor/editor.module
+++ b/core/modules/editor/editor.module
@@ -58,7 +58,7 @@ function editor_menu_links_discovered_alter(array &$links) {
  * module), so that selecting a text format notifies a client-side text editor
  * when it should be enabled or disabled.
  *
- * @see filter_element_info()
+ * @see \Drupal\filter\Element\TextFormat
  */
 function editor_element_info_alter(&$types) {
   $types['text_format']['#pre_render'][] = 'element.editor:preRenderTextFormat';
diff --git a/core/modules/field_ui/src/Form/EntityDisplayFormBase.php b/core/modules/field_ui/src/Form/EntityDisplayFormBase.php
index 3ba0258..b2275d0 100644
--- a/core/modules/field_ui/src/Form/EntityDisplayFormBase.php
+++ b/core/modules/field_ui/src/Form/EntityDisplayFormBase.php
@@ -678,9 +678,6 @@ public function multistepAjax($form, FormStateInterface $form_state) {
   /**
    * Performs pre-render tasks on field_ui_table elements.
    *
-   * This function is assigned as a #pre_render callback in
-   * field_ui_element_info().
-   *
    * @param array $elements
    *   A structured array containing two sub-levels of elements. Properties
    *   used:
@@ -688,6 +685,8 @@ public function multistepAjax($form, FormStateInterface $form_state) {
    *     drupal_attach_tabledrag(). The HTML ID of the table is added to each
    *     $options array.
    *
+   * @return array
+   *
    * @see drupal_render()
    * @see \Drupal\Core\Render\Element\Table::preRenderTable()
    */
