Deprecated language features

Iain Buclaw ibuclaw at ubuntu.com
Thu Feb 2 08:33:35 PST 2012


On 2 February 2012 15:46, Daniel Murphy <yebblies at nospamgmail.com> wrote:
> There are a bunch of features that are planned for removal, and some that
> are already deprecated, but no clear timeline for removal.  I'd like to make
> a comprehensive list, pick suitable durations, then I'll make a wiki page
> for this.
>
> What I've got so far is...
>
> Planned for deprecation:
> - float.min
> - complex and imaginary types
> - NCEG operators
> - array.sort and array.reverse
> - delete?
>
> Deprecated:
> - Using length inside index expressions
> - typedef
> - variable shadowing
> - invariant as an alias for immutable
> - derefencing arrays with *
> - delete aa[key] (same as aa.remove(key))
> - .offset
> - escape string literals
> - 'l' suffix for integer literals
> - octal literals
> - 'I' suffix for imaginary literals
> - html source files
> - Type.typeinfo syntax
> - base class protection
> - c-style function and array pointers
> - if (v; e) syntax
> - volatile statements
> - non-final switch statements without defaults
> - hiding base class functions (was previously only a run-time check)
>
> Any I've missed?  I'm thinking features should stay deprecated for around a
> year before being removed.
>
>

Some of these have been deprecated for at least a few...

I think should organise them in order of priority and attach an agreed
release version against them for the time they will be completely
removed.


Three things I can pluck out of that list that I'd like to see gone in
the next release if not sooner:

- The -v1 compiler switch (which I think only enables the use of === operator)
- volatile statements
- invariant as an alias for immutable


-- 
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';


More information about the Digitalmars-d mailing list