# Array{\<:Any} is not the same as Array{\<:}?

**URL:** <https://discourse.julialang.org/t/array-any-is-not-the-same-as-array/30567>\
**Category:** New to Julia\
**Created:** [October 31, 2019, 11:37pm UTC](https://discourse.julialang.org/t/array-any-is-not-the-same-as-array/30567 "2019-10-31T23:37:34Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![ablaom](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ablaom/32/4889_2.png) [@ablaom](https://discourse.julialang.org/u/ablaom)\
**Post date:** [October 31, 2019, 11:37pm UTC](https://discourse.julialang.org/t/array-any-is-not-the-same-as-array/30567/1 "2019-10-31T23:37:34Z")

</div>

```julia
julia> Array{<:Any} == Array{<:}
false

```

So what’s the difference?

---

<div class="post-metadata">

**Author:** ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)\
**Post date:** [October 31, 2019, 11:41pm UTC](https://discourse.julialang.org/t/array-any-is-not-the-same-as-array/30567/2 "2019-10-31T23:41:51Z")

</div>

```julia
julia> Array{<:}
Array{<:,N} where N

```

it’s an array whose eltype is `<:`. Being `<:` a function, it has a type. It’s a like a vector with type `sin`:

```julia
julia> Vector{sin}
Array{sin,1}

```

---

<div class="post-metadata">

**Author:** ![Mason](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mason/32/2423_2.png) [@Mason](https://discourse.julialang.org/u/Mason)\
**Post date:** [October 31, 2019, 11:43pm UTC](https://discourse.julialang.org/t/array-any-is-not-the-same-as-array/30567/3 "2019-10-31T23:43:32Z")

</div>

To expand on that:

```julia
julia> [1, 2, 3] isa Vector{<:}
false

julia> [1, 2, 3] isa Vector{<:Any}
true

```

---

<div class="post-metadata">

**Author:** ![ablaom](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ablaom/32/4889_2.png) [@ablaom](https://discourse.julialang.org/u/ablaom)\
**Post date:** [October 31, 2019, 11:47pm UTC](https://discourse.julialang.org/t/array-any-is-not-the-same-as-array/30567/4 "2019-10-31T23:47:43Z")

</div>

Oh, right. Thanks!

---

<div class="post-metadata">

**Author:** ![xiaodai](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xiaodai/32/15937_2.png) [@xiaodai](https://discourse.julialang.org/u/xiaodai)\
**Post date:** [November 1, 2019, 12:15am UTC](https://discourse.julialang.org/t/array-any-is-not-the-same-as-array/30567/5 "2019-11-01T00:15:30Z")

</div>

Actually in the definition of `Array{T, N}` there is no hard requirement for what `T`, `N` is until instantiation.

So `T` can be anything and `N` can be anything ee.g.

`Array{Array, Array}` works but of course you can’t instantiate any `Array` with that type signature as the `N` is meant to encode the dimension.

---

<div class="post-metadata">

**Author:** ![BeastyBlacksmith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/beastyblacksmith/32/4741_2.png) [@BeastyBlacksmith](https://discourse.julialang.org/u/BeastyBlacksmith)\
**Post date:** [November 1, 2019, 10:39am UTC](https://discourse.julialang.org/t/array-any-is-not-the-same-as-array/30567/6 "2019-11-01T10:39:30Z")

</div>

All I see is `{<:}`, so `[😄, 😃, 😸, 😺] isa Vector{<:}` should be `true`.
