# Getting doc string from function in composite type?

**URL:** <https://discourse.julialang.org/t/getting-doc-string-from-function-in-composite-type/3401>\
**Category:** General Usage\
**Created:** [April 27, 2017, 11:59am UTC](https://discourse.julialang.org/t/getting-doc-string-from-function-in-composite-type/3401 "2017-04-27T11:59:41Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![cormullion](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cormullion/32/49131_2.png) [@cormullion](https://discourse.julialang.org/u/cormullion)\
**Post date:** [April 27, 2017, 11:59am UTC](https://discourse.julialang.org/t/getting-doc-string-from-function-in-composite-type/3401/1 "2017-04-27T11:59:41Z")

</div>

What’s the trick for getting the docstring of the function stored in a composite type’s field?

```julia
type MyType                                    
   f::Function
end

julia> s = MyType(sin)                                    
MyType(sin)

julia> s.f                                                
sin (generic function with 10 methods)

julia> @doc sin                                            
sin(x)

Compute sine of x, where x is in radians.

julia> @doc(s.f)                             
ERROR: MethodError: no method matching Base.Docs.Binding(::MyType, ::Symbol)
Closest candidates are:
Base.Docs.Binding(::Module, ::Symbol) at docs/bindings.jl:12

julia> @doc s.f                                     
ERROR: MethodError: no method matching Base.Docs.Binding(::MyType, ::Symbol)
Closest candidates are:
  Base.Docs.Binding(::Module, ::Symbol) at docs/bindings.jl:12

julia> @doc (s.f)                             
ERROR: MethodError: no method matching Base.Docs.Binding(::MyType, ::Symbol)
Closest candidates are:
  Base.Docs.Binding(::Module, ::Symbol) at docs/bindings.jl:12

```

---

<div class="post-metadata">

**Author:** ![pfitzseb](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pfitzseb/32/45566_2.png) [@pfitzseb](https://discourse.julialang.org/u/pfitzseb)\
**Post date:** [April 27, 2017, 12:10pm UTC](https://discourse.julialang.org/t/getting-doc-string-from-function-in-composite-type/3401/2 "2017-04-27T12:10:54Z")

</div>

```julia
julia> Base.Docs.doc(s.f)
  sin(x)

  Compute sine of x, where x is in radians.

```

---

<div class="post-metadata">

**Author:** ![GunnarFarneback](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gunnarfarneback/32/1827_2.png) [@GunnarFarneback](https://discourse.julialang.org/u/GunnarFarneback)\
**Post date:** [April 27, 2017, 12:12pm UTC](https://discourse.julialang.org/t/getting-doc-string-from-function-in-composite-type/3401/3 "2017-04-27T12:12:49Z")

</div>

These seem to work:

```julia
g = s.f
@doc g

```

or

```julia
Docs.doc(s.f)

```

---

<div class="post-metadata">

**Author:** ![cormullion](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cormullion/32/49131_2.png) [@cormullion](https://discourse.julialang.org/u/cormullion)\
**Post date:** [April 27, 2017, 12:13pm UTC](https://discourse.julialang.org/t/getting-doc-string-from-function-in-composite-type/3401/4 "2017-04-27T12:13:00Z")

</div>

Thanks!
