Julia 使用参数化类型创建空对象的方法是什么?

What's the Julia way of creating an empty object with a parameterized type?

假设,我们有如下数据结构

struct MyStruct{T}
    t :: Union{Nothing, T}
end

并且我们希望允许用户在不添加任何数据的情况下初始化结构,例如 MyStruct{T}().

到目前为止,我已经试过了

MyStruct() where {T} = MyStruct{T}(nothing)

我尝试用

实例化
x = MyStruct{Int}()

这告诉我

ERROR: MethodError: no method matching MyStruct{Int64}()
Closest candidates are:
  MyStruct{T}(::Any) where T at REPL[1]:2
Stacktrace:
 [1] top-level scope
   @ REPL[4]:1

执行此操作的惯用方法是什么?

这是你想要的吗?

julia> MyStruct{T}() where T = MyStruct{T}(nothing)

julia> MyStruct{Int}()
MyStruct{Int64}(nothing)