[Issue 19027] New: iota(int.min, int.max).length is incorrect

2018-06-25 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19027

  Issue ID: 19027
   Summary: iota(int.min, int.max).length is incorrect
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: phobos
  Assignee: nob...@puremagic.com
  Reporter: davidbenn...@bravevision.com

---
void main()
{
  import std.range : iota;
  import std.conv : to;

  auto length = iota(int.min, int.max).length;
  assert(length == uint.max, "opps... length is " ~ length.to!string);
}
---

fails with:

core.exception.AssertError@[snip]: opps... length is 18446744073709551615

??:? _d_assert_msg [0x18578d52]
??:? _Dmain [0x1855e6cc]

I iota seems work fine with byte, short and long, it's just int that has
issues.

Thanks,
David

--


[Issue 19026] New: Aliasing an inner function gets context but aliasing a member function through instance does not

2018-06-25 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19026

  Issue ID: 19026
   Summary: Aliasing an inner function gets context but aliasing a
member function through instance does not
   Product: D
   Version: D2
  Hardware: All
   URL: http://dlang.org/
OS: All
Status: NEW
  Severity: enhancement
  Priority: P3
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: ali.akhtarz...@gmail.com

Based on this forum thread:
https://forum.dlang.org/thread/hyforteterjqhgghp...@forum.dlang.org

Aliasing an inner function seems inconsistent with aliasing a member function
in that the former aliases the contexted function whereas the latter not:

void main() {
struct S { void f() {} }
S s;
void f() {}

alias inner = f;
alias member = s.f;

pragma(msg, typeof()); // delegate
pragma(msg, typeof()); // function
}

so inner() can be called but not member() as you get: Error: need this for f of
type void()

--


[Issue 19025] Better definition of deallocateAll in ContiguousFreeList

2018-06-25 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19025

mmcoma...@gmail.com changed:

   What|Removed |Added

 CC||mmcoma...@gmail.com

--


[Issue 18034] SIMD optimization issues

2018-06-25 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18034

mmcoma...@gmail.com changed:

   What|Removed |Added

 CC||mmcoma...@gmail.com

--


[Issue 18953] Win32: extern(C++) struct destructor not called correctly through runtime

2018-06-25 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18953

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

https://github.com/dlang/dmd/commit/3a4707b4b15743ff4a068fe5ac6b983b6ce042c4
fix issue 18953 - extern(C++) struct destructor not called correctly through
runtime

Win32 already fixed by d08e0fb3bff6767bd28516f53393083d86f63045
other 32-bit platforms have the same issue

https://github.com/dlang/dmd/commit/f95b301a78a4124904e85622f63215b8ce248e67
Merge pull request #8359 from rainers/issue18953

fix issue 18953 - 32-bit: extern(C++) struct destructor not called cor…

--


[Issue 18984] Debugging stack struct's which are returned causes incorrect debuginfo.

2018-06-25 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18984

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

   What|Removed |Added

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

--


[Issue 18953] Win32: extern(C++) struct destructor not called correctly through runtime

2018-06-25 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18953

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

   What|Removed |Added

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

--


[Issue 18916] ICE using Typedef and __LINE__

2018-06-25 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18916

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

   What|Removed |Added

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

--


[Issue 18266] ICE: should allow reusing identifier in declarations in disjoint scopes in a function

2018-06-25 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18266

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

https://github.com/dlang/dmd/commit/5e18ed610d8d946c1718f591806342e933788559
Fix Issue 18266 - ICE: should allow reusing identifier in declarations in
disjoint scopes in a function

https://github.com/dlang/dmd/commit/884fa1dcb056582de68bd76a13bd508f70d31ec0
Merge pull request #8370 from RazvanN7/Issue_18266

Fix Issue 18266 - ICE: should allow reusing identifier in declaration…

--


[Issue 18984] Debugging stack struct's which are returned causes incorrect debuginfo.

2018-06-25 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18984

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

https://github.com/dlang/dmd/commit/b3c9c561ce8a52b9997a0fef8912eecd296f8c32
fix issue 18984 - Debugging stack struct's which are returned causes incorrect
debuginfo.

change the names of the hidden return value and the NRVO variable

https://github.com/dlang/dmd/commit/b9cf7458c2c6521bf78cd97822d1905e2e43da4e
Merge pull request #8368 from rainers/issue18984

fix issue 18984 - stack struct's which are returned causes incorrect debuginfo.
merged-on-behalf-of: Petar Kirov 

--


[Issue 18966] extern(C++) constructor should match C++ semantics assigning vtable

2018-06-25 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18966

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

https://github.com/dlang/dmd/commit/403d5f0148abe60ac1836da9038c18cebd8b8644
fix Issue 18966 - extern(C++) constructor should match C++ semantics assigning
vtable

set vtbl after exlicit or implicit call to super() in C++ constructors

https://github.com/dlang/dmd/commit/297844f035be1753cbbf07f9338c6383b2b62708
Merge pull request #8362 from rainers/issue18966

fix Issue 18966 - extern(C++) constructor should match C++ semantics …
merged-on-behalf-of: David Nadlinger 

--


[Issue 18266] ICE: should allow reusing identifier in declarations in disjoint scopes in a function

2018-06-25 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18266

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

   What|Removed |Added

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

--


[Issue 18916] ICE using Typedef and __LINE__

2018-06-25 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18916

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

https://github.com/dlang/dmd/commit/3b3e97904dd844d2c7546c528a4cb6fec19fe106
Fix Issue 18916 - ICE using Typedef and __LINE__

https://github.com/dlang/dmd/commit/663625bce0f0f392e1ddb7078d216604c2b69f61
Merge pull request #8310 from JinShil/fix_18916

Fix Issue 18916 - ICE using Typedef and __LINE__

--


[Issue 19025] New: Better definition of deallocateAll in ContiguousFreeList

2018-06-25 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19025

  Issue ID: 19025
   Summary: Better definition of deallocateAll in
ContiguousFreeList
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: phobos
  Assignee: nob...@puremagic.com
  Reporter: mmcoma...@gmail.com

Deallocation of all memory in ContiguousFreeList can be done without using
parent.deallocateAll. Buffer used by ContiguousFreeList is always allocated by
parent so deallocateAll it should be enought to implement deallocateAll.

If I understand everything properly such an implementation would be enought:

bool deallocateAll()
{
bool result = parent.deallocate(support);
allocated = 0;
return result;
}


I am not sure but current implementation might be wrong because it is calling
parent.deallocateAll() and parent might have been used to allocate some other
data not only buffer for ContiguousFreeList.

--


[Issue 16987] ABI error wrt. COM interfaces returning structs

2018-06-25 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16987

ki...@gmx.net changed:

   What|Removed |Added

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

--- Comment #1 from ki...@gmx.net ---
This was fixed by https://github.com/dlang/dmd/pull/8330, for Win32 and Win64,
and apparently wasn't COM-specific, but a Visual C++ ABI quirk.

--


[Issue 18978] Cannot create new projects in 0.47.0-beta1

2018-06-25 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18978

Thomas  changed:

   What|Removed |Added

 Status|RESOLVED|VERIFIED

--


[Issue 18996] Inserting a type containing indirections into an std.container Array causes SIGILL(4). Illegal Instruction.

2018-06-25 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18996

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

https://github.com/dlang/druntime/commit/1b0af1ee6030b233eba7d29629c5ea995d5df944
Fix issue 18996 - ProtoGC should support removing roots and ranges
that were not originally added. Behavior is now consistent with
conservative GC.

https://github.com/dlang/druntime/commit/90c140f439e3ee719d8a01455dee5dc976e1f9d1
Merge pull request #2220 from schveiguy/fix18996

Fix issue 18996 - ProtoGC should support removing roots and ranges that were
not originally added

--


[Issue 19005] [REG2.081-b1] object.hashOf no longer works for std.datetime.date.Date

2018-06-25 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19005

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

   What|Removed |Added

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

--


[Issue 18996] Inserting a type containing indirections into an std.container Array causes SIGILL(4). Illegal Instruction.

2018-06-25 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18996

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

   What|Removed |Added

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

--


[Issue 19008] core.internal.convert.toUbyte doesn't work on enums

2018-06-25 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19008

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

https://github.com/dlang/druntime/commit/3e233e7e88bbf84d27cf87c33d94ab85f6f6fc12
Fix Issue 19008 - core.internal.convert.toUbyte doesn't work on enums

https://github.com/dlang/druntime/commit/709270989ec493e18d82b5bb62b81208b570317f
Merge pull request #2226 from n8sh/convert-19008

Fix Issue 19008 - core.internal.convert.toUbyte doesn't work on enums

--


[Issue 19005] [REG2.081-b1] object.hashOf no longer works for std.datetime.date.Date

2018-06-25 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19005

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

https://github.com/dlang/druntime/commit/416d1dd1afc43ff423becca63801f5807e8efdb9
Fix Issue 19005 - [REG2.081-b1] object.hashOf no longer works for
std.datetime.date.Date

https://github.com/dlang/druntime/commit/c2b856c9d6b37d54a41bf10dc85dad761777a0ff
Merge pull request #2227 from n8sh/hash-19005

Fix Issue 19005 - [REG2.081-b1] object.hashOf no longer works for
std.datetime.date.Date

--


[Issue 19008] core.internal.convert.toUbyte doesn't work on enums

2018-06-25 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19008

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

   What|Removed |Added

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

--


[Issue 19018] Lexer allows invalid integer literals, like `0x`

2018-06-25 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19018

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

   What|Removed |Added

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

--


[Issue 19018] Lexer allows invalid integer literals, like `0x`

2018-06-25 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19018

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

https://github.com/dlang/dmd/commit/37ff0dc4376b1617066be6435ac3cedd86f7cc7f
Fix Issue 19018 - deprecate invalid integer literal

https://github.com/dlang/dmd/commit/362f6c4f3c9c73a8e40a93bde1cbf792cd55dfdf
Merge pull request #8396 from kubo39/invalid-integer-literal

Fix Issue 19018 - lexer do not allow invalid integer literal
merged-on-behalf-of: Jacob Carlborg 

--


[Issue 18374] Add range functions to Nullable

2018-06-25 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18374

--- Comment #2 from Mitu  ---
(In reply to Seb from comment #1)
> Are you aware of the new `apply`?
> 
> https://dlang.org/changelog/2.080.0.html#std-typecons-nullable-apply
> 
> It still would be great to have Nullable and ranges working nicely together,
> but at least apply is a start.

I am, but it wasn't there the day I have created this issue.

apply() definitely does the trick. It still lacks one case though - when we
want to call the void function unless the value is null:

---
Nullable!int something;
something.apply!writeln;
---

I still think that Nullable as a range might be more powerful and its
integration with the range behavior might be save some LoC in some places, but
I cannot come up of an example now.

--