[Issue 14488] Deprecate Imaginary and complex types
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Wed Jan 27 18:31:27 UTC 2021
https://issues.dlang.org/show_bug.cgi?id=14488
--- Comment #5 from Iain Buclaw <ibuclaw at gdcproject.org> ---
Initial steps to get the ball rolling on this:
1. Remove all complex and imaginary unit-tests from druntime and phobos.
2. Remove/Replace the druntime compiler-library helpers.
- cdouble *_memset128(cdouble *p, cdouble value, size_t count)
- creal *_memset160(creal *p, creal value, size_t count)
3. Remove built-in RTTI support in the compiler and run-time library.
4. Add deprecations for internal complex/imaginary helpers
(core.internal.convert, core.internal.array.comparison, etc...)
5. Remove all support that was deprecated in (4).
6. Turn on -transition=complex in the compiler by default, so the deprecation
warning is the default, deprecate the command-line switch.
7. Add -preview=complex (https://github.com/dlang/dmd/pull/12069). Though this
could be done earlier.
8. Add new run-time support code for the "new" complex types for C ABI
compatibility, this would have to be conditionally compiled in, likely using
mixins to avoid triggering parser errors.
9. Make -preview=complex the default, deprecate the command-line switch.
10. Remove residual scaffolding around the deprecation phase of
complex/imaginary numbers.
... or ...
Jump straight to (6) and remove everything from druntime/phobos immediately.
--
More information about the Digitalmars-d-bugs
mailing list