On Tuesday, August 16, 2011 00:10:20 Andrew Wiley wrote: > On Mon, Aug 15, 2011 at 11:31 PM, Jonathan M Davis <[email protected]>wrote: > > On Tuesday, August 16, 2011 02:03:45 Andrew Wiley wrote: > Yes, it makes no sense to allocate an instance of an interface. I don't see > how that's relevant here.
I obviously skimmed over your question too quickly. My apologies. Okay, looking at std.typecons, it looks like what's happening is that it's barfing when it tries to instantiate destroy to clean up the object in Scoped!T's destructor. And when it does that, it calls each destructor along the inheritance path, and destroy doesn't work with interfaces. I'd suggest that you create a bug report for it. Obviously, scoped needs some reworking to make it handle interfaces in the inheritance path. They obviously don't need to be destroyed, but since it doesn't special-case interfaces, it tries to destroy them, which doesn't compile, so the scoped doesn't compile. - Jonathan M Davis
