mogu via Digitalmars-d | 26 Jul 07:12 2016

Template argument deduction for class templates adopted in cpp17


And we have DIP40:

Is someone there to renew it in new DIPs repo? T.T

Overflows in Phobos

In poking around in Phobos, I found a number of cases like:

where overflow is possible in calculating storage sizes. Since allocation 
normally happens in  <at> trusted code, these are a safety/security hole.

When reviewing Phobos submissions, please check for this sort of thing.

Zardoz via Digitalmars-d | 25 Jul 17:51 2016

D APT repository fails

I keep seeing along this last month many problems with the D APT 
There is any one cheeking the health of these repository ?

Now I get an error with 
Wrong header line.

Using a phrase where I live, fails more that a fair shotgun.

Cauterite via Digitalmars-d | 25 Jul 17:48 2016

typeid() on class instances discards immutable

I noticed that for some class `T`, `typeid(new immutable(T)) != 
typeid(immutable(T))`. The immutability is lost in the object's 
typeinfo, but retained in the class's typeinfo.


Is this intended behaviour or a bug? I couldn't find any mention 
of it in the language docs.

Mengu via Digitalmars-d | 25 Jul 12:49 2016

Re: asd

On Monday, 25 July 2016 at 09:10:05 UTC, ahahah wrote:
> haro


Re: asd

On Monday, 25 July 2016 at 09:10:05 UTC, ahahah wrote:
> haro

go to hell, big bloody idiot.

Re: asd

On 25/07/16 12:10, ahahah wrote:
> haro

And people say chivalry has disappeared from the world....

bitwise via Digitalmars-d | 25 Jul 00:13 2016

<at> gc attribute for bypassign <at> nogc

Any thoughts on an  <at> gc attribute for bypassing  <at> nogc?

As much as I like to cringe at the GC when I'm using C#, I can't 
ignore my level of productivity, as it compares to projects I've 
done in C++.

If I had to write a butter-smooth AAA game, it may be a problem, 
but at present, my thoughts on a few small jitters here and there 
are....who cares?

As long as GC usage is kept to a minimum, things will usually 
work ok fine.

For example, in a game, I may create a script with an "update" 
method that gets called each frame. I wouldn't want people(or 
myself) accidentally allocating memory here, possible 30-60 times 
per second, so I would  make that function  <at> nogc. But, there 
*will* be cases where I actually want to allocate something, for 
example, to spawn a piece of cake.


class Cake{}

class MyScript {
     SysTime when;
     this() { when = Clock.currTime + 5.seconds; }
     void update()  <at> nogc {
         // ...
         if(Clock.currTime >= when) {
(Continue reading)

add attributes to debug

To allow for different debug versions without having to go full 
blown version().

 <at> mem debug do something memory wise

 <at> see debug write a message to console

Then these different attributed versions can be disabled. it 
could be something like

version(debug(see)) = none;


static if (hasAttribute(debug,  <at> mem)) disable  <at> mem;

or from the command line or whatever.

What makes this useful is we can easily assign different debug 
types(could be generalized to other versions(release, etc)) and 
not have to use version(longer and requires defines of the 

Re: Referencing chapters from the language specification in code.

On 7/24/2016 10:10 AM, Iain Buclaw via Digitalmars-d wrote:
> Given the freely available language specification linked below [1].
> The order that all entries are listed in haven't changed since D1, or
> at least to my memory.  So would it be considered reasonably safe to
> reference these parts in code?

Yes. I'd even use clickable URLs.

And yes, the URLs and locations in the spec may change. I don't think this is a 
big problem, though. Worst case is having to eventually update the code URL.

Please help to move forward with ndslice


I found a way how to correctly implement multidimensional 
functional map for ndslices and for packed ndslices (tensors 
composed of tensors). It allows
  1. a compiler to use vectorisation with SIMD instructions like 
`fabs` or `sqrt` for example. But first [1] should be merged
  2. to manage mapped ndslices as common ndslices.
In additional the future ndmap abstraction has zero computational 

The are 6 ndslice PRs, which should be merged first [1]. Please 
help to review and merge this. They does not contain any new API 
names, but optimizations and small API enhancements, which was 
delayed before because I wanted to get enough experience with 
ndslice first.

ndslice is in experimental and it is the most generic package in 
Phobos along with new regex. Regex has a lot CTFE-able magic, 
ndslice operates with abstract entities. Feel free to ask 
questions if you want to have more detailed imagination about 


Thank you and best regards,

(Continue reading)