Weld does not report a definition error for the following producers:
@Produces Bar<Foo<?>> wildcardFooBarProducerField; @Produces Bar<Foo<?>> produceWildcardFooBar() { ... } @Produces @RequestScoped Bar<Foo<T>> typedFooBarProducerField; @Produces @RequestScoped Bar<Foo<T>> produceTypedFooBar() { ... };
But it does report the error for simple(r) producers:
@Produces Foo<?> wildcardFooProducerField; @Produces Foo<?> produceWildcardFoo() { ... } @Produces @RequestScoped Foo<T> typedFooProducerField; @Produces @RequestScoped Foo<T> produceTypedFoo() { ... };