UnboundLocalError when combining allow_dash and dir_okay

import click

@click.command()
@click.argument('filename', type=click.Path(dir_okay=False, allow_dash=True))
def foo(filename):
    pass

if __name__ == '__main__':
    foo()

When this script is invoked with the argument '-' I see the following error:

  File "boo.py", line 10, in <module>
    foo()
  File "/home/david/projects/structureshrink/foo/lib/python3.5/site-packages/click-6.4-py3.5.egg/click/core.py", line 716, in __call__
    return self.main(*args, **kwargs)
  File "/home/david/projects/structureshrink/foo/lib/python3.5/site-packages/click-6.4-py3.5.egg/click/core.py", line 695, in main
    with self.make_context(prog_name, args, **extra) as ctx:
  File "/home/david/projects/structureshrink/foo/lib/python3.5/site-packages/click-6.4-py3.5.egg/click/core.py", line 620, in make_context
    self.parse_args(ctx, args)
  File "/home/david/projects/structureshrink/foo/lib/python3.5/site-packages/click-6.4-py3.5.egg/click/core.py", line 874, in parse_args
    value, args = param.handle_parse_result(ctx, opts, args)
  File "/home/david/projects/structureshrink/foo/lib/python3.5/site-packages/click-6.4-py3.5.egg/click/core.py", line 1390, in handle_parse_result
    value = self.full_process_value(ctx, value)
  File "/home/david/projects/structureshrink/foo/lib/python3.5/site-packages/click-6.4-py3.5.egg/click/core.py", line 1359, in full_process_value
    value = self.process_value(ctx, value)
  File "/home/david/projects/structureshrink/foo/lib/python3.5/site-packages/click-6.4-py3.5.egg/click/core.py", line 1349, in process_value
    return self.type_cast_value(ctx, value)
  File "/home/david/projects/structureshrink/foo/lib/python3.5/site-packages/click-6.4-py3.5.egg/click/core.py", line 1338, in type_cast_value
    return _convert(value, (self.nargs != 1) + bool(self.multiple))
  File "/home/david/projects/structureshrink/foo/lib/python3.5/site-packages/click-6.4-py3.5.egg/click/core.py", line 1336, in _convert
    return self.type(value, self, ctx)
  File "/home/david/projects/structureshrink/foo/lib/python3.5/site-packages/click-6.4-py3.5.egg/click/types.py", line 38, in __call__
    return self.convert(value, param, ctx)
  File "/home/david/projects/structureshrink/foo/lib/python3.5/site-packages/click-6.4-py3.5.egg/click/types.py", line 426, in convert
    if not self.dir_okay and stat.S_ISDIR(st.st_mode):

I am running Python 3.5.1 and using click version 6.4.