mirror of
https://github.com/dlang/dmd.git
synced 2025-04-25 20:50:41 +03:00
purge changelog
This commit is contained in:
parent
d5fa6e0629
commit
5ed96a59b3
4 changed files with 0 additions and 47 deletions
|
@ -1,15 +0,0 @@
|
|||
Copying from `const(void)[]` to `void[]` is disallowed with `-preview=fixImmutableConv`
|
||||
|
||||
If `const(void)[]` data contains tail `const` pointers, copying to `void[]`
|
||||
can subsequently violate `const` data:
|
||||
---
|
||||
void f(int*[] a, const int*[] b)
|
||||
{
|
||||
void[] va = a;
|
||||
const void[] vb = b;
|
||||
va[] = vb[]; // fills `a` with pointers to const
|
||||
*a[0] = 0; // const data mutated
|
||||
}
|
||||
---
|
||||
Copying `vb` data to `va` is no longer allowed with the
|
||||
`-preview=fixImmutableConv` switch.
|
|
@ -1,12 +0,0 @@
|
|||
Import expressions are now treated as hex strings
|
||||
|
||||
While [Import expressions](https://dlang.org/spec/expression.html#import_expressions) are typed as `string`, they are also used to embed binary files.
|
||||
By treating them the same as hex strings, they will implicitly convert to arrays of integral types other than `char`.
|
||||
|
||||
---
|
||||
// Formerly, a cast was required:
|
||||
immutable ubyte[] iconImg = cast(immutable ubyte[]) import("icon.png");
|
||||
|
||||
// Now, it implicitly converts to integral arrays:
|
||||
immutable ubyte[] iconImg = import("icon.png");
|
||||
---
|
|
@ -1,5 +0,0 @@
|
|||
New trait isCOMClass to detect if a type is a COM class
|
||||
|
||||
A COM class inherits from a possibly user defined interface called ``IUnknown``.
|
||||
To detect this during compilation use the trait ``__traits(isCOMClass, Type)``.
|
||||
Or for during runtime use the ``TypeInfo_Class`` flag.
|
|
@ -1,15 +0,0 @@
|
|||
`bool` values other than 0 or 1 are not `@safe`
|
||||
|
||||
The spec [was updated](https://dlang.org/spec/type.html#bool)
|
||||
(for 2.109) so that only 0 and 1 are
|
||||
[safe values](https://dlang.org/spec/function.html#safe-values)
|
||||
for `bool`. This means that reading a `bool` value whose underlying byte representation
|
||||
has other bits set is implementation-defined and should be avoided.
|
||||
Consequently the following are deprecated in `@safe` code:
|
||||
|
||||
* `void` initialization of booleans (since 2.109)
|
||||
* Reading a `bool` field from a union (since 2.109)
|
||||
* Runtime casting a dynamic array to a `bool` dynamic array type
|
||||
* Runtime casting a `bool` dynamic array to a tail mutable dynamic array type
|
||||
* Casting a pointer to a `bool` pointer type
|
||||
* Casting a `bool` pointer to a tail mutable pointer type
|
Loading…
Add table
Add a link
Reference in a new issue