Topic: Treating qualified names as types


Author: Columbo <r.hl@gmx.net>
Date: Sun, 31 May 2015 06:24:02 -0700 (PDT)
Raw View
------=_Part_56_1360407339.1433078642854
Content-Type: multipart/alternative;
 boundary="----=_Part_57_107756964.1433078642854"

------=_Part_57_107756964.1433078642854
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

=C2=A714.6/5 'allows' to use dependent qualified names as types if they app=
ear=20
in certain contexts. E.g. in base-specifiers.
Can we extend this to other contexts in which using typename is currently=
=20
necessary but not actually removing ambiguities? Particularly,=20
alias-declarations? E.g..
template <typename T>
using eval =3D T::type;

I can't see how this breaks code, but I feel that it would make it more=20
readable.=20

--=20

---=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposa=
ls/.

------=_Part_57_107756964.1433078642854
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">=C2=A714.6/5 'allows' to use dependent qualified names as =
types if they appear in certain contexts. E.g. in base-specifiers.<div>Can =
we extend this to other contexts in which using <font face=3D"courier new, =
monospace">typename</font> is currently necessary but not actually removing=
 ambiguities? Particularly, alias-declarations? E.g..<br></div><div class=
=3D"prettyprint" style=3D"border: 1px solid rgb(187, 187, 187); word-wrap: =
break-word; background-color: rgb(250, 250, 250);"><code class=3D"prettypri=
nt"><div class=3D"subprettyprint"><span style=3D"color: #008;" class=3D"sty=
led-by-prettify">template</span><span style=3D"color: #000;" class=3D"style=
d-by-prettify"> </span><span style=3D"color: #660;" class=3D"styled-by-pret=
tify">&lt;</span><span style=3D"color: #008;" class=3D"styled-by-prettify">=
typename</span><span style=3D"color: #000;" class=3D"styled-by-prettify"> T=
</span><span style=3D"color: #660;" class=3D"styled-by-prettify">&gt;</span=
><span style=3D"color: #000;" class=3D"styled-by-prettify"><br></span><span=
 style=3D"color: #008;" class=3D"styled-by-prettify">using</span><span styl=
e=3D"color: #000;" class=3D"styled-by-prettify"> </span><span style=3D"colo=
r: #008;" class=3D"styled-by-prettify">eval</span><span style=3D"color: #00=
0;" class=3D"styled-by-prettify"> </span><span style=3D"color: #660;" class=
=3D"styled-by-prettify">=3D</span><span style=3D"color: #000;" class=3D"sty=
led-by-prettify"> T</span><span style=3D"color: #660;" class=3D"styled-by-p=
rettify">::</span><span style=3D"color: #000;" class=3D"styled-by-prettify"=
>type</span><span style=3D"color: #660;" class=3D"styled-by-prettify">;</sp=
an></div></code></div><div><br></div><div>I can't see how this breaks code,=
 but I feel that it would make it more readable.&nbsp;</div></div>

<p></p>

-- <br />
<br />
--- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

------=_Part_57_107756964.1433078642854--
------=_Part_56_1360407339.1433078642854--

.


Author: Richard Smith <richard@metafoo.co.uk>
Date: Sun, 31 May 2015 12:46:42 -0700
Raw View
--001a11c204faf25b61051765f7e7
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Sun, May 31, 2015 at 6:24 AM, Columbo <r.hl@gmx.net> wrote:

> =C2=A714.6/5 'allows' to use dependent qualified names as types if they a=
ppear
> in certain contexts. E.g. in base-specifiers.
> Can we extend this to other contexts in which using typename is currently
> necessary but not actually removing ambiguities? Particularly,
> alias-declarations? E.g..
> template <typename T>
> using eval =3D T::type;
>
> I can't see how this breaks code, but I feel that it would make it more
> readable.
>

That is deliberately disallowed in order to allow the "using" syntax to be
extended to cover other kinds of entities in future revisions of the
standard. This was discussed in the papers introducing the
alias-declaration syntax.

--=20

---=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposa=
ls/.

--001a11c204faf25b61051765f7e7
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote">On S=
un, May 31, 2015 at 6:24 AM, Columbo <span dir=3D"ltr">&lt;<a href=3D"mailt=
o:r.hl@gmx.net" target=3D"_blank">r.hl@gmx.net</a>&gt;</span> wrote:<br><bl=
ockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #=
ccc solid;padding-left:1ex"><div dir=3D"ltr">=C2=A714.6/5 &#39;allows&#39; =
to use dependent qualified names as types if they appear in certain context=
s. E.g. in base-specifiers.<div>Can we extend this to other contexts in whi=
ch using <font face=3D"courier new, monospace">typename</font> is currently=
 necessary but not actually removing ambiguities? Particularly, alias-decla=
rations? E.g..<br></div><div style=3D"border:1px solid rgb(187,187,187);wor=
d-wrap:break-word;background-color:rgb(250,250,250)"><code><div><span style=
=3D"color:#008">template</span><span style=3D"color:#000"> </span><span sty=
le=3D"color:#660">&lt;</span><span style=3D"color:#008">typename</span><spa=
n style=3D"color:#000"> T</span><span style=3D"color:#660">&gt;</span><span=
 style=3D"color:#000"><br></span><span style=3D"color:#008">using</span><sp=
an style=3D"color:#000"> </span><span style=3D"color:#008">eval</span><span=
 style=3D"color:#000"> </span><span style=3D"color:#660">=3D</span><span st=
yle=3D"color:#000"> T</span><span style=3D"color:#660">::</span><span style=
=3D"color:#000">type</span><span style=3D"color:#660">;</span></div></code>=
</div><div><br></div><div>I can&#39;t see how this breaks code, but I feel =
that it would make it more readable.=C2=A0</div></div></blockquote><div><br=
></div><div>That is deliberately disallowed in order to allow the &quot;usi=
ng&quot; syntax to be extended to cover other kinds of entities in future r=
evisions of the standard. This was discussed in the papers introducing the =
alias-declaration syntax.</div></div></div></div>

<p></p>

-- <br />
<br />
--- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

--001a11c204faf25b61051765f7e7--

.