Commit graph

161 commits

Author SHA1 Message Date
Sönke Ludwig 8166b54b12 Let errors in generic visitors through.
Avoids the visit!() instantiation failing early and hiding the concrete source of the error.
2021-01-05 10:48:33 +01:00
Sönke Ludwig d4a55ea4c0 Add GitHub test action. 2021-01-05 10:48:16 +01:00
Leonid Kramer 2d903ddf21
Merge pull request #62 from s-ludwig/algebraic_shortcut
Add algebraic() as a quick way to make a TaggedAlgebraic from a TaggedUnion.
2020-10-03 14:36:44 +02:00
Sönke Ludwig 8f95f81040 Add algebraic() as a quick way to make a TaggedAlgebraic from a TaggedUnion. 2020-10-03 10:53:31 +02:00
Leonid Kramer c76f18a92d
Merge pull request #60 from s-ludwig/tohash
Add TaggedUnion.toHash.
2020-09-01 21:12:08 +02:00
Sönke Ludwig bde8e6eeff Add TaggedUnion.toHash.
Allows using TaggedUnions as associative array keys.
2020-08-28 15:44:36 +02:00
Sönke Ludwig 2875f53c1d
Merge pull request #59 from Geod24/preview-in
Add support for upcoming '-preview=in' switch
2020-08-15 09:42:08 +02:00
Geod24 51d1832290 Change hasType parameter from in to const scope
The two overloads (`in` and `in ref`) will conflict in the future.
To allow for `-preview=in` to be tested with many projects,
this simple fix can be applied. Later one, the overloads should
be merged into a single, `in` overload.
2020-08-15 16:35:53 +09:00
Leonid Kramer 49ab092d02
Merge pull request #58 from s-ludwig/nothrow_postblit
Add forceNothrowPostblit attribute.
2020-06-26 23:22:09 +02:00
Sönke Ludwig 0ed8847e31 Add forceNothrowPostblit attribute.
Enforces that TaggedUnion's postblit constructor is nothrow, raising an assertion error otherwise.
2020-06-26 22:36:44 +02:00
Sönke Ludwig d9e4e1f1af Bump meson project version number. 2020-05-12 14:32:17 +02:00
Sönke Ludwig cdee545d82
Merge pull request #57 from s-ludwig/fix_test_script_error
Fix unbound variable error in test script.
2020-05-12 14:30:21 +02:00
Sönke Ludwig 67ab369fc4 Fix unbound variable error in test script. 2020-05-12 14:24:26 +02:00
Sönke Ludwig 1cc98ac281 Update meson.build version number. 2020-05-12 12:19:35 +02:00
Sönke Ludwig 310d617e4e
Merge pull request #51 from Cogitri/bionic-ci
ci: install ninja via pip
2020-05-12 12:15:59 +02:00
Sönke Ludwig a265d75bad
Merge pull request #56 from drug007/patch-1
`TaggedUnion.toString` supports @safe
2020-05-12 12:15:22 +02:00
drug007 c30b17f3f4 TaggedUnion.toString supports @safe
Currently used `void delegate(const(char)[])` is not @safe by definition. In contrast `toString(W)` is able to deduce @safe-ty
2020-05-12 12:22:05 +03:00
Rasmus Thomsen 9281d8216a build: sync meson version back up to release version 2020-04-17 20:58:38 +02:00
Rasmus Thomsen a6ca315865 ci: enable use of meson again 2020-04-17 19:14:48 +02:00
Rasmus Thomsen f135c3dcb8 ci: install ninja via pip 2020-04-17 19:08:56 +02:00
Leonid Kramer 6ed851b336
Merge pull request #55 from s-ludwig/underscore_improvement
Provide nicer aliases for fields with trailing underscore.
2020-04-17 18:58:24 +02:00
Sönke Ludwig d50f507368 Provide nicer aliases for fields with trailing underscore. 2020-04-17 16:47:20 +02:00
Sönke Ludwig d24256a907
Merge pull request #54 from s-ludwig/disable_meson
Make meson test optional for now.
2020-04-09 21:34:12 +02:00
Sönke Ludwig bcf515c94a Make meson test optional for now. 2020-04-09 21:18:21 +02:00
Sönke Ludwig 7c0926d17b
Merge pull request #53 from s-ludwig/field_name_fix
Fix compile error when naming a TaggedUnion field "move".
2020-04-07 15:43:36 +02:00
Sönke Ludwig 7b34bdadde Fix compile error when naming a TaggedUnion field "move". 2020-04-06 13:45:16 +02:00
Sönke Ludwig a3078c34fc Fix another compile error related to generic visitors. 2020-04-04 15:15:53 +02:00
Sönke Ludwig ab3e8c5cf8
Merge pull request #50 from s-ludwig/fix_generic_visitor_error
Avoid instantiating generic visitor with types it cannot handle.
2020-04-04 13:47:13 +02:00
Sönke Ludwig 96bff347b5 Update build status badge to travis-ci-com 2020-04-04 12:34:49 +02:00
Sönke Ludwig 7a6da0ff79 Avoid instantiating generic visitor with types it cannot handle.
In cases where statically typed visitors need to be defined to avoid compile errors in a generic visitor, the generic one was still instantiated with the types already handled by the statically typed one(s), possibly resulting in a compile error.
2020-04-04 12:23:14 +02:00
Sönke Ludwig f9eb5878ad
Merge pull request #49 from Cogitri/meson
meson: fix build on macOS
2020-03-29 18:55:37 +02:00
Rasmus Thomsen 30b6690dca meson: fix build on macOS 2020-03-29 08:35:24 +02:00
Sönke Ludwig 7ce23e7a2e
Merge pull request #48 from Cogitri/meson
Add support for building with meson
2020-03-27 20:31:18 +01:00
Rasmus Thomsen 5c29d590c9 Add meson builds to CI 2020-03-26 11:07:03 +01:00
Rasmus Thomsen 2800c0ceb2 Add support for building with meson
Also fix an import in taggedalgebraic.d
2020-03-26 10:51:43 +01:00
Sönke Ludwig c658b37bdb
Merge pull request #46 from dukc/copyableUnits
Allowed copying of tagged unions containing unit values
2020-02-21 15:42:26 +01:00
dukc c42c9a4e57 Allowed copying of tagged unions containing unit values 2020-02-21 18:00:19 +02:00
Sönke Ludwig 30de5843ba
Merge pull request #45 from Geod24/dip1000
Enable dip1000, drop support for < 2.085.1, test on OSX
2020-02-11 09:40:33 +01:00
Geod24 7d47caa87d Enable dip1000, drop support for < 2.085.1, test on OSX 2020-02-04 13:45:42 +09:00
Sönke Ludwig fe2447f71a
Merge pull request #40 from schveiguy/addsafeonly
Add safeOnly UDA, associated tests. Fix issue with opUnary.
2019-12-01 18:17:41 +01:00
Steven Schveighoffer af42d78bf6 Add safeOnly UDA, associated tests. Fix issue with opUnary. 2019-12-01 10:54:07 -05:00
Leonid Kramer 80d8504a17
Merge pull request #43 from s-ludwig/visit_refactor
Fix "visit" instantiation conflict
2019-12-01 00:22:44 +01:00
Sönke Ludwig 73a494f0ae Include the whole API in package.d 2019-12-01 00:03:18 +01:00
Sönke Ludwig 8f425b37b5 Merge all visit() implementations into a single module.
Avoids template instantiation conflicts introduced by adding the second visit() in taggedalgebraic.taggedalgebraic. A compatibility alias is left in the taggedunion module to avoid breaking backwards compatibility.
2019-12-01 00:03:00 +01:00
Sönke Ludwig 44a2b970af
Merge pull request #42 from schveiguy/addvisit
Add forwarder for visit and tryVisit from TaggedUnion to TaggedAlgebraic
2019-11-30 16:24:36 +01:00
Sönke Ludwig a6d7a8b2ad
Merge pull request #41 from schveiguy/addgetbykind
Add access of value via Kind enum. Fixes #38.
2019-11-30 16:14:08 +01:00
Steven Schveighoffer 4bcd34d417 Add forwarder for visit and tryVisit from TaggedUnion to TaggedAlgebraic 2019-11-30 09:53:45 -05:00
Steven Schveighoffer c322e43fd4 Add access of value via Kind enum. Fixes #38. 2019-11-30 09:30:29 -05:00
Sönke Ludwig 3d0305da16
Merge pull request #37 from schveiguy/addNullHandling
Allow typeof(null) to provide constructors and opAssign for TaggedUnion.
2019-11-01 09:00:47 +01:00
Steven Schveighoffer f0d324f43f Allow typeof(null) to provide constructors and opAssign for TaggedUnion.
Fixes #36.
2019-10-30 18:12:50 -04:00