Дочерний WithTimeout и дедлайн родителя

Что выведетMiddleпроверка — Спринт09-t001

Родительский контекст создан с тайм-аутом, и к моменту вызова runStep от него почти ничего не осталось. Внутри создаётся дочерний контекст с намного большим тайм-аутом и запускается таймер. Что напечатает программа и почему?

main.gogo
1package main2 3import (4	"context"5	"fmt"6	"time"7)8 9func runStep(parent context.Context) {10	child, _ := context.WithTimeout(parent, 30*time.Second)11	t := time.NewTimer(2 * time.Second)12 13	select {14	case <-child.Done():15		fmt.Println("stopped by deadline")16	case <-t.C:17		fmt.Println("finished in time")18	}19}20 21func main() {22	parent, _ := context.WithTimeout(context.Background(), 5*time.Second)23	time.Sleep(4900 * time.Millisecond)24	runStep(parent)25}
Чем закончится программа?
Сначала подумай без запуска — на собесе компилятора не будет.