title: Dagger Component has conflicting scopes
body: <p>I am using Dagger and I have an app component with <code>@Singleton</code> scope and also a subcomponent with <code>@Singleton</code> scope. Now when I compile it I get this error:</p>
  
  <blockquote>
    <p>[io.droid.nowtellapp.dagger.SignInMvpComponet]
    io.droid.nowtellapp.dagger.SignInMvpComponet has conflicting scopes:
    io.droid.nowtellapp.dagger.ApplicationComponent also has @Singleton</p>
  </blockquote>
  
  <p>To resolve this error I removed <code>@Singleton</code> from my subcomponet and compiled it, this time getting this error:</p>
  
  <blockquote>
    <p>Error:(12, 1) error: io.droid.nowtellapp.dagger.SignInMvpComponet
    (unscoped) may not reference scoped bindings: @Singleton @Provides
    io.droid.nowtellapp.mvp.SignInMvp.Presenter
    io.droid.nowtellapp.dagger.SignInMvpModule.presenter(io.droid.nowtellapp.webservices.NowTellApi)</p>
  </blockquote>
  
  <p>Also getting this error:</p>
  
  <blockquote>
    <p>Error:(21, 8) error: [ComponentProcessor:MiscError] dagger.internal.codegen.ComponentProcessor was unable to process this class because not all of its dependencies could be resolved. Check for compilation errors or a circular dependency with generated code.</p>
  </blockquote>
  
  <p>Here is my ApplicationComponent</p>
  
  <pre><code>@Singleton
  @Component(modules = {AppModule.class, RetroApiModule.class})
  public interface ApplicationComponent {
  
  void inject(MainActivity mainActivity);
  
  SignInMvpComponet signInMvpComponet(SignInMvpModule signInMvpModule);
  }
  </code></pre>
  
  <p>Here is my SignInMvpComponet</p>
  
  <pre><code>@Subcomponent(modules = {SignInMvpModule.class})
  public interface SignInMvpComponet {
  void inject(SignInFragment signInFragment);
  </code></pre>
  
  <p>And This is SignInMvpModule class</p>
  
  <pre><code>@Module
  public class SignInMvpModule {
  private final SignInMvp.View view;
  
  public SignInMvpModule(SignInMvp.View view) {
      this.view = view;
  }
  
  @Singleton
  @Provides
  SignInMvp.Presenter presenter(NowTellApi api) {
      return new SignInPresenter(view,api);
  }
  }
  </code></pre>
  
  <p>How to resolve this problem? Thanks in advance.</p>