On Sunday, 17 April 2016 at 09:44:30 UTC, Ilya Yaroshenko wrote:
This would be a real pain for a user if he supports few compiler versions.

This approach is wrong because you assume there won't be changes to how module works while in experimental and during transition from experimental to stable. There will be changes, so supporting older compiler versions like that is just asking for bugs. Module name change is there so that you won't be using broken api by mistake.

Instead you should do the following:
-develop experimental module in std.experimental.sci.*
-do breaking changes to those modules during several release cycles -when module reaches stability move the module to std.sci.*; and create a polyfill package for it inside dub registry, like https://code.dlang.org/packages/experimental_allocator , so that older compilers can use the latest std.sci.* module instead of broken std.experimental.sci.* shipped with old compiler.


Reply via email to