Could someone please explain why N is not defined for T2, or how to achieve what I intend to do with a different syntax, preferrably in v0.5? Thanks alot.

```
julia> abstract T1{N,T}
julia> abstract T2{_N<:N, _T<:T} <: T1{N,T}
ERROR: UndefVarError: N not defined
julia> abstract T3{N, T} <: T1{N,T}
```

`abstract T2{N,T} <: T1{N,T}`

?

`N`

isnâ€™t defined because you never defined it. Upper bounds are completely ambiguous. If `_N`

is `Int`

, is `N`

an `Integer`

? `Number`

? `Any`

? You would need to say exactly what `N`

is because of this ambiguity.

I see, so there is no way to â€śinheritâ€ť N from the supertype?

What supertype? The supertype can be `T1{Int,T}`

, `T1{Integer,T}`

, `T1{Number,T}`

, `T1{Any,T}`

. Write down some examples and youâ€™ll see this makes absolutely no sense and itâ€™s not decidable in the least bit.

1 Like

I will rethink what I am trying to do. Thanks.