[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