<p dir="auto">To replicate:</p>
<div class="highlight highlight-source-julia notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="A = Tridiagonal(rand(4), rand(5), rand(4))
B = rand(5, 5)
A * B #works
B * A #MethodError
B * full(A) #works"><pre class="notranslate">A <span class="pl-k">=</span> <span class="pl-c1">Tridiagonal</span>(<span class="pl-c1">rand</span>(<span class="pl-c1">4</span>), <span class="pl-c1">rand</span>(<span class="pl-c1">5</span>), <span class="pl-c1">rand</span>(<span class="pl-c1">4</span>))
B <span class="pl-k">=</span> <span class="pl-c1">rand</span>(<span class="pl-c1">5</span>, <span class="pl-c1">5</span>)
A <span class="pl-k">*</span> B <span class="pl-c"><span class="pl-c">#</span>works</span>
B <span class="pl-k">*</span> A <span class="pl-c"><span class="pl-c">#</span>MethodError</span>
B <span class="pl-k">*</span> <span class="pl-c1">full</span>(A) <span class="pl-c"><span class="pl-c">#</span>works</span></pre></div>
<p dir="auto">Seems to me some fallback is missing. I'm on v0.4-rc2, haven't tried on master.</p>
<p dir="auto">See <a href="http://stackoverflow.com/questions/21595246/try-catch-or-type-conversion-performance-in-julia" rel="nofollow">http://stackoverflow.com/questions/21595246/try-catch-or-type-conversion-performance-in-julia</a>. We have lots of integer, float, expression parsing code that all just raises exceptions rather than indicating whether they succeeded or not, but we discourage try/catch as control flow. Should we provide non-error-raising versions of all of these functions that people can use to test whether some string is a valid float, for example?</p>