JuliaLang/julia — comment on commit 839d8747c40b9a396644e0bf3e5e594b5898e6e2
File:  line 0
By JeffBezanson:

Inference and intrinsics are not screwy. Well, maybe inference is :P

It's a simple unintended consequence of the integer type change and (again!) the definitions of `next` for `Ranges`.

next{T<:Integer}(r::Range1{T}, i::T) = (i, i+one(T))

Now when T is Int32, `i+one(T)` gives an Int64 so this method is no longer applicable, and the other `next` method is called for subsequent iterations. The result:

```
julia> linspace(int32(1), int32(4))
[1, 3, 4, 0]
```

Perhaps another reason to keep same-type operations the way they were.