error из typed-nil *os.PathError

Что выведетMiddleбесплатно04-t004

Функция возвращает error, но по факту отдаёт nil-указатель *os.PathError. Вызывающий код делает обычную проверку err != nil. Что выведет программа?

main.gogo
1package main2 3import (4	"fmt"5	"os"6)7 8func checkFile() error {9	var e *os.PathError = nil10	return e11}12 13func main() {14	if e := checkFile(); e != nil {15		fmt.Println("fail")16	} else {17		fmt.Println("ok")18	}19}
Чем закончится программа?
Сначала подумай без запуска — на собесе компилятора не будет.