digitalmars.D.bugs - [Issue 2679] New: Spurious "warning - " messages output to console
- d-bugmail puremagic.com (23/23) Feb 20 2009 http://d.puremagic.com/issues/show_bug.cgi?id=2679
- d-bugmail puremagic.com (47/47) Feb 21 2009 http://d.puremagic.com/issues/show_bug.cgi?id=2679
- d-bugmail puremagic.com (9/9) Mar 11 2009 http://d.puremagic.com/issues/show_bug.cgi?id=2679
http://d.puremagic.com/issues/show_bug.cgi?id=2679 Summary: Spurious "warning - " messages output to console Product: D Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: andrei metalanguage.com The following code outputs a "warning - " message during compilation: template implicitlyConverts(S, T) { enum bool implicitlyConverts = T.sizeof >= S.sizeof && is(typeof({S s; T t = s;}())); } static assert(!implicitlyConverts!(long, short)); void main() { } --
Feb 20 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2679 smjg iname.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |smjg iname.com Keywords| |diagnostic, rejects-valid OS/Version|Linux |All Summary|Spurious "warning - " |Spurious "warning - " |messages output to console |messages and erratic | |behaviour with | |is(typeof({void | |function}())) Version|unspecified |1.040 There's something really fishy going on here. ---------- C:\Users\Stewart\Documents\Programming\D\Tests\bugs>type bz2679a.d bool valid = is(typeof({long s; short t = s;}())); C:\Users\Stewart\Documents\Programming\D\Tests\bugs>dmd -c bz2679a.d C:\Users\Stewart\Documents\Programming\D\Tests\bugs>dmd -w -c bz2679a.d warning - C:\Users\Stewart\Documents\Programming\D\Tests\bugs>type bz2679b.d static assert (is(typeof({long s; short t = s;}()))); C:\Users\Stewart\Documents\Programming\D\Tests\bugs>dmd -c bz2679b.d C:\Users\Stewart\Documents\Programming\D\Tests\bugs>dmd -w -c bz2679b.d warning - bz2679b.d(1): static assert is false C:\Users\Stewart\Documents\Programming\D\Tests\bugs>type bz2679c.d static assert (!is(typeof({long s; short t = s;}()))); C:\Users\Stewart\Documents\Programming\D\Tests\bugs>dmd -c bz2679c.d bz2679c.d(1): static assert is false C:\Users\Stewart\Documents\Programming\D\Tests\bugs>dmd -w -c bz2679c.d warning - C:\Users\Stewart\Documents\Programming\D\Tests\bugs>type bz2679d.d pragma(msg, typeof({long s; short t = s;}()).stringof); C:\Users\Stewart\Documents\Programming\D\Tests\bugs>dmd -c bz2679d.d void C:\Users\Stewart\Documents\Programming\D\Tests\bugs>dmd -w -c bz2679d.d warning - bz2679d.d(1): Error: implicit conversion of expression (s) of type lon g to short can cause loss of data void ---------- Not only is it spitting out that message, but the diagnosed validity of the expression inside the typeof seems to depend on a few things. Really, the expression is valid, but when warnings are enabled it gets mixed up. Tested on both 1.040 and 2.025 (Windows) with same effect. --
Feb 21 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2679 bugzilla digitalmars.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED Fixed dmd 1.041 and 2.026 --
Mar 11 2009