// +build ignore,OMIT

package main

import "fmt"

func div(n, d int) (q, r int, err error) {
	if d == 0 {
		err = fmt.Errorf("%d/%d: divide by zero", n, d)
		return
	}
	return n / d, n % d, nil
}

func main() {
	var failures int

	f := func(n, d int) { // HL
		if q, r, err := div(n, d); err != nil {
			fmt.Println(err)
			failures++ // HL
		} else {
			fmt.Printf("%d/%d = %d leaving %d\n", n, d, q, r)
		}
	}

	f(4, 3)
	f(3, 0)
	fmt.Println("failures:", failures)
}
