No method matching error when calling generic constructor with concrete implementer of abstract type

Hmm, maybe you do need the type object? This gives a weird error:

struct Dataset
end
struct Duals
end

# === ABSTRACT FACTORY TYPE ===
abstract type SubProblem end

function make_sub_problem{T}(dataset::Dataset, duals::Duals) where T <: SubProblem
  error("oops")
end
ERROR: LoadError: UndefVarError: make_sub_problem not defined
Stacktrace:
 [1] top-level scope at /tmp/test.jl:9
in expression starting at /tmp/test.jl:9

Like, yes, make_sub_problem is not yet defined? I’m in the progress of defining it?..