--- Comment #79 from Stewart Gordon <> 2012-07-09 15:22:23 PDT ---
(In reply to comment #78)
> As Walter said, that requires argument forwarding, which introduces copying
> problems and doesn't work with variadics.

I thought I'd debunked that, but you're right.  By my proposal, user code would
be calling either foo_dbc or foo depending on whether it's compiled in dev or
release mode.  And foo_dbc forwards to foo.

But it does seem to be down to two problems with D's design:
- structs aren't guaranteed to be safe to just bit-copy (this problem was
introduced in D2)
- we have variadics that are really just C's variadics with typeinfo added

Something else I should've realised earlier: Why do D class methods need to be
directly callable from C?  (How does C code hold a reference to a D object,
anyway?)  Indeed, is even C++ designed to accommodate this?

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to