On Wed, May 16, 2012 at 4:59 AM, John Belmonte <j...@neggie.net> wrote:
> On Tuesday, 15 May 2012 at 05:02:20 UTC, Timon Gehr wrote: > >> On 05/15/2012 04:28 AM, John Belmonte wrote: >> >>> C API's often use a opaque struct pointer as a handle. Mapping such a >>> struct to D using a forward declaration, I noticed that UFCS doesn't >>> work: >>> >>> struct State; >>> ... >>> State* s = new_state(); >>> foo(s); // ok >>> s.foo(); // compile error >>> >>> Error detail: >>> >>> Error: struct State is forward referenced when looking for 'foo' >>> Error: struct State is forward referenced when looking for 'opDot' >>> Error: struct State is forward referenced when looking for 'opDispatch' >>> >>> I'm wondering if anything would be harmed by removing this restriction. >>> >>> As a workaround I can use "struct State {}", but that feels wrong. >>> >>> >> This is a compiler bug. You can report it here: >> http://d.puremagic.com/issues/ >> > > Thanks-- filed > http://d.puremagic.com/issues/**show_bug.cgi?id=8104<http://d.puremagic.com/issues/show_bug.cgi?id=8104> > . > > voted up -- Bye, Gor Gyolchanyan.