typedef behavior with @disable this()

Alex sascha.orlov at gmail.com
Sat Feb 10 13:18:28 UTC 2018


Do I overlook something?

/// --- code --- ///

import std.typecons;

void main(){}

static assert(!__traits( compiles, E()));
static assert(!__traits( compiles, MyE())); // line 6

struct E
{
	size_t dummy;
	@disable this();
	this(size_t val) { dummy = val; }
}

alias MyE = Typedef!E;

/// --- code ends --- ///

While line 5 does not compile as expected, due to disabled 
default constructor, the Typedef'd type does. Why?


More information about the Digitalmars-d-learn mailing list