Safe mode in D?
Max Samukha
maxsamukha at gmail.com
Fri Oct 18 12:46:43 PDT 2013
On Friday, 18 October 2013 at 19:28:35 UTC, Maxim Fomin wrote:
> On Friday, 18 October 2013 at 18:59:46 UTC, Andrei Alexandrescu
> wrote:
>>
>> I think one good compromise is to stick with the exact amount
>> of flow control we currently have in constructors (which is
>> primitive but quite adequate), and use that creatively. It's
>> already implemented and works, so the implementation costs of
>> applying it to other cases should be low.
>>
>> Andrei
>
> Do you mean preventing calling constructor (from another
> constructor) within one control branch? May be this will be
> case #13.
>
> import std.stdio;
>
> extern(C) void _D4main1A6__ctorMFiZC4main1A(A a, int i);
>
> class A
> {
> this(int i) { writeln("reached"); }
> this()
> {
> int i = 1;
> //if (i)
> // this(i); // Error: one path skips constructor
> if (i)
> _D4main1A6__ctorMFiZC4main1A(this, i);
> if (i)
> auto dg = __traits(getOverloads, this, "__ctor")[0](i);
> }
> }
>
> void main()
> {
> new A;
> }
Wanna talk about what can be done with reflection in "safe" C#?
More information about the Digitalmars-d
mailing list