@@ -46,9 +46,9 @@ $(LI $(RELATIVE_LINK2 std-algorithm-iteration-substitute,`std.algorithm.searchin
46
46
$(LI $(RELATIVE_LINK2 std-bigint-divmod,`divMod` was added to std.bigint.))
47
47
$(LI $(RELATIVE_LINK2 std-bigint-getDigit,`getDigit` Was Added To `std.bigint`))
48
48
$(LI $(RELATIVE_LINK2 std-exception-enforce,std.exception.enforce can now be used as an eponymous template to create your own enforce function))
49
+ $(LI $(RELATIVE_LINK2 std-experimental-all,`import std.experimental.all` as a global convenience import))
49
50
$(LI $(RELATIVE_LINK2 std-experimental-allocator-rciallocator,Replace `std.experimental.allocator.IAllocator` with `std.experimental.allocator.RCIAllocator`))
50
51
$(LI $(RELATIVE_LINK2 std-experimental-allocator-rcisharedallocator,Replace `std.experimental.allocator.ISharedAllocator` with `std.experimental.allocator.RCISharedAllocator`))
51
- $(LI $(RELATIVE_LINK2 std-experimental-scripting,`import std.experimental.scripting` as a global convenience import))
52
52
$(LI $(RELATIVE_LINK2 std-file-readText,readText now checks BOMs))
53
53
$(LI $(RELATIVE_LINK2 std-parallelism-fold,`fold` is added to `std.parallelism.TaskPool`))
54
54
$(LI $(RELATIVE_LINK2 std-range-nullsink,`nullSink` was added to `std.range`))
@@ -1001,6 +1001,54 @@ With this change, $(REF enforce, std,exception) is a strict superset of $(REF en
1001
1001
)
1002
1002
)
1003
1003
1004
+ $(LI $(LNAME2 std-experimental-all,`import std.experimental.all` as a global convenience import)
1005
+ $(P
1006
+ $(MREF std,experimental,all) allows convenient use of all Phobos modules
1007
+ with one import:
1008
+ )
1009
+
1010
+ ---
1011
+ import std.experimental.all;
1012
+ void main()
1013
+ {
1014
+ 10.iota.map!log.sum.writeln;
1015
+ }
1016
+ ---
1017
+
1018
+ $(P
1019
+ For short scripts a lot of imports are often needed to get all the
1020
+ modules from the standard library.
1021
+ With this release it's possible to use `import std.experimental.all` for importing the entire
1022
+ standard library at once. This can be used for fast prototyping or REPLs:
1023
+ )
1024
+
1025
+ ---
1026
+ import std.experimental.all;
1027
+ void main()
1028
+ {
1029
+ 6.iota
1030
+ .filter!(a => a % 2) // 0 2 4
1031
+ .map!(a => a * 2) // 0 4 8
1032
+ .tee!writeln
1033
+ .sum
1034
+ .reverseArgs!writefln("Sum: %d"); // 18
1035
+ }
1036
+ ---
1037
+
1038
+ $(P
1039
+ As before, symbol conflicts will only arise if a symbol with collisions is used.
1040
+ In this case, $(LINK2 $(ROOT)spec/module.html#static_imports, static imports) or
1041
+ $(LINK2 $(ROOT)spec/module.html#renamed_imports, renamed imports) can be used
1042
+ to uniquely select a specific symbol.
1043
+ )
1044
+
1045
+ $(P
1046
+ The baseline cost for `import std.experimental.all`
1047
+ is less than half a second (varying from system to system) and
1048
+ work is in progress to reduce this overhead even further.
1049
+ )
1050
+ )
1051
+
1004
1052
$(LI $(LNAME2 std-experimental-allocator-rciallocator,Replace `std.experimental.allocator.IAllocator` with `std.experimental.allocator.RCIAllocator`)
1005
1053
$(P
1006
1054
$(B Motivation):
@@ -1057,54 +1105,6 @@ assert(sharedFLObj.deallocate(b));
1057
1105
------
1058
1106
)
1059
1107
1060
- $(LI $(LNAME2 std-experimental-scripting,`import std.experimental.scripting` as a global convenience import)
1061
- $(P
1062
- $(MREF std,experimental,scripting) allows convenient use of all Phobos modules
1063
- with one import:
1064
- )
1065
-
1066
- ---
1067
- import std.experimental.scripting;
1068
- void main()
1069
- {
1070
- 10.iota.map!log.sum.writeln;
1071
- }
1072
- ---
1073
-
1074
- $(P
1075
- For short scripts a lot of imports are often needed to get all the
1076
- modules from the standard library.
1077
- With this release it's possible to use `import std.experimental.scripting` for importing the entire
1078
- standard library at once. This can be used for fast prototyping or REPLs:
1079
- )
1080
-
1081
- ---
1082
- import std.experimental.scripting;
1083
- void main()
1084
- {
1085
- 6.iota
1086
- .filter!(a => a % 2) // 0 2 4
1087
- .map!(a => a * 2) // 0 4 8
1088
- .tee!writeln
1089
- .sum
1090
- .reverseArgs!writefln("Sum: %d"); // 18
1091
- }
1092
- ---
1093
-
1094
- $(P
1095
- As before, symbol conflicts will only arise if a symbol with collisions is used.
1096
- In this case, $(LINK2 $(ROOT)spec/module.html#static_imports, static imports) or
1097
- $(LINK2 $(ROOT)spec/module.html#renamed_imports, renamed imports) can be used
1098
- to uniquely select a specific symbol.
1099
- )
1100
-
1101
- $(P
1102
- The baseline cost for `import std.experimental.scripting`
1103
- is less than half a second (varying from system to system) and
1104
- work is in progress to reduce this overhead even further.
1105
- )
1106
- )
1107
-
1108
1108
$(LI $(LNAME2 std-file-readText,readText now checks BOMs)
1109
1109
$(P
1110
1110
$(REF readText, std, file) now checks for a
@@ -1398,9 +1398,11 @@ $(LI $(BUGZILLA 17970): shared struct destructor doesn't compile anymore)
1398
1398
$(LI $(BUGZILLA 18030): Segmentation fault with __traits$(LPAREN)getProtection$(RPAREN) on template function.)
1399
1399
$(LI $(BUGZILLA 18093): [Reg 2.071] MSCOFF: dmd crashes when overriding a C++ method in a mixin template)
1400
1400
$(LI $(BUGZILLA 18097): [REG2.077] Unittest function is undefined identifier)
1401
+ $(LI $(BUGZILLA 18296): [Reg2.078.1] invalid code with coverage and copy construction)
1401
1402
$(LI $(BUGZILLA 18322): void fun$(LPAREN)string file=__FILE_FULL_PATH__$(RPAREN)$(LPAREN)$(RPAREN) returns relative path $(LPAREN)pointing to nowhere$(RPAREN))
1402
1403
$(LI $(BUGZILLA 18430): isSame is wrong for non global lambdas)
1403
1404
$(LI $(BUGZILLA 18469): [REG 2.079-b1] Segfault when trying to get type of __dtor.opCall)
1405
+ $(LI $(BUGZILLA 18480): [Reg 2.079] dmd hangs with self-alias declaration)
1404
1406
)
1405
1407
$(BUGSTITLE_BUGZILLA DMD Compiler bugs,
1406
1408
@@ -1410,6 +1412,7 @@ $(LI $(BUGZILLA 8687): Variadic templates do not work properly with default argu
1410
1412
$(LI $(BUGZILLA 9433): Deprecate delete)
1411
1413
$(LI $(BUGZILLA 12511): static overloaded function is not accessible)
1412
1414
$(LI $(BUGZILLA 12901): Assignments to outside members in `in`/`out` contracts shouldn't be allowed)
1415
+ $(LI $(BUGZILLA 14147): Compiler crash on identical functions in a single module)
1413
1416
$(LI $(BUGZILLA 14907): DMD crash when using template name as a default value of template's typed argument)
1414
1417
$(LI $(BUGZILLA 15777): Premature expansion of overload set in tuples)
1415
1418
$(LI $(BUGZILLA 16042): Identifier on template arguments should consider eponymous member lookup)
@@ -1435,15 +1438,13 @@ $(LI $(BUGZILLA 18335): The D_ObjectiveC version identifier is not printed in ve
1435
1438
$(LI $(BUGZILLA 18364): header file generation doesn't print the package name in package$(LPAREN)XXX$(RPAREN))
1436
1439
$(LI $(BUGZILLA 18367): dmd should not segfault on -X with libraries, but no source files)
1437
1440
$(LI $(BUGZILLA 18429): alias this enum causes segmentation fault)
1441
+ $(LI $(BUGZILLA 18468): cannot use `synchronized {}` in @safe code)
1438
1442
)
1439
1443
$(BUGSTITLE_BUGZILLA DMD Compiler enhancements,
1440
1444
1441
1445
$(LI $(BUGZILLA 6549): Implement contracts without implementation.)
1442
1446
$(LI $(BUGZILLA 11529): Unclear error message when rvalue is passed as `ref')
1443
- $(LI $(BUGZILLA 11555): std.algorithm.reverse should return the just-reversed range)
1444
1447
$(LI $(BUGZILLA 11714): Improve error message for wrongly initialized thread-local class instances)
1445
- $(LI $(BUGZILLA 13855): Allow multiple selective imports from different modules in a single import statement)
1446
- $(LI $(BUGZILLA 15613): Parameter type mismatch error message are not very helpful)
1447
1448
$(LI $(BUGZILLA 16492): support @nogc in debug{} blocks)
1448
1449
$(LI $(BUGZILLA 17899): Cannot initialise contextless delegate at compile time)
1449
1450
$(LI $(BUGZILLA 18053): Use stdint.h mangling for int64_t/uint64_t when mangling D long/ulong)
@@ -1454,6 +1455,7 @@ $(LI $(BUGZILLA 18427): `Symbol FOO is not visible because it is privately impor
1454
1455
)
1455
1456
$(BUGSTITLE_BUGZILLA Phobos regressions,
1456
1457
1458
+ $(LI $(BUGZILLA 18114): [Reg 2.078] regex performance regression)
1457
1459
$(LI $(BUGZILLA 18316): std.net.curl.SMTP.mailTo fails to compile)
1458
1460
)
1459
1461
$(BUGSTITLE_BUGZILLA Phobos bugs,
@@ -1479,12 +1481,14 @@ $(LI $(BUGZILLA 18349): std/math.d$(LPAREN)543,33$(RPAREN): Deprecation: integra
1479
1481
$(LI $(BUGZILLA 18384): std.net.isemail is slow to import due to regex)
1480
1482
$(LI $(BUGZILLA 18397): Poor implementation of std.conv.hexString results in unintended bloat)
1481
1483
$(LI $(BUGZILLA 18434): BigInt gcd asserts when one argument is zero.)
1484
+ $(LI $(BUGZILLA 18492): DLang STL links are broken)
1482
1485
)
1483
1486
$(BUGSTITLE_BUGZILLA Phobos enhancements,
1484
1487
1485
1488
$(LI $(BUGZILLA 5489): std.typecons tuples dynamically iterable)
1486
1489
$(LI $(BUGZILLA 10828): datetime toString functions should accept sink)
1487
1490
$(LI $(BUGZILLA 11084): std.algorithm.scan)
1491
+ $(LI $(BUGZILLA 11555): std.algorithm.reverse should return the just-reversed range)
1488
1492
$(LI $(BUGZILLA 11747): Better error message with @disabled toString)
1489
1493
$(LI $(BUGZILLA 13632): Second argument for std.string.strip)
1490
1494
$(LI $(BUGZILLA 14767): Support CTFE of BigInt under x86)
@@ -1535,6 +1539,7 @@ $(LI $(BUGZILLA 18383): Front page blog section is only partially filled.)
1535
1539
$(BUGSTITLE_BUGZILLA Installer bugs,
1536
1540
1537
1541
$(LI $(BUGZILLA 15131): curl.lib is not available in 32 bit mscoff format)
1542
+ $(LI $(BUGZILLA 18510): [Beta 2.079] lld-link.exe fails to open obj file in subpath)
1538
1543
)
1539
1544
)
1540
1545
$(D_CONTRIBUTORS_HEADER 77)
0 commit comments