13-Sep-2014 05:43, Manu via Digitalmars-d пишет:
On 13 September 2014 03:14, monarch_dodra via Digitalmars-d
<[email protected] <mailto:[email protected]>> wrote:

    On Friday, 12 September 2014 at 16:48:28 UTC, Dmitry Olshansky wrote:

        08-Sep-2014 16:46, Manu via Digitalmars-d пишет:

            Please can we move on a solution to this problem?
            It's driving me insane. I can't take any more of this! >_<

            Walter invented a solution that was very popular at
            dconf2013. I don't
            recall any problems emerging in post-NG-discussions.

            Ideally, we would move forward on a design for 'scope', like the
            promising (imo) proposal that appeared recently. That would
            solve this
            problem, and also many other existing safety problems, and even
            influence solutions relating to other critical
            GC/performance problems.



        IMO just legalese auto ref for normal functions and you are all set.
        The semantics end up to be pretty much the same as c++ const &
        does (not duplicating the function, like current template-style
        auto ref).


    Yeah, the whole function duplication thing is pretty bad. Auto ref
    should just create a wrapper that forwards, and the implementation
    always operate on references.

    With this approach in mind, auto ref for functions should be
    trivial, in thé sense that the function is compiled normally as a
    non template that takes refs, and the compiler only generates
    code/templates to capture r values.


Why the hack? Why not just take a local for the rvalue in the scope that
it appears?
Generating proxy functions and stuff just makes problems, like taking
function pointers of functions, and messes with the debuginfo in very
annoying ways.

Please stop bringing this silly argument.
It's an implementation detail, debug-info can be outputted as required obviously. For instance scope(exit) is also lowered to try/finally, yet you still should be able step through the right lines with debugger correctly no problem at all.

Quality debuginfo is super-important, but D gives it very
little attention; we need to move forward on that front, not backwards.

auto-ref is a disaster, please don't make it more pervasive.

It was just poorly implemented and only for templates. I don't see how having a different name would help us reach the same effect.

--
Dmitry Olshansky

Reply via email to