Skip to content

Commit 6ed389c

Browse files
authored
Merge pull request #2257 from MartinNowak/merge_stable
Merge remote-tracking branch 'upstream/stable' into merge_stable
2 parents 658c314 + 660ab8e commit 6ed389c

File tree

4 files changed

+49
-13
lines changed

4 files changed

+49
-13
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.078.3
1+
2.079.0

changelog/2.079.0_pre.dd renamed to changelog/2.079.0.dd

Lines changed: 45 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ $(VERSION Mar 01, 2018, =================================================,
66

77
$(BUGSTITLE_TEXT_HEADER Compiler changes,
88

9+
$(LI $(RELATIVE_LINK2 argument-mismatch,Argument mismatch errors have been improved))
910
$(LI $(RELATIVE_LINK2 comma-deprecation-error,The deprecation period of using the result of comma expression has ended))
1011
$(LI $(RELATIVE_LINK2 default_after_variadic,Function parameters with default values are now allowed after variadic template parameters))
1112
$(LI $(RELATIVE_LINK2 deprecate_delete,The `delete` keyword has been deprecated.))
@@ -19,7 +20,7 @@ $(LI $(RELATIVE_LINK2 fix18219,Fix Issue 18219 - Private import inside struct le
1920
$(LI $(RELATIVE_LINK2 fix18361,Fix issue 18361 - Ddoc ability to opt-out of automatic keyword highlighting in running text))
2021
$(LI $(RELATIVE_LINK2 fix8207,D ABI change on Win32 and OSX targets))
2122
$(LI $(RELATIVE_LINK2 hexstrings,HexString literals are deprecated.))
22-
$(LI $(RELATIVE_LINK2 includeimports,Added the -i command line option to automatically include imports))
23+
$(LI $(RELATIVE_LINK2 includeimports,Added the `-i` command line option to automatically include imports))
2324
$(LI $(RELATIVE_LINK2 json_includes,Added `-Xi=<name>` to include more fields in the JSON output))
2425
$(LI $(RELATIVE_LINK2 lambdacomp,Lambda comparison using `__traits(isSame, ...)`))
2526
$(LI $(RELATIVE_LINK2 lld_mingw,Windows: Visual C++ and the Windows SDK are no longer required to build 64-bit executables))
@@ -65,6 +66,33 @@ $(CHANGELOG_SEP_HEADER_TEXT)
6566

6667
$(BUGSTITLE_TEXT_BODY Compiler changes,
6768

69+
$(LI $(LNAME2 argument-mismatch,Argument mismatch errors have been improved)
70+
$(P
71+
$(P `dmd` now shows which argument failed to match a parameter with an explanatory error message.)
72+
)
73+
---
74+
void fill(ref char[16] buf, char c);
75+
76+
void main()
77+
{
78+
fill("1234567890123456", '*');
79+
80+
const char[16] s;
81+
fill(s, '*');
82+
}
83+
---
84+
$(P
85+
$(P Output:)
86+
$(CONSOLE
87+
fillchar.d(5): Error: function `fillchar.fill(ref char[16] buf, char c)` is not callable using argument types `(string, char)`
88+
fillchar.d(5): cannot pass rvalue argument `"1234567890123456"` of type `string` to parameter `ref char[16] buf`
89+
fillchar.d(8): Error: function `fillchar.fill(ref char[16] buf, char c)` is not callable using argument types `(const(char[16]), char)`
90+
fillchar.d(8): cannot pass argument `s` of type `const(char[16])` to parameter `ref char[16] buf`
91+
)
92+
$(P Note: Currently this change doesn't apply when the function has overloads.)
93+
)
94+
)
95+
6896
$(LI $(LNAME2 comma-deprecation-error,The deprecation period of using the result of comma expression has ended)
6997
$(P
7098
Comma expressions have proven to be a frequent source of confusion, and bugs.
@@ -422,17 +450,17 @@ Use $(LINK2 https://dlang.org/phobos/std_conv.html#hexString, `std.conv.hexStrin
422450
)
423451
)
424452

425-
$(LI $(LNAME2 includeimports,Added the -i command line option to automatically include imports)
453+
$(LI $(LNAME2 includeimports,Added the `-i` command line option to automatically include imports)
426454
$(P
427-
Added the command line option -i which causes the compiler to treat imported modules as if they were given on the command line. The option also accepts "module patterns" that include/exclude modules based on their name. For example, the following will include all modules whose names start with `foo`, except for those that start with `foo.bar`:
455+
Added the command line option `-i` which causes the compiler to treat imported modules as if they were given on the command line. The option also accepts "module patterns" that include/exclude modules based on their name. For example, the following will include all modules whose names start with `foo`, except for those that start with `foo.bar`:
428456
)
429457

430458
$(P
431459
$(CONSOLE dmd -i=foo -i=-foo.bar)
432460
)
433461

434462
$(P
435-
The option -i by itself is equivalent to:
463+
The option `-i` by itself is equivalent to:
436464
)
437465

438466
$(P
@@ -1031,7 +1059,7 @@ void main()
10311059
.map!(a => a * 2) // 0 4 8
10321060
.tee!writeln
10331061
.sum
1034-
.reverseArgs!writefln("Sum: %d"); // 18
1062+
.writefln!"Sum: %d"; // 18
10351063
}
10361064
---
10371065

@@ -1108,7 +1136,7 @@ assert(sharedFLObj.deallocate(b));
11081136
$(LI $(LNAME2 std-file-readText,readText now checks BOMs)
11091137
$(P
11101138
$(REF readText, std, file) now checks for a
1111-
$(HTTP https://en.wikipedia.org/wiki/Byte_order_mark, BOM). If a BOM is present
1139+
$(HTTPS en.wikipedia.org/wiki/Byte_order_mark, BOM). If a BOM is present
11121140
and it is for UTF-8, UTF-16, or UTF-32, $(REF readText, std, file) verifies
11131141
that it matches the requested string type and the endianness of the machine,
11141142
and if there is a mismatch, a $(REF UTFException, std, utf) is thrown without
@@ -1134,8 +1162,8 @@ the cast would throw an Error, killing the program.
11341162

11351163
$(LI $(LNAME2 std-parallelism-fold,`fold` is added to `std.parallelism.TaskPool`)
11361164
$(P
1137-
$(REF fold, std, parallelism, TaskPool) is functionally equivalent to
1138-
$(REF_ALTTEXT `reduce`, reduce, std, parallelism, TaskPool) except the range
1165+
$(REF TaskPool.fold, std, parallelism) is functionally equivalent to
1166+
$(REF_ALTTEXT TaskPool.reduce, reduce, std, parallelism) except the range
11391167
parameter comes first and there is no need to use $(REF_ALTTEXT
11401168
`tuple`,tuple,std,typecons) for multiple seeds.
11411169
)
@@ -1406,7 +1434,6 @@ $(LI $(BUGZILLA 18480): [Reg 2.079] dmd hangs with self-alias declaration)
14061434
)
14071435
$(BUGSTITLE_BUGZILLA DMD Compiler bugs,
14081436

1409-
$(LI $(BUGZILLA 2789): Functions overloads are not checked for conflicts)
14101437
$(LI $(BUGZILLA 8207): OS X: Should extern$(LPAREN)D$(RPAREN) symbols include another underscore?)
14111438
$(LI $(BUGZILLA 8687): Variadic templates do not work properly with default arguments)
14121439
$(LI $(BUGZILLA 9433): Deprecate delete)
@@ -1445,6 +1472,7 @@ $(BUGSTITLE_BUGZILLA DMD Compiler enhancements,
14451472
$(LI $(BUGZILLA 6549): Implement contracts without implementation.)
14461473
$(LI $(BUGZILLA 11529): Unclear error message when rvalue is passed as `ref')
14471474
$(LI $(BUGZILLA 11714): Improve error message for wrongly initialized thread-local class instances)
1475+
$(LI $(BUGZILLA 13855): Allow multiple selective imports from different modules in a single import statement)
14481476
$(LI $(BUGZILLA 16492): support @nogc in debug{} blocks)
14491477
$(LI $(BUGZILLA 17899): Cannot initialise contextless delegate at compile time)
14501478
$(LI $(BUGZILLA 18053): Use stdint.h mangling for int64_t/uint64_t when mangling D long/ulong)
@@ -1516,7 +1544,9 @@ $(BUGSTITLE_BUGZILLA Druntime bugs,
15161544
$(LI $(BUGZILLA 18240): core.stdc.wchar_ wmemset, etc. should be pure)
15171545
$(LI $(BUGZILLA 18247): core.stdc.math functions that never set errno should be pure)
15181546
$(LI $(BUGZILLA 18279): rt.util.utf does not properly reserve buffer in toUTF16/toUTF16z)
1547+
$(LI $(BUGZILLA 18300): core.demangle demangling of really long symbol fails)
15191548
$(LI $(BUGZILLA 18409): DScanner SEGFAULTS on CircleCI)
1549+
$(LI $(BUGZILLA 18531): core.exception.RangeError@src/core/demangle.d$(LPAREN)216$(RPAREN): Range violation)
15201550
)
15211551
$(BUGSTITLE_BUGZILLA dlang.org bugs,
15221552

@@ -1536,13 +1566,17 @@ $(LI $(BUGZILLA 18337): https://dlang.org/spec/operatoroverloading.html missing
15361566
$(LI $(BUGZILLA 18379): [404 Not Found] Foundation Donate page not found)
15371567
$(LI $(BUGZILLA 18383): Front page blog section is only partially filled.)
15381568
)
1569+
$(BUGSTITLE_BUGZILLA Tools bugs,
1570+
1571+
$(LI $(BUGZILLA 18208): demangle RangeError@src/core/demangle.d$(LPAREN)230$(RPAREN))
1572+
)
15391573
$(BUGSTITLE_BUGZILLA Installer bugs,
15401574

15411575
$(LI $(BUGZILLA 15131): curl.lib is not available in 32 bit mscoff format)
15421576
$(LI $(BUGZILLA 18510): [Beta 2.079] lld-link.exe fails to open obj file in subpath)
15431577
)
15441578
)
1545-
$(D_CONTRIBUTORS_HEADER 77)
1579+
$(D_CONTRIBUTORS_HEADER 78)
15461580
$(D_CONTRIBUTORS
15471581
$(D_CONTRIBUTOR acehreli)
15481582
$(D_CONTRIBUTOR aG0aep6G)
@@ -1559,6 +1593,7 @@ $(D_CONTRIBUTORS
15591593
$(D_CONTRIBUTOR Basile Burg)
15601594
$(D_CONTRIBUTOR Bastiaan Veelo)
15611595
$(D_CONTRIBUTOR BBasile)
1596+
$(D_CONTRIBUTOR Brad Roberts)
15621597
$(D_CONTRIBUTOR carblue)
15631598
$(D_CONTRIBUTOR Daniel Kozak)
15641599
$(D_CONTRIBUTOR Diederik de Groot)

download.dd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,8 +204,8 @@ Macros:
204204

205205
DMDV2=$(LATEST)
206206

207-
_=BETA=$(COMMENT $0)
208-
BETA=$0
207+
BETA=$(COMMENT $0)
208+
_=BETA=$0
209209
B_DMDV2=2.079.0
210210
B_SUFFIX=rc.1
211211

posix.mak

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -630,6 +630,7 @@ $(DMD) : ${DMD_DIR}
630630

631631
$(DMD_LATEST) : ${DMD_LATEST_DIR}
632632
${MAKE} --directory=${DMD_LATEST_DIR}/src -f posix.mak AUTO_BOOTSTRAP=1
633+
sed -i -e "s|../druntime/import |../druntime-${LATEST}/import |" -e "s|../phobos |../phobos-${LATEST} |" $@.conf
633634

634635
dmd-prerelease : $(STD_DDOC_PRERELEASE) druntime-target $G/changelog/next-version
635636
$(MAKE) AUTO_BOOTSTRAP=1 --directory=$(DMD_DIR) -f posix.mak html $(DDOC_VARS_PRERELEASE_HTML)

0 commit comments

Comments
 (0)