# Forward all methods of a structure

**URL:** https://discourse.julialang.org/t/forward-all-methods-of-a-structure/11783
**Category:** New to Julia
**Created:** [June 19, 2018, 1:42pm UTC](https://discourse.julialang.org/t/forward-all-methods-of-a-structure/11783 "2018-06-19T13:42:33Z")
**Posts on this page:** 1
**Showing post:** 5

<div class="post-metadata">

### Author: ![ExpandingMan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/expandingman/32/866_2.png) [@ExpandingMan](https://discourse.julialang.org/u/ExpandingMan)
#### Post date: [June 19, 2018, 2:12pm UTC](https://discourse.julialang.org/t/forward-all-methods-of-a-structure/11783/5 "2018-06-19T14:12:09Z")

</div>

I’m not quite sure I’m understanding you correctly, but it sounds like you want to define a _new_ function for arrays, and then also extend that to a new type.

It might help if you could give a broader explanation of what you’re trying to do. It’s still sounding a bit like you just want some new `AbstractArray` methods, in which case what you should do is define `Daggered <: AbstractArray` and then simply define some methods which take an `AbstractArray` argument, i.e.

```julia
trait(A::AbstractArray, args...) = # some code

```

(perhaps see some [documentation](https://docs.julialang.org/en/latest/manual/types/#Abstract-Types-1) on abstract types).

Again, not sure if this is a real example, but `Daggered` of a matrix sounds quite a lot like an adjoint to me, so it might be worth looking through some of the array and linear algebra docs to see if what you’re doing is already implemented.

---

_[View the full topic](https://discourse.julialang.org/t/forward-all-methods-of-a-structure/11783)._
