From 3e499e58571dd4c44d6c186ab5ec12f70b08dbc2 Mon Sep 17 00:00:00 2001 From: Sebastian Wilzbach Date: Sun, 31 Dec 2017 16:42:39 +0100 Subject: [PATCH 1/2] Fix CircleCi DUB config --- .circleci/run.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.circleci/run.sh b/.circleci/run.sh index f917fc985..3605276f9 100755 --- a/.circleci/run.sh +++ b/.circleci/run.sh @@ -5,7 +5,7 @@ set -uexo pipefail HOST_DMD_VER=2.072.2 # same as in dmd/src/posix.mak DSCANNER_DMD_VER=2.077.0 # dscanner needs a more up-to-date version CURL_USER_AGENT="CirleCI $(curl --version | head -n 1)" -DUB=${DUB:-$HOME/dlang/dub/dub} +DUB=${DUB:-dub} N=2 CIRCLE_NODE_INDEX=${CIRCLE_NODE_INDEX:-0} BUILD="debug" @@ -127,6 +127,8 @@ coverage() # extract publictests and run them independently publictests() { + source "$(CURL_USER_AGENT=\"$CURL_USER_AGENT\" bash ~/dlang/install.sh dmd-$HOST_DMD_VER --activate)" + # checkout a specific version of https://github.com/dlang/tools if [ ! -d ../tools ] ; then clone https://github.com/dlang/tools.git ../tools master From 233e90bdc12f8f6e7f5a3b05471a09dc9ec6a68c Mon Sep 17 00:00:00 2001 From: Sebastian Wilzbach Date: Sun, 7 Jan 2018 16:17:02 +0100 Subject: [PATCH 2/2] Add PHOBOSSRC urls to std.experimental --- .../allocator/building_blocks/affix_allocator.d | 5 ++++- .../allocator/building_blocks/allocator_list.d | 5 ++++- .../allocator/building_blocks/bitmapped_block.d | 5 ++++- .../allocator/building_blocks/bucketizer.d | 5 ++++- .../building_blocks/fallback_allocator.d | 5 ++++- .../allocator/building_blocks/free_list.d | 5 ++++- .../allocator/building_blocks/free_tree.d | 5 ++++- .../allocator/building_blocks/kernighan_ritchie.d | 5 ++++- .../allocator/building_blocks/null_allocator.d | 5 ++++- .../allocator/building_blocks/package.d | 3 +++ .../allocator/building_blocks/quantizer.d | 5 ++++- .../allocator/building_blocks/region.d | 5 ++++- .../allocator/building_blocks/scoped_allocator.d | 5 ++++- .../allocator/building_blocks/segregator.d | 5 ++++- .../allocator/building_blocks/stats_collector.d | 15 +++++++++------ std/experimental/allocator/common.d | 3 +++ std/experimental/allocator/gc_allocator.d | 9 +++++++-- std/experimental/allocator/mallocator.d | 7 ++++++- std/experimental/allocator/mmap_allocator.d | 8 ++++---- std/experimental/allocator/showcase.d | 3 ++- std/experimental/allocator/typed.d | 3 +++ std/experimental/checkedint.d | 2 ++ std/experimental/logger/core.d | 5 ++++- std/experimental/logger/filelogger.d | 5 ++++- std/experimental/logger/multilogger.d | 5 ++++- std/experimental/logger/nulllogger.d | 5 ++++- std/experimental/logger/package.d | 3 +++ 27 files changed, 110 insertions(+), 31 deletions(-) diff --git a/std/experimental/allocator/building_blocks/affix_allocator.d b/std/experimental/allocator/building_blocks/affix_allocator.d index 869c21129..6042fe539 100644 --- a/std/experimental/allocator/building_blocks/affix_allocator.d +++ b/std/experimental/allocator/building_blocks/affix_allocator.d @@ -1,4 +1,7 @@ -/// +// Written in the D programming language. +/** +Source: $(PHOBOSSRC std/experimental/allocator/building_blocks/_affix_allocator.d) +*/ module std.experimental.allocator.building_blocks.affix_allocator; /** diff --git a/std/experimental/allocator/building_blocks/allocator_list.d b/std/experimental/allocator/building_blocks/allocator_list.d index 8c00eefdb..1c51469b8 100644 --- a/std/experimental/allocator/building_blocks/allocator_list.d +++ b/std/experimental/allocator/building_blocks/allocator_list.d @@ -1,4 +1,7 @@ -/// +// Written in the D programming language. +/** +Source: $(PHOBOSSRC std/experimental/allocator/building_blocks/_allocator_list.d) +*/ module std.experimental.allocator.building_blocks.allocator_list; import std.experimental.allocator.building_blocks.null_allocator; diff --git a/std/experimental/allocator/building_blocks/bitmapped_block.d b/std/experimental/allocator/building_blocks/bitmapped_block.d index e7b2fc825..75318ef84 100644 --- a/std/experimental/allocator/building_blocks/bitmapped_block.d +++ b/std/experimental/allocator/building_blocks/bitmapped_block.d @@ -1,4 +1,7 @@ -/// +// Written in the D programming language. +/** +Source: $(PHOBOSSRC std/experimental/allocator/building_blocks/_bitmapped_block.d) +*/ module std.experimental.allocator.building_blocks.bitmapped_block; import std.experimental.allocator.building_blocks.null_allocator; diff --git a/std/experimental/allocator/building_blocks/bucketizer.d b/std/experimental/allocator/building_blocks/bucketizer.d index a182d2d99..567f2f6ca 100644 --- a/std/experimental/allocator/building_blocks/bucketizer.d +++ b/std/experimental/allocator/building_blocks/bucketizer.d @@ -1,4 +1,7 @@ -/// +// Written in the D programming language. +/** +Source: $(PHOBOSSRC std/experimental/allocator/building_blocks/_bucketizer.d) +*/ module std.experimental.allocator.building_blocks.bucketizer; /** diff --git a/std/experimental/allocator/building_blocks/fallback_allocator.d b/std/experimental/allocator/building_blocks/fallback_allocator.d index edc5e361e..3af5b7037 100644 --- a/std/experimental/allocator/building_blocks/fallback_allocator.d +++ b/std/experimental/allocator/building_blocks/fallback_allocator.d @@ -1,4 +1,7 @@ -/// +// Written in the D programming language. +/** +Source: $(PHOBOSSRC std/experimental/allocator/building_blocks/_fallback_allocator.d) +*/ module std.experimental.allocator.building_blocks.fallback_allocator; import std.experimental.allocator.common; diff --git a/std/experimental/allocator/building_blocks/free_list.d b/std/experimental/allocator/building_blocks/free_list.d index 7defd6258..f0fcee976 100644 --- a/std/experimental/allocator/building_blocks/free_list.d +++ b/std/experimental/allocator/building_blocks/free_list.d @@ -1,4 +1,7 @@ -/// +// Written in the D programming language. +/** +Source: $(PHOBOSSRC std/experimental/allocator/building_blocks/_free_list.d) +*/ module std.experimental.allocator.building_blocks.free_list; import std.experimental.allocator.common; diff --git a/std/experimental/allocator/building_blocks/free_tree.d b/std/experimental/allocator/building_blocks/free_tree.d index fc77aab76..1bb3c8ea6 100644 --- a/std/experimental/allocator/building_blocks/free_tree.d +++ b/std/experimental/allocator/building_blocks/free_tree.d @@ -1,4 +1,7 @@ -/// +// Written in the D programming language. +/** +Source: $(PHOBOSSRC std/experimental/allocator/building_blocks/_free_tree.d) +*/ module std.experimental.allocator.building_blocks.free_tree; import std.experimental.allocator.common; diff --git a/std/experimental/allocator/building_blocks/kernighan_ritchie.d b/std/experimental/allocator/building_blocks/kernighan_ritchie.d index 26fe6768f..071ad43af 100644 --- a/std/experimental/allocator/building_blocks/kernighan_ritchie.d +++ b/std/experimental/allocator/building_blocks/kernighan_ritchie.d @@ -1,4 +1,7 @@ -/// +// Written in the D programming language. +/** +Source: $(PHOBOSSRC std/experimental/allocator/building_blocks/_kernighan_ritchie.d) +*/ module std.experimental.allocator.building_blocks.kernighan_ritchie; import std.experimental.allocator.building_blocks.null_allocator; diff --git a/std/experimental/allocator/building_blocks/null_allocator.d b/std/experimental/allocator/building_blocks/null_allocator.d index e9c56a316..30737a343 100644 --- a/std/experimental/allocator/building_blocks/null_allocator.d +++ b/std/experimental/allocator/building_blocks/null_allocator.d @@ -1,4 +1,7 @@ -/// +// Written in the D programming language. +/** +Source: $(PHOBOSSRC std/experimental/allocator/building_blocks/_null_allocator.d) +*/ module std.experimental.allocator.building_blocks.null_allocator; /** diff --git a/std/experimental/allocator/building_blocks/package.d b/std/experimental/allocator/building_blocks/package.d index d55a16b4a..c21276b23 100644 --- a/std/experimental/allocator/building_blocks/package.d +++ b/std/experimental/allocator/building_blocks/package.d @@ -1,3 +1,4 @@ +// Written in the D programming language. /** $(H2 Assembling Your Own Allocator) @@ -280,6 +281,8 @@ $(COMMENT $(TR $(TDC2 InternalPointersTree) $(TD Adds support for resolving inte pointers on top of another allocator.))) ) +Source: $(PHOBOSSRC std/experimental/allocator/building_blocks/_package.d) + Macros: MYREF2 = $(REF_SHORT $1, std,experimental,allocator,building_blocks,$2) MYREF3 = $(REF_SHORT $1, std,experimental,allocator,$2) diff --git a/std/experimental/allocator/building_blocks/quantizer.d b/std/experimental/allocator/building_blocks/quantizer.d index dc2774811..bdb2506b3 100644 --- a/std/experimental/allocator/building_blocks/quantizer.d +++ b/std/experimental/allocator/building_blocks/quantizer.d @@ -1,4 +1,7 @@ -/// +// Written in the D programming language. +/** +Source: $(PHOBOSSRC std/experimental/allocator/building_blocks/_quantizer.d) +*/ module std.experimental.allocator.building_blocks.quantizer; import std.experimental.allocator.common; diff --git a/std/experimental/allocator/building_blocks/region.d b/std/experimental/allocator/building_blocks/region.d index 440c2704e..82e550e3c 100644 --- a/std/experimental/allocator/building_blocks/region.d +++ b/std/experimental/allocator/building_blocks/region.d @@ -1,4 +1,7 @@ -/// +// Written in the D programming language. +/** +Source: $(PHOBOSSRC std/experimental/allocator/building_blocks/_region.d) +*/ module std.experimental.allocator.building_blocks.region; import std.experimental.allocator.building_blocks.null_allocator; diff --git a/std/experimental/allocator/building_blocks/scoped_allocator.d b/std/experimental/allocator/building_blocks/scoped_allocator.d index a0212a9a7..4516b83c6 100644 --- a/std/experimental/allocator/building_blocks/scoped_allocator.d +++ b/std/experimental/allocator/building_blocks/scoped_allocator.d @@ -1,4 +1,7 @@ -/// +// Written in the D programming language. +/** +Source: $(PHOBOSSRC std/experimental/allocator/building_blocks/_scoped_allocator.d) +*/ module std.experimental.allocator.building_blocks.scoped_allocator; import std.experimental.allocator.common; diff --git a/std/experimental/allocator/building_blocks/segregator.d b/std/experimental/allocator/building_blocks/segregator.d index 71fe2b061..42e71a515 100644 --- a/std/experimental/allocator/building_blocks/segregator.d +++ b/std/experimental/allocator/building_blocks/segregator.d @@ -1,4 +1,7 @@ -/// +// Written in the D programming language. +/** +Source: $(PHOBOSSRC std/experimental/allocator/building_blocks/_segregator.d) +*/ module std.experimental.allocator.building_blocks.segregator; import std.experimental.allocator.common; diff --git a/std/experimental/allocator/building_blocks/stats_collector.d b/std/experimental/allocator/building_blocks/stats_collector.d index 39e35ac92..483f9baa5 100644 --- a/std/experimental/allocator/building_blocks/stats_collector.d +++ b/std/experimental/allocator/building_blocks/stats_collector.d @@ -4,15 +4,18 @@ Allocator that collects useful statistics about allocations, both global and per calling point. The statistics collected can be configured statically by choosing combinations of `Options` appropriately. -Example: ----- -import std.experimental.allocator.gc_allocator : GCAllocator; -import std.experimental.allocator.building_blocks.free_list : FreeList; -alias Allocator = StatsCollector!(GCAllocator, Options.bytesUsed); ----- +Source: $(PHOBOSSRC std/experimental/allocator/building_blocks/_stats_collector.d) */ module std.experimental.allocator.building_blocks.stats_collector; +/// +@safe unittest +{ + import std.experimental.allocator.gc_allocator : GCAllocator; + import std.experimental.allocator.building_blocks.free_list : FreeList; + alias Allocator = StatsCollector!(GCAllocator, Options.bytesUsed); +} + import std.experimental.allocator.common; /** diff --git a/std/experimental/allocator/common.d b/std/experimental/allocator/common.d index 72698d535..0c4a57541 100644 --- a/std/experimental/allocator/common.d +++ b/std/experimental/allocator/common.d @@ -1,9 +1,12 @@ +// Written in the D programming language. /** Utility and ancillary artifacts of `std.experimental.allocator`. This module shouldn't be used directly; its functionality will be migrated into more appropriate parts of `std`. Authors: $(HTTP erdani.com, Andrei Alexandrescu), Timon Gehr (`Ternary`) + +Source: $(PHOBOSSRC std/experimental/allocator/_common.d) */ module std.experimental.allocator.common; import std.algorithm.comparison, std.traits; diff --git a/std/experimental/allocator/gc_allocator.d b/std/experimental/allocator/gc_allocator.d index cb509c944..7954d10c2 100644 --- a/std/experimental/allocator/gc_allocator.d +++ b/std/experimental/allocator/gc_allocator.d @@ -1,10 +1,15 @@ -/// +// Written in the D programming language. +/** +D's built-in garbage-collected allocator. + +Source: $(PHOBOSSRC std/experimental/allocator/_gc_allocator.d) +*/ module std.experimental.allocator.gc_allocator; import std.experimental.allocator.common; /** D's built-in garbage-collected allocator. - */ +*/ struct GCAllocator { import core.memory : GC; diff --git a/std/experimental/allocator/mallocator.d b/std/experimental/allocator/mallocator.d index e62b9211e..739eb84eb 100644 --- a/std/experimental/allocator/mallocator.d +++ b/std/experimental/allocator/mallocator.d @@ -1,4 +1,9 @@ -/// +// Written in the D programming language. +/** +The C heap allocator. + +Source: $(PHOBOSSRC std/experimental/allocator/_mallocator.d) +*/ module std.experimental.allocator.mallocator; import std.experimental.allocator.common; diff --git a/std/experimental/allocator/mmap_allocator.d b/std/experimental/allocator/mmap_allocator.d index fc94749ef..530ee4159 100644 --- a/std/experimental/allocator/mmap_allocator.d +++ b/std/experimental/allocator/mmap_allocator.d @@ -1,9 +1,10 @@ -/// +// Written in the D programming language. +/** +Source: $(PHOBOSSRC std/experimental/allocator/_mmap_allocator.d) +*/ module std.experimental.allocator.mmap_allocator; -// MmapAllocator /** - Allocator (currently defined only for Posix and Windows) using $(D $(LINK2 https://en.wikipedia.org/wiki/Mmap, mmap)) and $(D $(LUCKY munmap)) directly (or their Windows equivalents). There is no @@ -12,7 +13,6 @@ $(D mmap(null, s, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0)), and each call to $(D deallocate(b)) issues $(D munmap(b.ptr, b.length)). So $(D MmapAllocator) is usually intended for allocating large chunks to be managed by fine-granular allocators. - */ struct MmapAllocator { diff --git a/std/experimental/allocator/showcase.d b/std/experimental/allocator/showcase.d index 6985e5dad..709146186 100644 --- a/std/experimental/allocator/showcase.d +++ b/std/experimental/allocator/showcase.d @@ -1,9 +1,10 @@ +// Written in the D programming language. /** - Collection of typical and useful prebuilt allocators using the given components. User code would typically import this module and use its facilities, or import individual heap building blocks and assemble them. +Source: $(PHOBOSSRC std/experimental/allocator/_showcase.d) */ module std.experimental.allocator.showcase; diff --git a/std/experimental/allocator/typed.d b/std/experimental/allocator/typed.d index 92828f387..b68acb907 100644 --- a/std/experimental/allocator/typed.d +++ b/std/experimental/allocator/typed.d @@ -1,3 +1,4 @@ +// Written in the D programming language. /** This module defines `TypedAllocator`, a statically-typed allocator that aggregates multiple untyped allocators and uses them depending on the static @@ -5,6 +6,8 @@ properties of the types allocated. For example, distinct allocators may be used for thread-local vs. thread-shared data, or for fixed-size data (`struct`, `class` objects) vs. resizable data (arrays). +Source: $(PHOBOSSRC std/experimental/allocator/_typed.d) + Macros: T2=$(TR $(D $1) $(TD $(ARGS $+))) */ diff --git a/std/experimental/checkedint.d b/std/experimental/checkedint.d index 2fe5301ec..7d09111f9 100644 --- a/std/experimental/checkedint.d +++ b/std/experimental/checkedint.d @@ -1,3 +1,4 @@ +// Written in the D programming language. /** $(SCRIPT inhibitQuickIndex = 1;) @@ -187,6 +188,7 @@ and `>>>=` is larger than the largest value representable by `T`.) ) ) +Source: $(PHOBOSSRC std/experimental/_checkedint.d) */ module std.experimental.checkedint; import std.traits : isFloatingPoint, isIntegral, isNumeric, isUnsigned, Unqual; diff --git a/std/experimental/logger/core.d b/std/experimental/logger/core.d index 93c8c819c..ff5eac4e2 100644 --- a/std/experimental/logger/core.d +++ b/std/experimental/logger/core.d @@ -1,4 +1,7 @@ -/// +// Written in the D programming language. +/** +Source: $(PHOBOSSRC std/experimental/logger/_core.d) +*/ module std.experimental.logger.core; import core.sync.mutex : Mutex; diff --git a/std/experimental/logger/filelogger.d b/std/experimental/logger/filelogger.d index 00d2d34b4..aa884a7d0 100644 --- a/std/experimental/logger/filelogger.d +++ b/std/experimental/logger/filelogger.d @@ -1,4 +1,7 @@ -/// +// Written in the D programming language. +/** +Source: $(PHOBOSSRC std/experimental/logger/_filelogger.d) +*/ module std.experimental.logger.filelogger; import std.experimental.logger.core; diff --git a/std/experimental/logger/multilogger.d b/std/experimental/logger/multilogger.d index ed9cfd9b1..e7c518345 100644 --- a/std/experimental/logger/multilogger.d +++ b/std/experimental/logger/multilogger.d @@ -1,4 +1,7 @@ -/// +// Written in the D programming language. +/** +Source: $(PHOBOSSRC std/experimental/logger/_multilogger.d) +*/ module std.experimental.logger.multilogger; import std.experimental.logger.core; diff --git a/std/experimental/logger/nulllogger.d b/std/experimental/logger/nulllogger.d index fa511be2b..8d3e9ad5f 100644 --- a/std/experimental/logger/nulllogger.d +++ b/std/experimental/logger/nulllogger.d @@ -1,4 +1,7 @@ -/// +// Written in the D programming language. +/** +Source: $(PHOBOSSRC std/experimental/logger/_nulllogger.d) +*/ module std.experimental.logger.nulllogger; import std.experimental.logger.core; diff --git a/std/experimental/logger/package.d b/std/experimental/logger/package.d index b9a075c9f..4d417392c 100644 --- a/std/experimental/logger/package.d +++ b/std/experimental/logger/package.d @@ -1,3 +1,4 @@ +// Written in the D programming language. /** Implements logging facilities. @@ -176,6 +177,8 @@ $(D ArrayLogger) contains an array of $(D Logger) and also propagates log calls to its stored $(D Logger). The $(D NullLogger) does not do anything. It will never log a message and will never throw on a log call with $(D LogLevel) $(D error). + +Source: $(PHOBOSSRC std/experimental/logger/_package.d) */ module std.experimental.logger;