# Exporting overloaded functions

**URL:** https://discourse.julialang.org/t/exporting-overloaded-functions/95118
**Category:** New to Julia
**Created:** [February 24, 2023, 9:32am UTC](https://discourse.julialang.org/t/exporting-overloaded-functions/95118 "2023-02-24T09:32:21Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![Mastomaki](https://avatars.discourse-cdn.com/v4/letter/m/779978/32.png) [@Mastomaki](https://discourse.julialang.org/u/Mastomaki)
#### Post date: [February 24, 2023, 9:32am UTC](https://discourse.julialang.org/t/exporting-overloaded-functions/95118/1 "2023-02-24T09:32:21Z")

</div>

Hello!

In _Mymodule_ I have defined the following function.

> function convert(t::Type{NamedArray}, df::DataFrame; valueCol = :Values, datatype = Union{Missing, Float64})

Then in mymodule I also export _convert_. When _using_ Mymodule and calling _convert_:

> df = DataFrame(a = [1,2,3])  
> dfn = convert(NamedArray, df)

I get the error:

“WARNING: both vreforec and Base export “convert”; uses of it in module Main must be qualified”  
“ERROR: UndefVarError: convert not defined”

---

<div class="post-metadata">

### Author: ![xinady](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xinady/32/33502_2.png) [@xinady](https://discourse.julialang.org/u/xinady)
#### Post date: [February 24, 2023, 10:09am UTC](https://discourse.julialang.org/t/exporting-overloaded-functions/95118/2 "2023-02-24T10:09:31Z")

</div>

Hi  
Both Base and MyModule modules have method named “convert” and name conflict occurs as Julia doesn’t know from wich module use a definition. In your case you want to extend the defintion:

> function Base.convert(t::Type{NamedArray}, df::DataFrame; valueCol = :Values, datatype = Union{Missing, Float64})

More details in [https://docs.julialang.org/en/v1/manual/modules/#Handling-name-conflicts](https://docs.julialang.org/en/v1/manual/modules/#Handling-name-conflicts)

---

<div class="post-metadata">

### Author: ![DNF](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dnf/32/10191_2.png) [@DNF](https://discourse.julialang.org/u/DNF)
#### Post date: [February 24, 2023, 10:29am UTC](https://discourse.julialang.org/t/exporting-overloaded-functions/95118/3 "2023-02-24T10:29:43Z")

</div>

This seems to be a case of type piracy: [Style Guide · The Julia Language](https://docs.julialang.org/en/v1/manual/style-guide/#Avoid-type-piracy)

You should probably use a different name than `convert` for this operation.
