On 3 January 2016 at 17:04, Walter Bright via Digitalmars-d < digitalmars-d@puremagic.com> wrote:
> On 1/2/2016 9:45 PM, Manu via Digitalmars-d wrote: > >> I've been using recursive modules to place extern(C++) declarations in a >> sensible scope quite a lot. It breaks sometimes, not sure why... suspect >> it's >> related to forward referencing, or multiple/semi-circular imports. >> > > It's a bug if circular imports do not work. But circular imports are not > allowed in Go, and I consider them as something to avoid. They can be very > confusing to try and follow. > This is why I talk about 'real-world' code, it's never that simple. String for instance, there are a lot of string functions; it depends on lots of stuff, and basically everything depends on string. Examples of circular references like this are endless, and they're usually foundational things, at the bottom of the stack.