Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork9.6k
Open
Description
Symfony version(s) affected
^5.3|^6.0|^7.0
Description
Creating decorator around a service with aAsTaggedItem
attribute should not change the expected behaviour of any locator or iterator created from it.
How to reproduce
#[AutoconfigureTag('tag')]interface Tagged {}#[AsTaggedItem('a')]class Aimplements Tagged {}#[AsDecorator(A::class)]class Decoratorimplements Tagged {}class Test {publicfunction__construct(#[TaggedLocator('tag')]ServiceProviderInterface$services) {$services->get('a'); }}
Possible Solution
PriorityTaggedServiceTrait
could unwrap services throughcontainer.decorator
AsTaggedItem
could be lifted as a tag that will then be cascaded to the decorator