[Issue 3600] New: template instantiation with empty tuple

2009-12-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3600

   Summary: template instantiation with empty tuple
   Product: D
   Version: 2.036
  Platform: x86
OS/Version: Linux
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: garick_home_...@rambler.ru


--- Comment #0 from garick garick_home_...@rambler.ru 2009-12-08 01:36:10 PST 
---
string func( A... )( string name, string v )
{
return int  ~ name ~  =  ~ v ~ ;;
}

void main()
{
writeln( func!( int, long, float )( val, 10 ) );
writeln( func!()( tmp, 77 ) ); // D 2.036 successfully compile this,   
   // but not 2.037
// worked in 2.037
alias func!() TMP;
writeln( TMP( tmp, 77 ) ); 
}

2.037 output:
funcmix.d(13): Error: template funcmix.func(A...) does not match any function
template declaration
funcmix.d(13): Error: template funcmix.func(A...) cannot deduce template
function from argument types !()(string,string)
funcmix.d(13): Error: template instance errors instantiating template

May be because '()' and '()' tuples are incompartible ?
see Issue 3278

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


[Issue 3566] scoped class's member available after delete

2009-12-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3566


garick garick_home_...@rambler.ru changed:

   What|Removed |Added

   Severity|normal  |major


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


[Issue 3600] template instantiation with empty tuple

2009-12-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3600


garick garick_home_...@rambler.ru changed:

   What|Removed |Added

   Severity|normal  |major


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


[Issue 3601] New: Debug and Release builds of DMD produce different object files

2009-12-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3601

   Summary: Debug and Release builds of DMD produce different
object files
   Product: D
   Version: 2.032
  Platform: Other
OS/Version: Windows
Status: NEW
  Severity: critical
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: 2kor...@gmail.com


--- Comment #0 from Koroskin Denis 2kor...@gmail.com 2009-12-08 07:46:08 PST 
---
(Not to be confused with -debug and -release DMD options)

I finally managed to cut that sucker down (took me almost entire day to track
it down and reduce to reasonable size)!

The test case is attached, compile it as follows:

dmd -c -d thread.d

Tested on DMD2.032, Windows only.

I believe Debug version produces corrupted binaries as linking sometimes fails
giving me a library is corrupted message.

I should add that this one is very annoying as it prevents ddmd from working
properly (it only works in debug mode ATM and debug version of backend produces
odd binaries).

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


[Issue 3601] Debug and Release builds of DMD produce different object files

2009-12-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3601



--- Comment #1 from Koroskin Denis 2kor...@gmail.com 2009-12-08 07:47:32 PST 
---
Created an attachment (id=523)
Test case that reproduces described behavior

Based off druntime/core/thread.d file

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


[Issue 3602] New: cannot compile a class, if its super class has preconditions

2009-12-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3602

   Summary: cannot compile a class, if its super class has
preconditions
   Product: D
   Version: 1.051
  Platform: Other
OS/Version: Linux
Status: NEW
  Severity: critical
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: qian...@funkwerk-itk.com


--- Comment #0 from Qian Xu qian...@funkwerk-itk.com 2009-12-08 08:44:14 PST 
---
Dear Developers,

I see an error message while dmd tries to compile a class:

= ERROR =
Box.d(7): Error: function __require forward declaration
linkage = 0
dmd: tocsym.c:381: virtual Symbol* FuncDeclaration::toSymbol(): Assertion `0'
failed.
Aborted
= ERROR =



dmd: tocsym.c:381: virtual Symbol* FuncDeclaration::toSymbol(): Assertion `0'
failed.

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


[Issue 3602] cannot compile a class, if its super class has preconditions

2009-12-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3602



--- Comment #1 from Qian Xu qian...@funkwerk-itk.com 2009-12-08 08:49:26 PST 
---
Sorry for the first commit. The description is incomplete.

Now the part 2:

I have two classes as follows:

== FILE: Box.d ==
module Box;
class Box {
   void paint(int x, int y)
   in {
   assert(x  0);
   assert(y  0);
   }
   body {
   }
}
== FILE: Box.d ==

== FILE: ImageBox.d ==
module ImageBox;
class ImageBox: Box {
   void override paint(int x, int y)
   in {
   assert(x  0);
   assert(y  0);
   }
   body {
   }
}
== FILE: ImageBox.d ==

I compile the Box.d using dmd -w -debug -inline -version=Posix -version=Tango
Box.d -c, it works.
And then I compile the ImageBox.d using dmd -w -debug -inline -version=Posix
-version=Tango ImageBox.d -c, the dmd compile returns an error.
= ERROR =
Box.d(7): Error: function __require forward declaration
linkage = 0
dmd: tocsym.c:381: virtual Symbol* FuncDeclaration::toSymbol(): Assertion `0'
failed.
Aborted
= ERROR =


Note that if I write private before this method paint, it works. 


I think this issue is pretty critical, now I have to remove all preconditions
in my super classes.

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


[Issue 3571] super description has a duplicated sentence

2009-12-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3571



--- Comment #2 from Leandro Lucarella llu...@gmail.com 2009-12-08 13:29:13 
PST ---
http://www.dsource.org/projects/phobos/changeset/1365

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


[Issue 3580] Update docs s/invariant/immutable/

2009-12-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3580


Leandro Lucarella llu...@gmail.com changed:

   What|Removed |Added

 CC||llu...@gmail.com


--- Comment #2 from Leandro Lucarella llu...@gmail.com 2009-12-08 13:31:08 
PST ---
http://www.dsource.org/projects/phobos/changeset/1366

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


[Issue 3458] int fsync(int) commented out in core.sys.posix.unistd

2009-12-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3458



--- Comment #4 from Leandro Lucarella llu...@gmail.com 2009-12-08 13:33:30 
PST ---
http://www.dsource.org/projects/druntime/changeset/210

Thanks

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


[Issue 3603] New: Allow selective import syntax to import several modules from a package

2009-12-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3603

   Summary: Allow selective import syntax to import several
modules from a package
   Product: D
   Version: future
  Platform: All
OS/Version: Linux
Status: NEW
  Severity: enhancement
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: llu...@gmail.com


--- Comment #0 from Leandro Lucarella llu...@gmail.com 2009-12-08 13:49:19 
PST ---
Importing a lot of stuff from a deeply nested modules is very annoying because
it needs a lot of repeating, for example:

import really.very.deeply.nested.package.module1;
import really.very.deeply.nested.package.module2;
import really.very.deeply.nested.package.module3;

Allowing selective import syntax to do this in a more concise way would be a
great improvement over this, the above example could be rewritten as:

import really.very.deeply.nested.package: module1, module2, module3;

Maybe this should be semantically equivalent to this instead of the first
example:

import module1 = really.very.deeply.nested.package;
import module2 = really.very.deeply.nested.package;
import module3 = really.very.deeply.nested.package;

It can be a little more consistent with selective imports. But we still have to
same problem if we don't want to type module1.symbol and want to type just
symbol instead.

Maybe a new syntax can be introduced to allow that, like:
import really.very.deeply.nested.package { module1, module2, module3 };

Or something similar.

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