digitalmars.D.bugs - [Issue 1611] New: State-losing implicit conversions are allowed
- d-bugmail puremagic.com (34/34) Oct 24 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1611
- d-bugmail puremagic.com (13/13) Nov 08 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1611
- d-bugmail puremagic.com (11/11) Jul 07 2009 http://d.puremagic.com/issues/show_bug.cgi?id=1611
http://d.puremagic.com/issues/show_bug.cgi?id=1611
Summary: State-losing implicit conversions are allowed
Product: D
Version: 2.007
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: DMD
AssignedTo: bugzilla digitalmars.com
ReportedBy: andrei metalanguage.com
In the grand tradition of C, many state-losing conversions among integral types
are implicit. This emasculates integral types and allows many bugs go by
unnoticed.
The following program should print nothing:
import std.stdio;
import std.typetuple;
void main()
{
alias TypeTuple!(byte, ubyte, short, ushort, int, uint, long, ulong,
char, wchar, dchar)
AllIntegrals;
foreach (T1; AllIntegrals)
{
foreach (T2; AllIntegrals)
{
static if (is(T1 : T2) && T1.sizeof > T2.sizeof)
writeln(T1.stringof, " -> ", T2.stringof);
}
}
}
It currently prints 45 lines.
--
Oct 24 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1611
smjg iname.com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |smjg iname.com
Severity|normal |enhancement
OS/Version|Linux |All
Summary|State-losing implicit |State-losing implicit
|conversions are allowed |conversions should not be
| |allowed
This is by design, but a bad design I agree. Changing to enhancement.
--
Nov 08 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1611
Andrei Alexandrescu <andrei metalanguage.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
06:25:12 PDT ---
Fixed in 2.031, however incompletely (see e.g. 3147).
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jul 07 2009









d-bugmail puremagic.com 