How to have strongly typed numerical values?
anonymous
anonymous at example.com
Thu Sep 6 06:41:04 PDT 2012
On Thursday, 6 September 2012 at 12:22:08 UTC, David Nadlinger
wrote:
> Can you elaborate on that? I must admit that I didn't actively
> work on std.units for quite some while now, as general interest
> in it seemed to have faded (I'm glad to be proven wrong,
> though), but adding quantities of the same type should
> definitely work.
Maybe I'm missing something fundamental, but this little test
fails:
---
auto foo = baseUnit!"foo";
auto foo2 = foo + foo;
---
Error: incompatible types for ((foo) + (foo)):
'BaseUnit!("foo",null)' and 'BaseUnit!("foo",null)'
> And what do you mean by "different scopes"? If the unit types
> are different, the quantity types should be different as well.
In the following, S1.foo and S2.foo are of the same type. I think
they shouldn't be; just like S1.Bar and S2.Bar are different
types.
---
struct S1 {enum foo = baseUnit!"foo"; struct Bar {}}
struct S2 {enum foo = baseUnit!"foo"; struct Bar {}}
---
More information about the Digitalmars-d-learn
mailing list