Problem with BroadcastHub.sink dropping items

The problem seems to be the buffer size. If it is larger than the number of items in the source, nothing is printed out. The doc says “If this buffer is full, the producer is backpressured”. So does that mean that if the buffer is not full, nothing happens?

In this example, nothing gets printed out unless you make the buffer size less than the number of items in the source:

import akka.stream.ActorMaterializer
import akka.stream.scaladsl.{BroadcastHub, Keep, Sink, Source}

object TestProducer extends App {
  implicit val system = ActorSystem()
  implicit val mat = ActorMaterializer()
  val source = Source(1 to 10)
  val producer = source.toMat(BroadcastHub.sink(16))(Keep.right).run()
  producer.runForeach(x => println(s"1 Producer x: $x"))
}