title: Why is the BlocBuilder never called when bloc is not set explicitly
body: <p>This is an example of a Flutter counter app. I instantiate the Counter with a Bloc like this:</p>
  
  <pre><code>class MyApp extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
      return MaterialApp(
        title: 'Flutter Demo',
        home: Counter(CounterBloc()),
      );
    }
  }
  </code></pre>
  
  <p>This code below works fine. Event is dispatched and the "builder" method is called.</p>
  
  <pre><code>class Counter extends StatelessWidget {
    final Bloc bloc;
  
    const Counter(this.bloc, {Key key}) : super(key: key);
  
    @override
    Widget build(BuildContext context) {
      return BlocProvider&lt;CounterBloc&gt;(
        create: (context) =&gt; bloc,
        child: CounterPage(),
      );
    }
  }
  
  class CounterPage extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
      return Scaffold(
        body: BlocBuilder&lt;CounterBloc, int&gt;(
          builder: (context, count) =&gt; CountView(count),
        ),
        floatingActionButton: AddButton(
            action: () =&gt; BlocProvider.of&lt;CounterBloc&gt;(context)
                .add(CounterEvent.increment)),
      );
    }
  }
  </code></pre>
  
  <p>The code below does not work. The event is dispatched but the builder is never called.</p>
  
  <pre><code>class Counter extends StatelessWidget {
    final Bloc bloc;
  
    const Counter(this.bloc, {Key key}) : super(key: key);
  
    @override
    Widget build(BuildContext context) {
      return BlocProvider&lt;CounterBloc&gt;(
        create: (context) =&gt; bloc,
        child: Scaffold(
          body: BlocBuilder&lt;CounterBloc, int&gt;(
            builder: (context, count) =&gt; CountView(count),
          ),
          floatingActionButton: AddButton(
              action: () =&gt; BlocProvider.of&lt;CounterBloc&gt;(context)
                  .add(CounterEvent.increment)),
        ),
      );
    }
  }
  </code></pre>
  
  <p>I found out that I can set property "bloc" on a "BlocBuilder" but I'd expect it's not necessary.
  Why the difference in behavior?</p>