Проблемы с синглетонами при использовании компонентных зависимостей

У меня проблема с пониманием, почему следующий код не работает.

У меня следующая структура проекта:

@Component(modules = CCModule.class) 
public interface CComponent {
    XXX getXXX();
}

где

@Module
public class CCModule {

    @Provides @Singleton
    public XXX provide XXX(){
        return new XXX();
    }
}

а также

@Component(dependencies = CComponent.class, modules = AAModule.class) 
public interface AComponent {
    YYY getYYY();
}

где

class YYY {
   @Inject
   public YYY(XXX xxx) {
       ...
   }
}

Я инициализирую все как:

CComponent c_component = Dagger_CComponent.builder().cCModule(new CCModule()).build();

AComponent a_component = Dagger_AComponent.builder()
        .cComponent(c_component)
        .aAModule(new AAModule())
        .build();

После компиляции я получаю следующую ошибку:

Ошибка: (11, 1) ошибка: com.test.CComponent (unscoped) может не ссылаться на привязки области: @Provides @Singleton com.test.XXX com.test.CCModule.provideXXX ()

Я стремлюсь к тому, чтобы один компонент наследовал привязки от других компонентов, чтобы иметь одинаковые ссылки на объекты (синглтоны).

Ответы на вопрос(3)

Ваш ответ на вопрос