Protected means that only members of the enclosing class or any
- classes derived
- from that class, or members and functions in the same module
+ classes derived from that class,
+ or members and functions in the same module
as the enclosing class, can access the member.
+ If accessing a protected instance member through a derived class member
+ function,
+ that member can only be accessed for the object instance
+ which is the 'this' object for the member function call.
Protected module members are illegal.
@@ -293,11 +293,20 @@
If a function in a derived class overrides a function in its
super class, then only one of
- the in contracts of the base functions must be satisified
+ the in contracts of the function and its base functions
+ must be satisified.
Overriding
functions then becomes a process of loosening the in
contracts.
+
+ A function without an in contract means that any values
+ of the function parameters are allowed. This implies that if any
+ function in an inheritance heirarchy has no in contract,
+ then in contracts on functions overriding it have no useful
+ effect.
+
+
Conversely, all of the out contracts needs to be satisified, so
overriding functions becomes a processes of tightening the out
contracts.
diff -uNr dmd-0.141/dmd/html/d/dcompiler.html dmd-0.142/dmd/html/d/dcompiler.html
--- dmd-0.141/dmd/html/d/dcompiler.html 2005-11-29 14:40:14.000000000 +0100
+++ dmd-0.142/dmd/html/d/dcompiler.html 2005-12-29 11:05:56.000000000 +0100
@@ -25,7 +25,7 @@
| Comments
-
+
+ When an import declaration is processed in a D source file,
+ the compiler searches for the D source file corresponding to
+ the import, and processes that source file to extract the
+ information needed from it. Alternatively, the compiler can
+ instead look for a corresponding D interface file.
+ A D interface file contains only what an import of the module
+ needs, rather than the whole implementation of that module.
+
+
+ The advantages of using a D interface file for imports rather
+ than a D source file are:
+
+
D interface files are often significantly smaller and much
+ faster to process than the corresponding D source file.
+
They can be used to hide the source code, for example,
+ one can ship an object code library along with D interface files
+ rather than the complete source code.
+
+
+ D interface files can be created by the compiler from a
+ D source file by using the -H switch to the compiler.
+ D interface files have the .di file extension.
+ When the compiler resolves an import declaration, it first looks
+ for a .di D interface file, then it looks for a D source
+ file.
+
+
+ D interface files bear some analogous similarities to C++
+ header files. But they are not required in the way that C++
+ header files are, and they are not part of the D language.
+ They are a feature of the compiler, and serve only as an optimization
+ of the build process.
+
Bugs
These are some of the major bugs:
diff -uNr dmd-0.141/dmd/html/d/iasm.html dmd-0.142/dmd/html/d/iasm.html
--- dmd-0.141/dmd/html/d/iasm.html 2005-11-29 01:35:32.000000000 +0100
+++ dmd-0.142/dmd/html/d/iasm.html 2005-12-28 16:50:14.000000000 +0100
@@ -25,7 +25,7 @@
| Comments
-
Last update Tue Nov 29 01:35:30 2005
+
Last update Wed Dec 28 16:50:12 2005
@@ -256,7 +256,7 @@
dl 0x1234; // insert bytes 0x34, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
df 1.234; // insert float 1.234
dd 1.234; // insert double 1.234
- de 1.234; // insert extended 1.234
+ de 1.234; // insert real 1.234
db "abc"; // insert bytes 0x61, 0x62, and 0x63
ds "abc"; // insert bytes 0x61, 0x00, 0x62, 0x00, 0x63, 0x00
}
@@ -436,7 +436,7 @@
dword ptrfloat ptrdouble ptr
- extended ptr
+ real ptr
In cases where the operand size is ambiguous, as in:
diff -uNr dmd-0.141/dmd/html/d/phobos/object.html dmd-0.142/dmd/html/d/phobos/object.html
--- dmd-0.141/dmd/html/d/phobos/object.html 2005-12-04 17:18:28.000000000 +0100
+++ dmd-0.142/dmd/html/d/phobos/object.html 2005-12-29 11:06:52.000000000 +0100
@@ -24,7 +24,7 @@
| D
| Comments
-
Converts the UTF-8 string s into a null-terminated string in a Windows
8-bit character set.
diff -uNr dmd-0.141/dmd/html/d/phobos/std_zip.html dmd-0.142/dmd/html/d/phobos/std_zip.html
--- dmd-0.141/dmd/html/d/phobos/std_zip.html 2005-12-04 17:18:28.000000000 +0100
+++ dmd-0.142/dmd/html/d/phobos/std_zip.html 2005-12-29 11:06:52.000000000 +0100
@@ -24,7 +24,7 @@
| D
| Comments
-