# \#overloading

**URL:** https://discourse.julialang.org/tag/overloading/1666.md

[Latest](https://discourse.julialang.org/latest.md) · [Categories](https://discourse.julialang.org/categories.md) · [Tags](https://discourse.julialang.org/tags.md)

---

## [Manual control of overloading existing methods](https://discourse.julialang.org/t/manual-control-of-overloading-existing-methods/133836)

<div class="topic-metadata">

**Author:** [@frankwswang](https://discourse.julialang.org/u/frankwswang)\
**Replies:** 19\
**Last updated:** [August 15, 2026, 5:19pm UTC](https://discourse.julialang.org/t/manual-control-of-overloading-existing-methods/133836 "2026-08-15T17:19:25Z")

</div>

I am curious to know how much people want to have a feature/mechanism in Julia to manually control function overloading. Specifically, to disallow overloading already defined methods when intended. One direct motivation…

---

## [Overloading \`^\`](https://discourse.julialang.org/t/overloading/119723)

<div class="topic-metadata">

**Author:** [@sadish-d](https://discourse.julialang.org/u/sadish-d)\
**Replies:** 2\
**Last updated:** [September 23, 2024, 2:49am UTC](https://discourse.julialang.org/t/overloading/119723 "2024-09-23T02:49:33Z")

</div>

struct S x end Base.:(^)(s::S, p) = S(s.x ^ p) S(1) ^ -2.0 S(1) ^ -2 # ERROR: MethodError: no method matching inv(::S) It looks like you can not completely define ^ for a type, without defining a multiplicative inverse i…
