I agree.
On 14 Apr 2014 14:41, "Lawrence Mitchell" <notifications@github.com> wrote:

>  In tests/regression/test_function_spaces.py:
>
> > @@ -16,6 +16,20 @@ def fs(request, cg1cg1, cg1vcg1, cg1dg0, cg2dg1):
> >              'cg2dg1': cg2dg1}[request.param]
> >
> >
> > +def test_function_space_from_element(mesh):
> > +    "FunctionSpaces can be initialsed from an existing element."
> > +    e = FiniteElement("CG", mesh.ufl_cell(), 1)
> > +    assert FunctionSpace(mesh, "CG", 1).ufl_element() == e
> > +    assert FunctionSpace(mesh, e).ufl_element() == e
> > +
> > +
> > +def test_vector_function_space_from_element(mesh):
> > +    "VectorFunctionSpaces can be initialsed from an existing element."
> > +    e = VectorElement("CG", mesh.ufl_cell(), 1)
> > +    assert VectorFunctionSpace(mesh, "CG", 1).ufl_element() == e
> > +    assert VectorFunctionSpace(mesh, e).ufl_element() == e
>
> So what does VectorFunctionSpace /do/ in the non-ufl_element case.
>
> It builds a VectorElement, and passes that to functionspacebase.*init*.
>
> I am arguing that a VectorFunctionSpace of VectorElements is something
> different.
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/firedrakeproject/firedrake/pull/261/files#r11584126>
> .
>