Dear all,
  I'm getting the following error when I run the attached code (uses firedrake_adjoint). Did I do something silly or should I file a bug report?
all the best
--Colin
Traceback (most recent call last):
  File "outer.py", line 80, in <module>
    z0Solver.solve()
  File "/Users/colincotter/firedrake/src/pyadjoint/fenics_adjoint/variational_solver.py", line 48, in solve
    **sb_kwargs)
  File "/Users/colincotter/firedrake/src/pyadjoint/fenics_adjoint/solving.py", line 56, in __init__
    self._init_dependencies(*args, **kwargs)
  File "/Users/colincotter/firedrake/src/pyadjoint/fenics_adjoint/solving.py", line 137, in _init_dependencies
    self.add_dependency(bc.block_variable, no_duplicates=True)
  File "/Users/colincotter/firedrake/src/pyadjoint/pyadjoint/block.py", line 38, in add_dependency
    dep.will_add_as_dependency()
  File "/Users/colincotter/firedrake/src/pyadjoint/pyadjoint/block_variable.py", line 61, in will_add_as_dependency
    overwrite = self.output._ad_will_add_as_dependency()
  File "/Users/colincotter/firedrake/src/pyadjoint/pyadjoint/overloaded_type.py", line 332, in _ad_will_add_as_dependency
    self._ad_annotate_block()
  File "/Users/colincotter/firedrake/src/pyadjoint/pyadjoint/overloaded_type.py", line 349, in _ad_annotate_block
    block = self.block_class(*self._ad_args, **self._ad_kwargs)
  File "/Users/colincotter/firedrake/src/pyadjoint/fenics_adjoint/types/dirichletbc.py", line 90, in __init__
    self.collapsed_space = self.function_space.collapse()
  File "/Users/colincotter/firedrake/src/firedrake/firedrake/functionspaceimpl.py", line 212, in __getattr__
    return getattr(self.topological, name)
AttributeError: 'ProxyFunctionSpace' object has no attribute 'collapse'