https://github.com/JuliaLang/julia/issues/7258. No implementation in sight, however, so if someone wants to take a crack at it, they're welcome to.
On Wed, Oct 29, 2014 at 1:55 PM, Stefan Karpinski <[email protected]> wrote: > There's an open issue to fix this, which we should definitely implement. I > believe that Jeff had done it and just not merged but maybe I'm not > remembering that correctly. > > On Wed, Oct 29, 2014 at 1:51 PM, John Myles White < > [email protected]> wrote: > >> I'm pretty sure this sort of thing always works since type declarations >> on variables behave like convert calls: >> >> julia> function foo() >> a::Int64 = 0x01 >> return a >> end >> foo (generic function with 1 method) >> >> julia> foo() >> 1 >> >> -- John >> >> On Oct 29, 2014, at 10:50 AM, Zenna Tavares <[email protected]> >> wrote: >> >> > Also, the following runs but still returns a Vector{Any}. How is this >> possible? >> > >> > function makestring(fun) >> > A::Array{ASCIIString} = [fun(i) for i = 1:3] >> > end >> > >> > >> > On Wednesday, October 29, 2014 1:45:51 PM UTC-4, Zenna Tavares wrote: >> > As shown in the following example, I am getting differently typed >> arrays depending on where I use the list comprehension. >> > >> > f(i) = "$i" >> > A = [f(i) for i = 1:3] >> > function makestring(fun) >> > A = [fun(i) for i = 1:3] >> > end >> > B = makestring(f) >> > >> > In this example A has type Vector{ASCIIString} while B has type >> Vector{Any}. What gives? And is there a workaround such that we get a more >> specific type? >> > >> > I understand there are some open issues related to this, but I am not >> sure if this case comes under what's already been discussed. >> > >> > >> >> >
