[Issue 1424] is ( Type Identifier == function) Problems with inout/out/ref parameters

d-bugmail at puremagic.com d-bugmail at puremagic.com
Mon Apr 26 06:44:31 PDT 2010


http://d.puremagic.com/issues/show_bug.cgi?id=1424


Harry Vennik <htvennik at zonnet.nl> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |htvennik at zonnet.nl


--- Comment #1 from Harry Vennik <htvennik at zonnet.nl> 2010-04-26 06:44:29 PDT ---
I think the point is that 'ref' is a storage class, not part of the parameter's
type. Therefore it isn't preserved in TypeTuples theoretically. In practice the
'ref' is preserved in the result of ParameterTypeTuple!(), but using that in a
template to define the parameters of a templated function, will only take the
types, not the 'ref'.

It's not always practical like this, and it makes me write a lot of
work-arounds, but solving this issue in D is problematic. It either requires
one of:
- make type tuples preserve storage class (and how to get rid of it then, if
you don't want it to be preserved?)
- make 'ref' and 'out' part of the type (and what about 'lazy' then? make it
unfold to a delegate type?)

I don't really feel for either one...

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list