On Tuesday, 30 March 2021 at 19:33:31 UTC, novice2 wrote:
On Tuesday, 30 March 2021 at 19:12:29 UTC, Ali Çehreli wrote:
"Derived type" is used in the context of object oriented programming at least in D

Sorry, i use wrong termin.
I just want create new type Tnew, based on exist type Tbase.
Tnew have same allowed values, same properties, same allowed operations as Tbase.
Compiler should distinguish New from Tbase.
Allowed implicit cast Tnew to Tbase.
Prohibited implicit cast Tbase to Tnew.
Allowed exlicit cast Tbase to Tnew.

That's precisely what the alias this feature is intended to do.

https://dlang.org/spec/class.html#alias-this

Thanks, this is what i want.
I just think that Typedef do it for me, hide this boilerplait code.

That's not the intended purpose of the Typedef template. Its documentation explicitly says it "allows the creation of a unique type which is based on an existing type". The keyword there is *unique*.

Reply via email to