# Mutually-circular type declarations for Clang.jl

**URL:** <https://discourse.julialang.org/t/mutually-circular-type-declarations-for-clang-jl/29411>\
**Category:** General Usage\
**Tags:** question, c, clang\
**Created:** [October 2, 2019, 2:37pm UTC](https://discourse.julialang.org/t/mutually-circular-type-declarations-for-clang-jl/29411 "2019-10-02T14:37:53Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![steveaccount](https://avatars.discourse-cdn.com/v4/letter/s/7ab992/32.png) [@steveaccount](https://discourse.julialang.org/u/steveaccount)\
**Post date:** [October 2, 2019, 2:37pm UTC](https://discourse.julialang.org/t/mutually-circular-type-declarations-for-clang-jl/29411/1 "2019-10-02T14:37:53Z")

</div>

Where is the latest info about mutually-circular type declarations (also called ‘mutually recursive type declarations’, also for structs).

[Open issue in Julia since 2011](https://github.com/JuliaLang/julia/issues/269). Latest info? [Maybe “recursive field types, the easy version”](https://github.com/JuliaLang/julia/issues/269)? Any Pointers?

Reason is that Clang.jl generates wrong code:

```julia
struct b
    x::a
end

struct a
    self::Ptr{a}
    x::b
end

```
