title: Adding services to a Controller through "container.service_subscriber" not working as expected
body: <p>I am trying to use the <code>container.service_subscriber</code> tag on my Controller to make some services available without injecting them through the constructor. In our project we don't want to use the <code>autowiring</code> and also can't use the autoconfigure option.</p>
  
  <p>The structure of the Controller is as follow: </p>
  
  <p>I have a base <code>BaseController</code> which extends from the <code>AbstractFOSRestController</code> of FOSRestBundle which has some common used methods for all my Controllers. That service will be used as <code>parent</code> for my other Controllers.</p>
  
  <p>The service definition looks like this:</p>
  
  <pre><code>WM\ApiBundle\Controller\BaseController:
      class: WM\ApiBundle\Controller\BaseController
      abstract: true
      arguments:
          - "@service1"
          - "@service2"
          - ...
  
  WM\ApiBundle\Controller\UserController:
      parent: WM\ApiBundle\Controller\BaseController
      public: true
      #autowire: true
      class: WM\ApiBundle\Controller\UserController
      tags:
          - { name: 'container.service_subscriber'}
          - { name: 'container.service_subscriber', key: 'servicexyz', id: 'servicexyz' }
  </code></pre>
  
  <p>The class looks like this:</p>
  
  <pre><code>/**
   * User controller.
   */
  class UserController extends AbstractCRUDController implements ClassResourceInterface
  {
  
      public static function getSubscribedServices()
      {
          return array_merge(parent::getSubscribedServices(), [
          'servicexyz' =&gt; ServiceXYZ::class,
          ]);
      }
     .......
  }
  </code></pre>
  
  <p>The problem I have is, if I set <code>autowire: false</code>, it always automatically sets the full container and with this the appropriate deprecation message (as I am not setting it myself):</p>
  
  <blockquote>
    <p>User Deprecated: Auto-injection of the container for "WM\ApiBundle\Controller\UserController" is deprecated since Symfony 4.2. Configure it as a service instead.</p>
  </blockquote>
  
  <p>When setting <code>autowire: true</code> Symfony does respect the <code>container.service_subscriber</code> tag and only sets the partial container (ServiceLocator), which also would solve the deprecation message. I would have expected that autowiring should not make any differences in this case because I am explicitly telling the service which other services it should have.<br>
  Am I using the tags wrong or do I have a general problem in understanding how to subscribe a service to a Controller?</p>