[Issue 15654] SysTime.toISOString formats the time zones incorrectly

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15654

Jonathan M Davis  changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |---

--- Comment #3 from Jonathan M Davis  ---
It looks like I screwed up and only fixed the fromISOString portion of this so
that it accepted the correct type without actually fixing what was emitted.

--


[Issue 17722] Wrong diagnostic using __traits(compiles, e1 && e2) expressions.

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17722

--- Comment #2 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/dlang/dmd

https://github.com/dlang/dmd/commit/ec3494661edce54b2e72efd762247532e433cec1
fix Issue 17722 - Wrong diagnostic using __traits(compiles, e1 && e2)
expressions

https://github.com/dlang/dmd/commit/bfee6b36fbcf2752e3c94d8bd8089779bad807e6
Merge pull request #7067 from ibuclaw/issue17722

fix Issue 17722 - Wrong diagnostic using __traits(compiles, e1 && e2)
expressions
merged-on-behalf-of: Walter Bright 

--


[Issue 17688] ICE with static foreach directly inside switch

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17688

github-bugzi...@puremagic.com changed:

   What|Removed |Added

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

--


[Issue 17688] ICE with static foreach directly inside switch

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17688

--- Comment #2 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/dlang/dmd

https://github.com/dlang/dmd/commit/7ebda47f6a162ce3de774a042207eb883908b650
fix Issue 17688 - ICE with static foreach directly inside switch

https://github.com/dlang/dmd/commit/e1e68148e0cd0eb1cfa21a8c0b24afcf7f3781f9
Merge pull request #7023 from tgehr/fix17688

fix Issue 17688 - ICE with static foreach directly inside switch
merged-on-behalf-of: Walter Bright 

--


[Issue 17731] dman fails to build due to more than 32767 symbols

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17731

--- Comment #2 from github-bugzi...@puremagic.com ---
Commits pushed to stable at https://github.com/dlang/installer

https://github.com/dlang/installer/commit/e356e3710410dde59c5707b903c3f913a41e2925
remove dman from installers to workaround Issue 17731

https://github.com/dlang/installer/commit/7c7006ef85833155db5c6af6c0cc377d3ca8
Merge pull request #241 from MartinNowak/workaround_17731

remove dman from installers to workaround Issue 17731

--


[Issue 2137] Data not compressed on fly when adding to zip archive

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=2137

RazvanN  changed:

   What|Removed |Added

 CC||razvan.nitu1...@gmail.com

--- Comment #5 from RazvanN  ---
PR : https://github.com/dlang/phobos/pull/5679

--


[Issue 17722] Wrong diagnostic using __traits(compiles, e1 && e2) expressions.

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17722

Iain Buclaw  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED

--- Comment #1 from Iain Buclaw  ---
https://github.com/dlang/dmd/pull/7067

--


[Issue 17730] [scope][dip1000] Can escape references to scope classes by moving

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17730

Mike  changed:

   What|Removed |Added

 CC||slavo5...@yahoo.com

--


[Issue 2898] Allow RandomCover to sample both w/ and w/o replacement.

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=2898

--- Comment #3 from RazvanN  ---
How should we proceed here? Make a pull request with David's code and see what
happens or close with wontfix since there is no demand for this feature?

--


[Issue 17428] [scope] class field assignment allows to escape scope parameters

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17428

--- Comment #3 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/dlang/dmd

https://github.com/dlang/dmd/commit/16a922f0864569b669b65448cf647de0c605e41d
fix Issue 17428 - [scope] class field assignment allows to escape scope
parameters

https://github.com/dlang/dmd/commit/d61411be90d36439ab91418434f900cdf1bf5ade
Merge pull request #7025 from WalterBright/fix17428

fix Issue 17428 - [scope] class field assignment allows to escape sco…
merged-on-behalf-of: Rainer Schuetze 

--


[Issue 17428] [scope] class field assignment allows to escape scope parameters

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17428

github-bugzi...@puremagic.com changed:

   What|Removed |Added

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

--


[Issue 17680] Broken ddmd source links in documentation

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17680

--- Comment #4 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/dlang/dmd

https://github.com/dlang/dmd/commit/2501a047179eba522a73a91bd049d63772d5f48f
Use DDoc syntax for license links

Partial fix for Issue 17680.

https://github.com/dlang/dmd/commit/1d2bf7149eba8ad8d8bb262234c23cbaaefc2b7b
Use DDoc syntax for source links

Partial fix for Issue 17680.

--


[Issue 17733] idup fails for structs/classes with member functions

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17733

Steven Schveighoffer  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||schvei...@yahoo.com
 Resolution|--- |INVALID

--- Comment #1 from Steven Schveighoffer  ---
This is because in the first case, S has a hidden context pointer to the stack
frame of main().

If you mark it as a static struct, you will not have this problem.

Note that the ultimate reason it fails is because any items that have
indirections cannot be implicitly converted to immutable.

--


[Issue 17734] __traits(isRef) cannot currently be used to distinguish l-value from r-value passing of `this`

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17734

Steven Schveighoffer  changed:

   What|Removed |Added

 CC||schvei...@yahoo.com

--- Comment #1 from Steven Schveighoffer  ---
This is because `this` is always accepted by reference, even for rvalues. This
is, in fact, the only place an rvalue will bind to a reference.

So this is as designed, at least for __traits(isRef). I don't think there's any
way to fix this, unless you templated each function and accepted `this` by
value when called from rvalues.

I recommend closing, this enhancement isn't going to happen.

--


[Issue 17734] New: __traits(isRef) cannot currently be used to distinguish l-value from r-value passing of `this`

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17734

  Issue ID: 17734
   Summary: __traits(isRef) cannot currently be used to
distinguish l-value from r-value passing of `this`
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: per.nord...@gmail.com

__traits(isRef) cannot currently be used to distinguish l-value from r-value
passing of `this`:

# l-value passing:
S s = 42;
s.f();

# r-value passing:
S(42).f();

given that

struct SS 
{
int x; 
void f(int x);
}

This severly limits the possibilities of implenting C++-style expression
templates to realize lazy evaluation in operator overloading in arithmetic
types.

If this limitation were to be fixed, libraries such as gmp-d (which wrap the
C-implementation GNU MP) could implement lowering of expressions such as (in
the gmp case):

Z result = base^^exp % modulo

to the builtin

__gmpz_powm(result._ptr, base._ptr, expr._ptr, modulo._ptr)

See also: https://github.com/nordlow/gmp-d/#limitations

--


[Issue 17733] idup fails for structs/classes with member functions

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17733

Anton Fediushin  changed:

   What|Removed |Added

  Component|druntime|dmd

--


[Issue 4271] drop/pop methods for std.algorithm.BinaryHeap

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=4271

RazvanN  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #5 from RazvanN  ---
It seems that meanwhile, binaryHeap has been moved from std.algorithm to
std.container and the method removeAny [1] was added which does exactly what
this bug report asks for. Closing as fixed.

[1] http://dlang.org/phobos/std_container_binaryheap.html#.BinaryHeap.removeAny

--


[Issue 17732] New: SysTime.init.toString segfaults because timezone is null

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17732

  Issue ID: 17732
   Summary: SysTime.init.toString segfaults because timezone is
null
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: major
  Priority: P2
 Component: phobos
  Assignee: nob...@puremagic.com
  Reporter: c...@dawg.eu

Fairly surprising, e.g. for default initialized structs.

Not sure why some overloads in std.datetime.systime take
  immutable TimeZone tz = null
why others use
  immutable TimeZone tz = LocalTime()
.
Fixing this bug would be trivial by moving the already used
  tz is null ? LocalTime() : tz;
logic into the `timezone` accessor.

--


[Issue 17731] dman fails to build due to more than 32767 symbols

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17731

--- Comment #3 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/dlang/installer

https://github.com/dlang/installer/commit/ef720edff651d8d2c2c20d39940f9162f73d2f3e
disable dman to workaround Issue 17731

https://github.com/dlang/installer/commit/17c6c70a931329c0bce2442fcb121ec0733ea1a4
Merge pull request #240 from MartinNowak/workaround_17731

https://github.com/dlang/installer/commit/e356e3710410dde59c5707b903c3f913a41e2925
remove dman from installers to workaround Issue 17731

https://github.com/dlang/installer/commit/7c7006ef85833155db5c6af6c0cc377d3ca8
Merge pull request #241 from MartinNowak/workaround_17731

--


[Issue 17731] dman fails to build due to more than 32767 symbols

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17731

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

https://github.com/dlang/dlang.org/commit/b64a108e7866874d172f9b05fd82716997a1
chmgen: Emit d.tag in JSON syntax too

Partial fix for issue 17731.

--


[Issue 17731] dman fails to build due to more than 32767 symbols

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17731

--- Comment #6 from github-bugzi...@puremagic.com ---
Commit pushed to master at https://github.com/dlang/tools

https://github.com/dlang/tools/commit/72ab90ceadd6a421126643cef6780b8be96f5d17
dman: Use d-tags.json instead of d.tag

Fixes issue 17731.

--


[Issue 2898] Allow RandomCover to sample both w/ and w/o replacement.

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=2898

Andrei Alexandrescu  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WONTFIX

--- Comment #4 from Andrei Alexandrescu  ---
I'll close this. It's easy to get a random cover on a random-access range with
replacement:

auto r1 = generate!(() => r[r.length.uniform]);

Truth be told that's an input, not a forward range but we need to find
motivating applications for more elaborate approaches.

--


[Issue 17734] __traits(isRef) cannot currently be used to distinguish l-value from r-value passing of `this`

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17734

Andrei Alexandrescu  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||and...@erdani.com
 Resolution|--- |INVALID

--- Comment #2 from Andrei Alexandrescu  ---
Yeah likely won't happen. Also, it's a modularity issue - a function can't know
inside how it was called. At best we could do that via overloading, but overall
I don't see this being a good start. I recommend a closer look/discussion
before opening an enhancement.

--


[Issue 17734] __traits(isRef) cannot currently be used to distinguish l-value from r-value passing of `this`

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17734

--- Comment #3 from Per Nordlöw  ---
(In reply to Steven Schveighoffer from comment #1)
> I recommend closing, this enhancement isn't going to happen.

Can anyone think of an alternative way of finding out whether or not `this` is
an r-value?

--


[Issue 17734] __traits(isRef) cannot currently be used to distinguish l-value from r-value passing of `this`

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17734

--- Comment #4 from Andrei Alexandrescu  ---
Don't use methods. Instead, use regular functions with UFCS and overload on ref
and non-ref to distinguish rvalues from rvalues.

--


[Issue 17734] __traits(isRef) cannot currently be used to distinguish l-value from r-value passing of `this`

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17734

--- Comment #5 from Per Nordlöw  ---
(In reply to Andrei Alexandrescu from comment #4)
> Don't use methods. Instead, use regular functions with UFCS and overload on
> ref and non-ref to distinguish rvalues from rvalues.

But the whole issue is about operator overloading, and those (sadly) must be
members (currently). Are there any plans of changing this?

--


[Issue 17569] Rename dman in the Debian .deb package to prevent conflict with Debian package debian-goodies

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17569

Martin Nowak  changed:

   What|Removed |Added

 CC||c...@dawg.eu

--- Comment #1 from Martin Nowak  ---
Another reported conflict is deepin-manual
http://forum.dlang.org/post/zwusavzzulksmekov...@forum.dlang.org.

--


[Issue 17734] __traits(isRef) cannot currently be used to distinguish l-value from r-value passing of `this`

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17734

--- Comment #6 from Andrei Alexandrescu  ---
(In reply to Per Nordlöw from comment #5)
> (In reply to Andrei Alexandrescu from comment #4)
> > Don't use methods. Instead, use regular functions with UFCS and overload on
> > ref and non-ref to distinguish rvalues from rvalues.
> 
> But the whole issue is about operator overloading, and those (sadly) must be
> members (currently). Are there any plans of changing this?

That would be a better angle for an enhancement request.

--


[Issue 17731] dman fails to build due to more than 32767 symbols

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17731

Vladimir Panteleev  changed:

   What|Removed |Added

   Keywords||pull

--- Comment #4 from Vladimir Panteleev  ---
https://github.com/dlang/dlang.org/pull/1860
https://github.com/dlang/tools/pull/254

--


[Issue 17733] New: idup fails for structs/classes with member functions

2017-08-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17733

  Issue ID: 17733
   Summary: idup fails for structs/classes with member functions
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: minor
  Priority: P1
 Component: druntime
  Assignee: nob...@puremagic.com
  Reporter: fediushin.an...@yandex.ru

Test case:

void main() {
struct S {
void f() {}
}
[S()].idup;
}

Also, compilation fails only if struct is defined in same scope idup is called,
so this code works just fine:

struct S {
void f() {}
}
void main() {
[S()].idup;
}

I've tested it with latest dmd, gdc and ldc

--