[Issue 13305] New: Inconsistency in empty class and interface parsing

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13305

  Issue ID: 13305
   Summary: Inconsistency in empty class and interface parsing
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P1
 Component: DMD
  Assignee: nob...@puremagic.com
  Reporter: briancsch...@gmail.com

interface A;
class B;
interface C {}
class D {}
interface E : C; // Fails
class F : C; // Fails
interface G : C {} // Passes
class H : C {} // Passes

Interfaces and classes are only allowed to have ; as their body if they do
not inherit from another interface. Why is this?

--


[Issue 13305] Inconsistency in empty class and interface parsing

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13305

briancsch...@gmail.com changed:

   What|Removed |Added

 Blocks||10233

--


[Issue 10233] [Tracker] Grammar issues

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=10233

briancsch...@gmail.com changed:

   What|Removed |Added

 Depends on||13305

--


[Issue 10709] reduce 1-function + no seed, wrong type inference

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=10709

--- Comment #3 from monarchdo...@gmail.com ---
(In reply to Vladimir Panteleev from comment #2)
 What's the status of this with regards to
 https://github.com/D-Programming-Language/phobos/pull/2060 ?

It should be fixed. Let me double check.

--


[Issue 13304] std.algorithm.reduce: Unable to deduce an acceptable seed type with float[]

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13304

monarchdo...@gmail.com changed:

   What|Removed |Added

 CC||monarchdo...@gmail.com

--- Comment #1 from monarchdo...@gmail.com ---
(In reply to Vladimir Panteleev from comment #0)
 /// test.d ///
 import std.algorithm;
 
 void main()
 {
 float[] nums;
 float sum = reduce!((a,b) = a + b)(nums);
 }
 //
 
 Introduced in https://github.com/D-Programming-Language/phobos/pull/2060

Seems its a glitch in the way the assertion code is written. The good news is
there is no logical fallacy in the algorithm.

I'll give it a quick fix.

--


[Issue 13304] std.algorithm.reduce: Unable to deduce an acceptable seed type with float[]

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13304

--- Comment #2 from monarchdo...@gmail.com ---
(In reply to monarchdodra from comment #1)
 I'll give it a quick fix.

It turns out there is something that is making the compiler complain in my
tests, because it is trying to *actually* evaluate the predicate in test
(rather than just check compilability). This triggers it, because it complains
it has no access to source code. What's funny is that it works fine with string
predicate:

float sum = reduce!(binaryFun!a + b)(nums); //OK!
float sum = reduce!((a,b) = a + b)(nums);//NOPE!

This is weird. I wonder if there isn't another related regression or something.

I'm gonna try to reduce.

--


[Issue 13304] std.algorithm.reduce: Unable to deduce an acceptable seed type with float[]

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13304

--- Comment #3 from monarchdo...@gmail.com ---
OK: Is this a rejects valid?

//
import std.functional;

void main(string[] args)
{
foo!(binaryFun!a + b)();
foo!((a,b) = a + b)();
}

void foo(alias pred)()
{
alias A = Test1!int.Test2!pred;
}

template Test1(E)
{
template Test2(alias pred)
{
}
}
//
Error: template instance Test2!(__lambda2) cannot use local '__lambda2' as
parameter to non-global template Test2(alias pred)
Error: template instance main.main.foo!((a, b) = a + b) error instantiating

It doesn't quite explain the issue, but it still seems strange to me. my lambda
doesn't require context, so it shouldn't considered local, should it? Also, I
don't understand the issue about Global template.

--


[Issue 13306] New: ctRegex compilation fails if an alternative pattern is specified inside a group

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13306

  Issue ID: 13306
   Summary: ctRegex compilation fails if an alternative pattern is
specified inside a group
   Product: D
   Version: D2
  Hardware: x86
OS: Windows
Status: NEW
  Severity: normal
  Priority: P1
 Component: Phobos
  Assignee: nob...@puremagic.com
  Reporter: maxpa...@yahoo.it

This little sample code can't get compiled if the ctRegex! version is used (DMD
2.065):

=*=*=*=*=*=*=*=*
import std.stdio;
import std.regex;

void main() {
auto s0 =
`url:http://download.microsoft.com/download/Windows8.1-KB00.msu`;
auto s1 =
`url:http://download.microsoft.com/download/Windows8.1-KB00.exe`;

//~ C:\Bin\DMD2\windows\bin\..\..\src\phobos\std\regex.d-mixin-5885(6214):
Error: found 'else' instead of statement
//~ auto rx =
ctRegex!(`url:(http://download.microsoft.com/download.+?(msu|exe))`);

// This works fine as expected, instead...
auto rx =
regex(`url:(http://download.microsoft.com/download.+?(msu|exe))`);

writeln(match(s0, rx).empty());
writeln(match(s1, rx).empty());
}
=*=*=*=*=*=*=*=*

--


[Issue 13288] rdmd --eval fails because it still imports std.metastrings

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13288

--- Comment #3 from github-bugzi...@puremagic.com ---
Commit pushed to master at https://github.com/D-Programming-Language/tools

https://github.com/D-Programming-Language/tools/commit/3378196b27b1f6751d1534fbeeb1e52ff64280ba
Merge pull request #139 from NilsBossung/13288

fix Issue 13288 - rdmd --eval fails because it still imports std.metastrings

--


[Issue 13288] rdmd --eval fails because it still imports std.metastrings

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13288

--- Comment #4 from github-bugzi...@puremagic.com ---
Commit pushed to 2.066 at https://github.com/D-Programming-Language/tools

https://github.com/D-Programming-Language/tools/commit/3378196b27b1f6751d1534fbeeb1e52ff64280ba
Merge pull request #139 from NilsBossung/13288

--


[Issue 12241] Document change to static opCall in changelog

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=12241

--- Comment #3 from github-bugzi...@puremagic.com ---
Commit pushed to 2.066 at https://github.com/D-Programming-Language/dlang.org

https://github.com/D-Programming-Language/dlang.org/commit/8719bac33031084a02bd801365505de37ab41a09
Merge pull request #619 from ntrel/mix-opcall

Fix Issue 12241 - Document change to static opCall

--


[Issue 10297] Memory safe D spec is out of date

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=10297

--- Comment #5 from github-bugzi...@puremagic.com ---
Commit pushed to 2.066 at https://github.com/D-Programming-Language/dlang.org

https://github.com/D-Programming-Language/dlang.org/commit/08088b61718f07212bc75b051b0ac497e6b6b8b3
Merge pull request #600 from ntrel/update-safe-spec

Fix Issue 10297 - Memory safe D spec is out of date

--


[Issue 13012] Open bugs chart is missing from http://dlang.org/bugstats.php

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13012

--- Comment #4 from github-bugzi...@puremagic.com ---
Commit pushed to 2.066 at https://github.com/D-Programming-Language/dlang.org

https://github.com/D-Programming-Language/dlang.org/commit/eaa6f0d0871871354374e7ecf1cf6697d8900abd
Merge pull request #614 from quickfur/issue13012

Fix broken bug graph image on bugstats.php

--


[Issue 13304] std.algorithm.reduce: Unable to deduce an acceptable seed type with float[]

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13304

--- Comment #4 from Vladimir Panteleev thecybersha...@gmail.com ---
(In reply to monarchdodra from comment #3)
 Error: template instance Test2!(__lambda2) cannot use local '__lambda2' as
 parameter to non-global template Test2(alias pred)
 Error: template instance main.main.foo!((a, b) = a + b) error instantiating

Try adding static to Test1 or Test2. Probably related to issue 11946.

 It doesn't quite explain the issue, but it still seems strange to me. my
 lambda doesn't require context, so it shouldn't considered local, should
 it? Also, I don't understand the issue about Global template.

Yes, doesn't seem right. File it and maybe Kenji will look at it.

--


[Issue 11834] std.net.curl: ddoc warnings

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=11834

Walter Bright bugzi...@digitalmars.com changed:

   What|Removed |Added

 CC||bugzi...@digitalmars.com
  Component|DMD |Phobos

--


[Issue 11834] std.net.curl: ddoc warnings

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=11834

--- Comment #3 from github-bugzi...@puremagic.com ---
Commit pushed to master at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/ff76141da598d8e85e06c11439c449b9fb6e0aef
Merge pull request #2427 from quickfur/issue11834

Issue 11834: std.net.curl abuses ddoc params section and causes ddoc warnings

--


[Issue 11832] std.datetime: ddoc warnings

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=11832

--- Comment #4 from github-bugzi...@puremagic.com ---
Commit pushed to master at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/105b2c2d9f31219d8eb8eede0a25d6bc375fa5d0
Merge pull request #2426 from quickfur/issue11832

Issue 11832: Fix mismatching param name.

--


[Issue 13307] New: AsmTypePrefix documentation is incorrect

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13307

  Issue ID: 13307
   Summary: AsmTypePrefix documentation is incorrect
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P1
 Component: websites
  Assignee: nob...@puremagic.com
  Reporter: briancsch...@gmail.com

AsmTypePrefix:
near ptr
far ptr
byte ptr
short ptr
int ptr
word ptr
dword ptr
qword ptr
float ptr
double ptr
real ptr

std.math contains the following line of code:

jge short L_largepositive;

This is not valid according to the documentation on http://dlang.org/iasm.html
because it states that the identifier ptr is required after short.

--


[Issue 10233] [Tracker] Grammar issues

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=10233

briancsch...@gmail.com changed:

   What|Removed |Added

 Depends on||13307

--


[Issue 13307] AsmTypePrefix documentation is incorrect

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13307

briancsch...@gmail.com changed:

   What|Removed |Added

 Blocks||10233

--


[Issue 13307] AsmTypePrefix documentation is incorrect

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13307

Orvid King blah38...@gmail.com changed:

   What|Removed |Added

 CC||blah38...@gmail.com

--- Comment #1 from Orvid King blah38...@gmail.com ---
I believe this was intended to be an alias for near ptr, not short ptr.
Although there may be another pointer size possible that I'm not currently
thinking of.

--


[Issue 13307] AsmTypePrefix documentation is incorrect

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13307

--- Comment #2 from Orvid King blah38...@gmail.com ---
A small snippet from the ASM parsing in Mono-D:

case near:
case far:
case byte:
case short:
case int:
case word:
case dword:
case qword:
case float:
case double:
case real:
// TODO: Put this information in the AST
Step();
if (laKind == Identifier  la.Value == ptr)
Step();
else if (t.Value != short)
SynErr(Identifier, Expected ptr!);
else if (!(Parent is AsmStatement.InstructionStatement) ||
!((AsmStatement.InstructionStatement)Parent).IsJmpFamily)
SynErr(Identifier, A short reference is only valid for the jmp family
of instructions!);
return ParseAsmExpression(Scope, Parent);

--


[Issue 13308] AsmPrimaryExp documentation is incorrect

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13308

briancsch...@gmail.com changed:

   What|Removed |Added

   Keywords||iasm, spec
URL||http://dlang.org/iasm.html
 Blocks||10233

--


[Issue 13308] New: AsmPrimaryExp documentation is incorrect

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13308

  Issue ID: 13308
   Summary: AsmPrimaryExp documentation is incorrect
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P1
 Component: websites
  Assignee: nob...@puremagic.com
  Reporter: briancsch...@gmail.com

AsmPrimaryExp:
IntegerLiteral
FloatLiteral
__LOCAL_SIZE
$
Register
Register64
DotIdentifier

This grammar says nothing about segment overrides. (i.e. : being a valid
token in a primary expression.)

According to the spec this line in druntime's thread.d is invalid:

asm { naked; mov EAX, FS:4; ret; }

--


[Issue 10233] [Tracker] Grammar issues

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=10233

briancsch...@gmail.com changed:

   What|Removed |Added

 Depends on||13308

--


[Issue 13309] New: DMD accepts yet another invalid alias declaration

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13309

  Issue ID: 13309
   Summary: DMD accepts yet another invalid alias declaration
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P1
 Component: DMD
  Assignee: nob...@puremagic.com
  Reporter: briancsch...@gmail.com

alias extern(Windows) HRESULT fnNtQuerySystemInformation( uint
SystemInformationClass, void* info, uint infoLength, uint* ReturnLength )
nothrow;

This does not match any documented form of alias declaration, yet it is
accepted by DMD.

Maybe this was supposed to be

alias fnNtQuerysystemInformation = extern(windows) HRESULT function( uint
SystemInformationClass, void* info, uint infoLength, uint* ReturnLength )
nothrow;

--


[Issue 13309] DMD accepts yet another invalid alias declaration

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13309

briancsch...@gmail.com changed:

   What|Removed |Added

   Keywords||spec
 Blocks||10233

--


[Issue 10233] [Tracker] Grammar issues

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=10233

briancsch...@gmail.com changed:

   What|Removed |Added

 Depends on||13309

--


[Issue 13309] DMD accepts yet another invalid alias declaration

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13309

Orvid King blah38...@gmail.com changed:

   What|Removed |Added

 CC||blah38...@gmail.com

--- Comment #1 from Orvid King blah38...@gmail.com ---
Your suggested alternative wouldn't do the same as that declaration currently
does, because it would be typed as a pointer to a function rather than a
function type itself, which is what the mangled type of the alias is.

--


[Issue 13310] New: Old style multiple alias declaration not documented

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13310

  Issue ID: 13310
   Summary: Old style multiple alias declaration not documented
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P1
 Component: websites
  Assignee: nob...@puremagic.com
  Reporter: briancsch...@gmail.com

---
alias CHAR* LPCH,  LPSTR,  PCH,  PSTR;
---

AliasDeclaration:
alias StorageClassesopt BasicType Declarator
alias AliasDeclarationX ;

AliasDeclarationX:
Identifier TemplateParametersopt = StorageClassesopt Type
AliasDeclarationX , Identifier TemplateParametersopt = StorageClassesopt
Type

Obviously AliasDeclarationX doesn't match because there's no = token, so
let's try the first rule. This doesn't match because Declarator doesn't allow
commas and multiple identifiers.

--


[Issue 13310] Old style multiple alias declaration not documented

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13310

briancsch...@gmail.com changed:

   What|Removed |Added

   Keywords||accepts-invalid, spec
URL||http://dlang.org/declaratio
   ||n.html#AliasDeclaration
 Blocks||10233

--


[Issue 10233] [Tracker] Grammar issues

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=10233

briancsch...@gmail.com changed:

   What|Removed |Added

 Depends on||13310

--


[Issue 13309] DMD accepts yet another invalid alias declaration

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13309

--- Comment #2 from Orvid King blah38...@gmail.com ---
To be more precise, the alias declaration, as output in the JSON is:
name : fnNtQuerySystemInformation,
deco : WNbkPvkPkZi

--


[Issue 13310] Old style multiple alias declaration not documented

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13310

--- Comment #1 from briancsch...@gmail.com ---
Looking at the D1 documentation, you can find this:

AliasDeclaration:
alias Decl

Decl:
BasicType Declarators ;

Declarators:
DeclaratorInitializer , DeclaratorIdentifierList

DeclaratorInitializer:
Declarator

DeclaratorIdentifierList:
DeclaratorIdentifier
DeclaratorIdentifier , DeclaratorIdentifierList

DeclaratorIdentifier:
Identifier

It appears that DMD is accepting code that is valid in D1 but not valid in D2
without issuing any sort of deprecation warning or compiler error.

--


[Issue 13277] The base class in the JSON output is always unqualified

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13277

Kenji Hara k.hara...@gmail.com changed:

   What|Removed |Added

   Keywords||pull
 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #1 from Kenji Hara k.hara...@gmail.com ---
Pull request:
https://github.com/D-Programming-Language/dmd/pull/3867

Merged commit:
https://github.com/D-Programming-Language/dmd/commit/790c3fca911b80a084f9628c981658f29ae28d57

--


[Issue 11834] std.net.curl: ddoc warnings

2014-08-16 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=11834

hst...@quickfur.ath.cx changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--