digitalmars.D.learn - Static if to compare two types are the exact same
- Jonathan (5/5) Apr 06 2015 What's the best way to do this? I'm assuming this should be best
- Andrej Mitrovic via Digitalmars-d-learn (5/10) Apr 06 2015 I'm not even sure when or why this trait was introduced, but you could
- Jonathan (3/4) Apr 06 2015 Are static ifs always checked outside of runtime? Is it possible
- w0rp (4/8) Apr 07 2015 'static if' is always run at compile time, so it needs access to
- ketmar (8/14) Apr 06 2015 struct S {}
What's the best way to do this? I'm assuming this should be best practice: http://dlang.org/traits.html#isSame struct S { } writeln(__traits(isSame, S, S));
Apr 06 2015
On 4/6/15, Jonathan via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:What's the best way to do this? I'm assuming this should be best practice: http://dlang.org/traits.html#isSame struct S { } writeln(__traits(isSame, S, S));I'm not even sure when or why this trait was introduced, but you could use a simple is() expression for this, e.g.: static if (is(T == S)) { ... }
Apr 06 2015
Are static ifs always checked outside of runtime? Is it possible for a static if condition to be undeterminable outside of runtime, or would such a condition throw a compiler error?static if (is(T == V))
Apr 06 2015
On Tuesday, 7 April 2015 at 06:37:50 UTC, Jonathan wrote:'static if' is always run at compile time, so it needs access to compile time information. Fortunately, you can access quite a lot at compile time in D.Are static ifs always checked outside of runtime? Is it possible for a static if condition to be undeterminable outside of runtime, or would such a condition throw a compiler error?static if (is(T == V))
Apr 07 2015
On Mon, 06 Apr 2015 19:16:33 +0000, Jonathan wrote:What's the best way to do this? I'm assuming this should be best practice: http://dlang.org/traits.html#isSame =20 struct S { } writeln(__traits(isSame, S, S));struct S {} auto s0 =3D S(); auto s1 =3D S(); static if (is(typeof(s0) =3D=3D typeof(s1))) { pragma(msg, "Woe to the Republic."); } =
Apr 06 2015