<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="D:\code\msys64\home\Tony\julia\test&gt;..\usr\bin\julia -e &quot;versioninfo()&quot;
Julia Version 0.3.0-prerelease+2898
Commit f2b3192* (2014-05-05 18:19 UTC)
Platform Info:
  System: Windows (x86_64-w64-mingw32)
  CPU: Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY)
  LAPACK: libopenblas
  LIBM: libopenlibm
blas_num_threads=8

D:\code\msys64\home\Tony\julia\test&gt;..\usr\bin\julia runtests.jl linalg2
     * linalg2
LLVM ERROR: Program used external function 'ldexpf' which could not be resolved!

Stack dump:
0.      Running pass 'X86 Machine Code Emitter' on function '@julia_givensAlgori
thm19933'
blas_num_threads=8"><pre class="notranslate"><code class="notranslate">D:\code\msys64\home\Tony\julia\test&gt;..\usr\bin\julia -e "versioninfo()"
Julia Version 0.3.0-prerelease+2898
Commit f2b3192* (2014-05-05 18:19 UTC)
Platform Info:
  System: Windows (x86_64-w64-mingw32)
  CPU: Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY)
  LAPACK: libopenblas
  LIBM: libopenlibm
blas_num_threads=8

D:\code\msys64\home\Tony\julia\test&gt;..\usr\bin\julia runtests.jl linalg2
     * linalg2
LLVM ERROR: Program used external function 'ldexpf' which could not be resolved!

Stack dump:
0.      Running pass 'X86 Machine Code Emitter' on function '@julia_givensAlgori
thm19933'
blas_num_threads=8
</code></pre></div>
<p dir="auto">According to bisect,</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="f2b3192eb2e59dd34e1e2838036a13167410814f is the first bad commit
commit f2b3192eb2e59dd34e1e2838036a13167410814f
Author: Jeff Bezanson &lt;jeff.bezanson@gmail.com&gt;
Date:   Mon May 5 14:19:23 2014 -0400

    use pow, powf instead of powi. fixes #6506

    LLVM seems to be able to optimize small constant powers here too.
    the pow intrinsic had the same bug as powi."><pre class="notranslate"><code class="notranslate">f2b3192eb2e59dd34e1e2838036a13167410814f is the first bad commit
commit f2b3192eb2e59dd34e1e2838036a13167410814f
Author: Jeff Bezanson &lt;jeff.bezanson@gmail.com&gt;
Date:   Mon May 5 14:19:23 2014 -0400

    use pow, powf instead of powi. fixes #6506

    LLVM seems to be able to optimize small constant powers here too.
    the pow intrinsic had the same bug as powi.
</code></pre></div>
<p dir="auto">Did working around one LLVM bug here expose another?</p>
<p dir="auto">It'd be great to have shorter syntax for broadcasted setfield! and getfield on arrays of types.</p>
<p dir="auto">Something like this perhaps</p>
<div class="highlight highlight-source-julia notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="struct Foo
    x::Int
end

foos = map(v-&gt;Foo(v), 1:3)

foos..x # [1,2,3]
foos..x .= 1
foos..x # [1,1,1]
foos..x = 4:6
foos..x # [4,5,6]"><pre class="notranslate"><span class="pl-k">struct</span> Foo
    x<span class="pl-k">::</span><span class="pl-c1">Int</span>
<span class="pl-k">end</span>

foos <span class="pl-k">=</span> <span class="pl-c1">map</span>(v<span class="pl-k">-&gt;</span><span class="pl-c1">Foo</span>(v), <span class="pl-c1">1</span><span class="pl-k">:</span><span class="pl-c1">3</span>)

foos<span class="pl-k">..</span>x <span class="pl-c"><span class="pl-c">#</span> [1,2,3]</span>
foos<span class="pl-k">..</span>x <span class="pl-k">.=</span> <span class="pl-c1">1</span>
foos<span class="pl-k">..</span>x <span class="pl-c"><span class="pl-c">#</span> [1,1,1]</span>
foos<span class="pl-k">..</span>x <span class="pl-k">=</span> <span class="pl-c1">4</span><span class="pl-k">:</span><span class="pl-c1">6</span>
foos<span class="pl-k">..</span>x <span class="pl-c"><span class="pl-c">#</span> [4,5,6]</span></pre></div>
<p dir="auto">The clash with intervals has been pointed out, but perhaps a special case could be made where the first argument is an array?</p>
<p dir="auto">Currently the above functionality requires this (there may be better options than these):</p>
<div class="highlight highlight-source-julia notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="map(foo-&gt; foo.x, foos) # [1,2,3]
foreach(foo -&gt; foo.x = 1, foos)
map(foo-&gt; foo.x, foos) # [1,1,1]
foreach((foo, x) -&gt; foo.x = x, foos, 4:6)
map(foo-&gt; foo.x, foos) # [4,5,6]"><pre class="notranslate"><span class="pl-c1">map</span>(foo<span class="pl-k">-&gt;</span> foo<span class="pl-k">.</span>x, foos) <span class="pl-c"><span class="pl-c">#</span> [1,2,3]</span>
<span class="pl-c1">foreach</span>(foo <span class="pl-k">-&gt;</span> foo<span class="pl-k">.</span>x <span class="pl-k">=</span> <span class="pl-c1">1</span>, foos)
<span class="pl-c1">map</span>(foo<span class="pl-k">-&gt;</span> foo<span class="pl-k">.</span>x, foos) <span class="pl-c"><span class="pl-c">#</span> [1,1,1]</span>
<span class="pl-c1">foreach</span>((foo, x) <span class="pl-k">-&gt;</span> foo<span class="pl-k">.</span>x <span class="pl-k">=</span> x, foos, <span class="pl-c1">4</span><span class="pl-k">:</span><span class="pl-c1">6</span>)
<span class="pl-c1">map</span>(foo<span class="pl-k">-&gt;</span> foo<span class="pl-k">.</span>x, foos) <span class="pl-c"><span class="pl-c">#</span> [4,5,6]</span></pre></div>
<p dir="auto">cc. <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Octogonapus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Octogonapus">@Octogonapus</a></p>