mirror of
https://github.com/dlang/dmd.git
synced 2025-04-26 21:21:48 +03:00
Merge remote-tracking branch 'upstream/stable' into merge_stable
This commit is contained in:
commit
70435ccd94
6 changed files with 1 additions and 71 deletions
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
|||
v2.075.0-rc1
|
||||
v2.075.0
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
Comparison of values belonging to different enums is deprecated.
|
||||
|
||||
This change does not affect anonymous enumerations.
|
||||
|
||||
---
|
||||
enum Status
|
||||
{
|
||||
good,
|
||||
bad
|
||||
}
|
||||
enum OtherStatus
|
||||
{
|
||||
ok
|
||||
no,
|
||||
}
|
||||
|
||||
// Deprecated - Even though both good and ok evaluate to 0 they belong to
|
||||
// different enumeration types
|
||||
static assert(Status.good == OtherStatus.ok);
|
||||
---
|
|
@ -1,23 +0,0 @@
|
|||
add __traits(getFunctionVariadicStyle, f)
|
||||
|
||||
$(LINK2 https://issues.dlang.org/show_bug.cgi?id=17421, Bugzilla 17421)
|
||||
|
||||
---
|
||||
import core.stdc.stdarg;
|
||||
|
||||
void novar() {}
|
||||
extern(C) void cstyle(int, ...) {}
|
||||
extern(C++) void cppstyle(int, ...) {}
|
||||
void dstyle(...) {}
|
||||
void typesafe(int[]...) {}
|
||||
|
||||
static assert(__traits(getFunctionVariadicStyle, novar) == "none");
|
||||
static assert(__traits(getFunctionVariadicStyle, cstyle) == "stdarg");
|
||||
static assert(__traits(getFunctionVariadicStyle, cppstyle) == "stdarg");
|
||||
static assert(__traits(getFunctionVariadicStyle, dstyle) == "argptr");
|
||||
static assert(__traits(getFunctionVariadicStyle, typesafe) == "typesafe");
|
||||
|
||||
static assert(__traits(getFunctionVariadicStyle, (int[] a...) {}) == "typesafe");
|
||||
static assert(__traits(getFunctionVariadicStyle, typeof(cstyle)) == "stdarg");
|
||||
---
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
add __traits(getParameterStorageClasses, f, i)
|
||||
|
||||
$(LINK2 https://issues.dlang.org/show_bug.cgi?id=17425, Bugzilla 17425)
|
||||
|
||||
---
|
||||
ref int foo(return ref const int* p, scope int* a, out int b, lazy int c);
|
||||
|
||||
pragma(msg, __traits(getParameterStorageClasses, foo, 0));
|
||||
|
||||
static assert(__traits(getParameterStorageClasses, foo, 0)[0] == "return");
|
||||
static assert(__traits(getParameterStorageClasses, foo, 0)[1] == "ref");
|
||||
|
||||
pragma(msg, __traits(getParameterStorageClasses, foo, 1));
|
||||
static assert(__traits(getParameterStorageClasses, foo, 1)[0] == "scope");
|
||||
static assert(__traits(getParameterStorageClasses, foo, 2)[0] == "out");
|
||||
static assert(__traits(getParameterStorageClasses, typeof(&foo), 3)[0] == "lazy");
|
||||
---
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
Deprecate empty statements made by semicolon
|
||||
|
||||
Creating empty statements using semicolons, for which
|
||||
was previously issued a warning is now causing a deprecation
|
||||
hint.
|
|
@ -1,4 +0,0 @@
|
|||
The deprecated built-in array properties `.sort` and `.reverse` were removed.
|
||||
|
||||
Usage of those built-in array properties was deprecated since 2.072.0 and they have now been removed.
|
||||
Use $(REF sort, std, algorithm, sorting) and $(REF reverse, std, algorithm, mutation) instead.
|
Loading…
Add table
Add a link
Reference in a new issue