Starting with dmd-2.104.0, and at least in dmd-2.105.0, but not dmd-2.103.1, fluent-asserts no longer compiles. The problem appears to originate from using the concatenate operator ~ on types string and const(dstring), expecting an implicit conversion. The changelog does not appear to document such a change: https://dlang.org/changelog/2.104.0.html
(dmd-2.104.0) fluent-asserts$ dub test
Generating test runner configuration 'fluent-asserts-test-unittest' for 'unittest' (library).
Starting Performing "unittest" build using /home/vnayar/dlang/dmd-2.104.0/linux/bin64/dmd for x86_64.
Up-to-date ddmp 0.0.1-0.dev.3: target for configuration [library] is up to date.
Up-to-date either 1.1.3: target for configuration [unittest] is up to date.
Up-to-date libdparse 0.20.0: target for configuration [library] is up to date.
Building fluent-asserts 1.0.0+commit.2.gb6c6bc1: building configuration [fluent-asserts-test-unittest]
source/fluentasserts/core/message.d(184,27): Error: constructor `fluentasserts.core.message.Message.this(Type type, string text)` is not callable using argument types `(Type, dstring)`
source/fluentasserts/core/message.d(184,27): cannot pass argument `diff.text` of type `dstring` to parameter `string text`
source/fluentasserts/core/message.d(188,27): Error: constructor `fluentasserts.core.message.Message.this(Type type, string text)` is not callable using argument types `(Type, dstring)`
source/fluentasserts/core/message.d(188,27): cannot pass argument `diff.text` of type `dstring` to parameter `string text`
source/fluentasserts/core/message.d(192,27): Error: constructor `fluentasserts.core.message.Message.this(Type type, string text)` is not callable using argument types `(Type, dstring)`
source/fluentasserts/core/message.d(192,27): cannot pass argument `diff.text` of type `dstring` to parameter `string text`
source/fluentasserts/core/results.d(303,18): Error: incompatible types for `(diffBegin ~ diffDelete) ~ (d.text)`: `string` and `const(dstring)`
source/fluentasserts/core/results.d(305,18): Error: incompatible types for `(diffBegin ~ diffInsert) ~ (d.text)`: `string` and `const(dstring)`
source/fluentasserts/core/results.d(307,18): Error: cannot implicitly convert expression `d.text` of type `const(dstring)` to `string`
source/fluentasserts/core/results.d(321,24): Error: function `fluentasserts.core.results.ResultPrinter.primary(string)` is not callable using argument types `(dstring)`
source/fluentasserts/core/results.d(321,24): cannot pass argument `diff.text` of type `dstring` to parameter `string`
source/fluentasserts/core/results.d(325,31): Error: function `fluentasserts.core.results.ResultPrinter.successReverse(string)` is not callable using argument types `(dstring)`
source/fluentasserts/core/results.d(325,31): cannot pass argument `diff.text` of type `dstring` to parameter `string`
source/fluentasserts/core/results.d(329,30): Error: function `fluentasserts.core.results.ResultPrinter.dangerReverse(string)` is not callable using argument types `(dstring)`
source/fluentasserts/core/results.d(329,30): cannot pass argument `diff.text` of type `dstring` to parameter `string`
Starting with dmd-2.104.0, and at least in dmd-2.105.0, but not dmd-2.103.1, fluent-asserts no longer compiles. The problem appears to originate from using the concatenate operator
~
on typesstring
andconst(dstring)
, expecting an implicit conversion. The changelog does not appear to document such a change: https://dlang.org/changelog/2.104.0.html