Julia does not appear to be using string to perform interpolation
<p>The official docs state:</p>

<blockquote>
  <p>Both concatenation and string interpolation call <code>string()</code> to convert objects into string form</p>
</blockquote>

<p>However, the following minimum working example seems to demonstrate otherwise:</p>

<pre><code>type MyType
    x::Int
end
import Base.string
Base.string(m::MyType) = "world"
m = MyType(4)
println("hello $m")
println("hello " * string(m))
</code></pre>

<p>The second last line evaluates to <code>hello MyType(4)</code> at the REPL, while the last line evaluates (as expected) to <code>hello world</code>.</p>

<p>So what am I doing wrong?</p>

<p>(I am still on v0.4 but the official doc versions indicate that shouldn't make any difference.)</p>