Commit graph

63 commits

Author SHA1 Message Date
Sönke Ludwig 89e90b962f Fix unit test. See #2. 2016-01-27 23:11:32 +01:00
Sönke Ludwig df23609f3d Fix "statement not reachable" errors. 2015-12-06 14:57:30 +01:00
Sönke Ludwig 96f18356f7 Output a proper error message when using hasType with an invalid type. Fixes #1. 2015-08-27 11:27:57 +02:00
Sönke Ludwig 84d6c8da80 Rename "type" to "kind".
Although there will be situations where the enum names equal the name of the types stored in a TaggedAlgebraic, "type" is often not the right term. It's also possible to define multiple fields of the same type, but with different names. "Kind" is used now as a more generic alternative.
2015-08-27 11:00:16 +02:00
Sönke Ludwig d02baa57ac Add opBinaryRight forwarding. 2015-08-17 15:53:47 +02:00
Sönke Ludwig f8835076f8 Improve operator forwarding.
- Added @disableIndex to disable opIndex forwarding for certain fields
- Added field/properly forwarding
- Fixed binary operator overloading
- Allow implicit conversions when trying to match return types to TaggedAlgebraic during operator return type deduction
2015-08-17 15:49:32 +02:00
Sönke Ludwig 8fba150b03 Add limited support for operations where the RHS is a TaggedAlgebraic. 2015-08-14 11:24:54 +02:00
Sönke Ludwig d38c8d472d Add some more tests. 2015-08-13 23:43:09 +02:00
Sönke Ludwig f06a793dae Add support for opCall forwarding and add default assignment operator. 2015-08-13 16:11:30 +02:00
Sönke Ludwig d901bfa810 Add UFCS functions get and hasType. 2015-08-13 15:59:50 +02:00
Sönke Ludwig e53ae02ec6 Fix postblit/destructor handling and partially fix compilation on DMD 2.067.1.
Also allow to use a struct instead of a union to pass the fields to TaggedAlgebraic (because union doesn't allow fields with postblit/destructor).
2015-08-13 15:30:32 +02:00
Sönke Ludwig ed96f7652f Comment-in descruct() call. 2015-08-13 12:53:31 +02:00
Sönke Ludwig 2e8d0b29dd Initial commit of a first working version. 2015-08-13 11:54:39 +02:00