This enables the test suite to build with the -property switch enabled.
std.cpuid: vendor()/processor() have not been converted to properties in accordance to core.cpuid.
std.xml: Element.text() cannot be a property due to the optional parameter.
There are still a few left which cannot be enabled due to compiler bugs
or other parts of Phobos not being correctly annotated, but we're
getting there. ;) The remaining ones are all clearly marked with TODO
comments.
Unfortunately, I was unable to do so for dirName() due to its
first statement:
enum currentDir = cast(C[]) ".";
The reason is that it is not possible to create an enum of an
inout type.
The pragmas have not been as effective as we might have liked, since
they only work with templates and can't tell you where in your code you
need to make changes, and they seemed to have been more annoying to
programmers than helpful, so we're going to discontinue them. We'll
leave them in for stuff that's actually been deprecated until deprecated
has been improved enough to take a message, but we'll leave "scheduled
for deprecation" messages to the documentation and changelog.
- Changed global fixed-length string constants to manifest constants.
- Changed generic functions' parameters from String to Char[] to deal with fixed-length strings.
- Explicitly typed local constants (enums) in dirname().
- Fixed bugzilla 4260: windows & basename.
- Made dirname() tolerant of excess path separators (e.g. "/usr//src").
- Fixed dirname() to deal with Windows' "current directory of a drive" case (e.g. "C:.").
- Made basename() more generic.
- Added more unittests for dirname() and basename().
- Changed version(Win32) to version(Windows) as the module doesn't depend on pointer size.
- Added guard assertion for unknown platforms.
* Transformed std.c.linux.* into wrappers around core.sys.posix modules where appropriate.
* Added std.c.osx as the OSX equivalent of std.c.linux.
* Added std.c.osx.socket for OSX-specific socket declarations not covered by the Posix spec.
* Altered all makefiles to zip, etc, the new std.c.osx package.
* Removed gcstats. Garbage collector statistics will be avaialable in durintime's 'memory' module.
* Removed object.d. This module is replaced by the object.d provided by druntime.
* Removed std.array. To trap an array bounds error, import 'exception' from druntime and catch ArrayBoundsException.
* Removed std.asserterror. To trap an asertion failure, import 'exception' from druntime and catch AssertException.
* Removed std.gc. To interact with the garbage collector, import 'memory' from druntime.
* Removed std.hiddenfunc. No equivalent exception is currently exposed by druntime, but if one is exposed it will be called HiddenFuncException and be declared in 'exception'.
* Removed std.moduleinit. druntime declares ModuleInfo in object.d, so it is implicitly availble without importing.
* Removed std.outofmemory. To trap an out of memory error, import 'exception' from druntime and catch OutOfMemoryException.
* Removed std.switcherr. To trap a switch error, import 'exception' from druntime and catch SwitchException.
* Removed std.synchro. This functionality will exist within druintime.
* Removed std.thread. A Thread class is available within druntime's 'thread' module. An interface comparison will be provided separately.
* Removed std.typeinfo. The classes defined in this package are for runtime use and should not be visible to the user.
The prior version of Phobos has been archived in tags/phobos-2.019 if needed.