// Code generated by fidlgen; DO NOT EDIT.

package structdefaultvalueenumlibraryreference

import (
	dependent "fidl/dependent"
	_bindings "syscall/zx/fidl"
)

type Foo struct {
	_     struct{}         `fidl:"s" fidl_size_v1:"4" fidl_alignment_v1:"4"`
	Field dependent.MyEnum `fidl_offset_v1:"0"`
}

var _mFoo = _bindings.CreateLazyMarshaler(Foo{})

func (msg *Foo) Marshaler() _bindings.Marshaler {
	return _mFoo
}
