# Problems using Int as a Real

**URL:** <https://discourse.julialang.org/t/problems-using-int-as-a-real/79534>\
**Category:** New to Julia\
**Tags:** question\
**Created:** [April 15, 2022, 1:04pm UTC](https://discourse.julialang.org/t/problems-using-int-as-a-real/79534 "2022-04-15T13:04:27Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![THEON-1](https://avatars.discourse-cdn.com/v4/letter/t/db5fbb/32.png) [@THEON-1](https://discourse.julialang.org/u/THEON-1)\
**Post date:** [April 15, 2022, 1:04pm UTC](https://discourse.julialang.org/t/problems-using-int-as-a-real/79534/1 "2022-04-15T13:04:27Z")

</div>

Hi everyone,  
I have a function draw

```julia
function draw(state::Vector{Segment}, boundary::Tuple{Vector{Real}, Vector{Real}})
    x(s::Segment) = s.point[1]
    y(s::Segment) = s.point[2]
    display(plot([boundary[1][1]; x.(state); boundary[2][1]], [boundary[1][2]; y.(state); boundary[2][2]], markershape = :circle))
end

```

and call it later with

```julia
boundary = ([0; 0], [22; 0])

```

as the second argument.  
Why do I get this error message?

```julia
LoadError: TypeError: in typeassert, expected Tuple{Vector{Real}, Vector{Real}}, got a value of type Tuple{Vector{Int64}, Vector{Int64}}

```

Shouldn’t I be able to use Int when a Real is expected?

---

<div class="post-metadata">

**Author:** ![dilumaluthge](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dilumaluthge/32/29283_2.png) [@dilumaluthge](https://discourse.julialang.org/u/dilumaluthge)\
**Post date:** [April 15, 2022, 1:06pm UTC](https://discourse.julialang.org/t/problems-using-int-as-a-real/79534/2 "2022-04-15T13:06:49Z")

</div>

Change `Vector{Real}` to `Vector{<:Real}`.

[https://docs.julialang.org/en/v1/manual/types/#man-parametric-composite-types](https://docs.julialang.org/en/v1/manual/types/#man-parametric-composite-types)

---

<div class="post-metadata">

**Author:** ![THEON-1](https://avatars.discourse-cdn.com/v4/letter/t/db5fbb/32.png) [@THEON-1](https://discourse.julialang.org/u/THEON-1)\
**Post date:** [April 15, 2022, 1:10pm UTC](https://discourse.julialang.org/t/problems-using-int-as-a-real/79534/3 "2022-04-15T13:10:29Z")

</div>

Thank you, Apparently I did not read that thoroughly enough 😅

---

<div class="post-metadata">

**Author:** ![RaulDurand](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rauldurand/32/2044_2.png) [@RaulDurand](https://discourse.julialang.org/u/RaulDurand)\
**Post date:** [April 15, 2022, 6:48pm UTC](https://discourse.julialang.org/t/problems-using-int-as-a-real/79534/4 "2022-04-15T18:48:37Z")

</div>

Why Julia does not do it automatically?

---

<div class="post-metadata">

**Author:** ![goerch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/goerch/32/29122_2.png) [@goerch](https://discourse.julialang.org/u/goerch)\
**Post date:** [April 15, 2022, 6:58pm UTC](https://discourse.julialang.org/t/problems-using-int-as-a-real/79534/5 "2022-04-15T18:58:32Z")

</div>

Because then parametric types wouldn’t be invariant but co- or contra-variant. Please follow the link @dilumaluthge gave.

---

<div class="post-metadata">

**Author:** ![lmiq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lmiq/32/18314_2.png) [@lmiq](https://discourse.julialang.org/u/lmiq)\
**Post date:** [April 15, 2022, 9:04pm UTC](https://discourse.julialang.org/t/problems-using-int-as-a-real/79534/6 "2022-04-15T21:04:09Z")

</div>

This is a noob explanation of that: [Vector{Int} \<: Vector{Real} is false??? · JuliaNotes.jl](https://m3g.github.io/JuliaNotes.jl/stable/typevariance/)
