Re: DIP 36: Rvalue References

2013-04-23 Thread Diggory
In that example you could make opOpAssign take a "const ref" and then the compiler could see that it could not return that parameter, but this is slightly hacky and I can see how there may be obscure corner cases where the rules are not sufficient. Actually this could also be solved by using

Re: DIP 36: Rvalue References

2013-04-23 Thread Diggory
So no more returning ref? Because if you allow returning ref, you lose any notion of safety, unless you plan on changing the entire compilation model? The rules from DIP25/35 show how you can return refs while still maintaining safety.

Re: rvalue references

2013-04-23 Thread Diggory
No it is not the only difference. "scope ref" (as proposed in DIP35) is more restrictive in usage - can't take address of it, can't return it, can't implicitly cast it to normal ref. It is "scope" primarily and "rvalue ref solution" only secondarily. With DIP25 these restrictions apply to "ref

Re: rvalue references

2013-04-23 Thread Diggory
I'd still like someone to explain how exactly "scope ref" would differ from "ref" if DIP25/DIP35 were implemented. If the only difference is that "scope ref" can accept rvalues then why would you ever use normal "ref"? There are no extra restrictions needed on "scope ref" over and above normal

Re: DIP35: supplement to DIP25: Sealed References

2013-04-22 Thread Diggory
'scope ref' would allow, that both, lvalues AND rvalues can be bound to. DIP 35 don't say anything about that. Just to be clear: The primary reason at all DIP 36 was created, was in general to find a possibility that accept rvalues ​​AND lvalues. That was the initial reason. I understand th

Re: DIP35: supplement to DIP25: Sealed References

2013-04-22 Thread Diggory
I like this except for the proposed "addressOf" function from DIP25 which is massively overkill. The safe-ness of & on a ref should be determined by the compiler, so that initially it could be unsafe but that could be relaxed when the compiler can determine that the pointer does not escape. Syn

Re: DIP 36: Rvalue References

2013-04-22 Thread Diggory
On Monday, 22 April 2013 at 13:17:36 UTC, Namespace wrote: On Monday, 22 April 2013 at 12:22:14 UTC, Diggory wrote: I realise I'm new here but this seems to be suggesting a whole load of changes and special cases for something that can be done in (IMHO) a much simpler way: Why not s

Re: DIP 36: Rvalue References

2013-04-22 Thread Diggory
I realise I'm new here but this seems to be suggesting a whole load of changes and special cases for something that can be done in (IMHO) a much simpler way: Why not simply make escaping a "ref" pointer an unsafe operation. The compiler should be able to detect this and report it without any

Re: *trying* to starting using D

2013-04-19 Thread Diggory
Ah I didn't see that board, could a moderator move this please? The problem is that neither "derelict" or "deimos" define a specific "windows" binding. "deimos" has some parts of the windows api in "wintypes.d" but it conflicts with the built in windows api. When importing under an alias, as

*trying* to starting using D

2013-04-19 Thread Diggory
I'm new to D, and I'm trying to port a very small win32 opengl app (~100 lines) from C++ to D but the bindings just don't seem up to it... Firstly a significant portion of wingdi.h seems to be missing from the default windows bindings which come with phobos, enough to make initialising an ope

<    1   2