// +build ignore,OMIT

package main

import (
	"bytes"
	"fmt"
	"io"
	"os"
)

var (
	_ = bytes.Buffer{}
	_ = os.Stdout
)

// WriteCounter tracks the total number of bytes written.
type WriteCounter struct {
	io.ReadWriter
	count int
}

func (w *WriteCounter) Write(b []byte) (int, error) {
	w.count += len(b)
	return w.ReadWriter.Write(b)
}

// MAIN OMIT
func main() {
	buf := &bytes.Buffer{}
	w := &WriteCounter{ReadWriter: buf}

	fmt.Fprintf(w, "Hello, gophers!\n")
	fmt.Printf("Printed %v bytes", w.count)
}
