# Switching off implicit conversion

**URL:** <https://discourse.julialang.org/t/switching-off-implicit-conversion/134568>\
**Category:** General Usage\
**Tags:** convert\
**Created:** [December 15, 2025, 9:09pm UTC](https://discourse.julialang.org/t/switching-off-implicit-conversion/134568 "2025-12-15T21:09:20Z")\
**Posts on this page:** 1\
**Showing post:** 8

<div class="post-metadata">

**Author:** ![sadish-d](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sadish-d/32/48058_2.png) [@sadish-d](https://discourse.julialang.org/u/sadish-d)\
**Post date:** [December 15, 2025, 10:55pm UTC](https://discourse.julialang.org/t/switching-off-implicit-conversion/134568/8 "2025-12-15T22:55:04Z")

</div>

I see. You’re helping me clarify my own thinking here.

I think mostly, my problem is with the `::` notation.

`x::T` in certain contexts means `typeassert(x, T)`. That’s fine.

In other contexts, it meas `typeassert(convert(T, x), T)`. That’s what I would want to switch to `typeassert(implicit_convert(T, x), T)`.

This would allow other (nice?) implicit conversions to remain, such as the ones that allow `Meter(1) + CentiMeter(1)`.

But that doesn’t solve other porblems, such the hidden copying of data mentioned in: [Why does this conversion happen implicitly?](https://discourse.julialang.org/t/why-does-this-conversion-happen-implicitly/44290). Or maybe it does, actually.

---

_[View the full topic](https://discourse.julialang.org/t/switching-off-implicit-conversion/134568)._
