Сигнал завершения раньше чтения данных

Что выведетJuniorпроверка — Спринт07-t015

Получатель ждёт сигнал о завершении раньше, чем начинает читать основной канал. Как поведёт себя программа?

main.gogo
1package main2 3import "fmt"4 5func produce(finished chan struct{}, stream chan int) {6	for n := 1; n <= 7; n++ {7		stream <- n8	}9	finished <- struct{}{}10}11 12func main() {13	stream := make(chan int)14	finished := make(chan struct{})15 16	go produce(finished, stream)17 18	<-finished19 20	for n := range stream {21		fmt.Println(n)22	}23}
Чем закончится программа?
Сначала подумай без запуска — на собесе компилятора не будет.