¿Cómo se comporta un canal no inicializado?

Tengo una estructura que contiene un canal que no está inicializado.

Cuando escribo en él, la rutina se bloquea como se esperaba, pero el lector nunca recibe una notificación de que hay algo en la tubería.

Me sorprende que no haya ningún error y me pregunto qué está haciendo Go.

En el siguiente ejemplo, ni el mensajepushed nigot it están impresos (Descomente la inicialización y funcionará como un encanto)

type MyStruct struct {
    over chan bool
}

func main() {
    nonInitialized := &MyStruct{}
    // nonInitialized.over = make(chan bool)
    go func() {
        for i := 0; i < 10; i++ {
            select {
            case <-nonInitialized.over:
                fmt.Println("got it")
            default:
                // proceed
            }
            fmt.Println("do some stuff")
            time.Sleep(10 * time.Millisecond)
        }
        panic("took too long")
    }()
    // push on the non initialized channel
    fmt.Println("pushing")
    nonInitialized.over <- true
    fmt.Println("pushed")
}

Aquí esta el patio de recreohttps://play.golang.org/p/76zrCuoeoh

(Sé que debería inicializar el canal, este no es el propósito de la pregunta, quiero saber qué está sucediendo en Ir con canales no inicializados).