Commit graph

698 commits

Author SHA1 Message Date
DoctorNoobingstoneIPresume
eb66705762 refCounted: unittest now also checks object destruction..
One of the `unittest`'s has been modified to also check that
a `File` object managed via `RefCounted!File` handles is deleted
when its last handle is destroyed;
2021-09-27 02:19:34 +03:00
Paul Backus
1984e8d2a9 Fix Issue 22325 - ReplaceType fails on templated type instantiated with void-returning function
Previously, when recursing into a type's template arguments,
ReplaceTypeUnless would mistakenly attempt to evaluate a template alias
parameter as an expression. In cases where the alias parameter was not a
valid expression or could not be evaluated at compile time, this caused
a compilation failure; in other cases, it caused ReplaceTypeUnless to
give an incorrect result.

This change makes ReplaceTypeUnless correctly treat template alias
parameters as aliases.
2021-09-20 21:42:31 +00:00
Martin Kinkelin
d0bf92cab7 std.typecons: Minimize redundant template declarations/instantiations wrt. Tuple
While glancing over the Tuple template, I've noticed that it uses the
anti-pattern of nested template declarations *not* depending on the
outer Tuple template parameters.
2021-09-17 04:38:55 +00:00
Luís Ferreira
d19c437da9
std.typecons: make Nullable payload void initialized
Signed-off-by: Luís Ferreira <contact@lsferreira.net>
2021-08-29 18:41:47 +01:00
Martin Nowak
31a946b999 Merge remote-tracking branch 'upstream/stable' into merge_stable
Conflicts:
	std/typecons.d
2021-08-09 22:41:03 +02:00
Mathis Beer
f0372ae659 Fix issue 22176: Revert 51bdf472df
Revert "Fix Issue 20552 - Deprecated Nullable.get warning with Appenders"
`Nullable.get` is removed anyways.
2021-08-07 17:11:55 +00:00
aG0aep6G
26bb8fcae4
add cast(void) to silence warnings in tests (#8169) 2021-07-20 08:19:00 +08:00
Martin Nowak
3fff60bc50 Merge remote-tracking branch 'upstream/stable' into merge_stable 2021-07-13 12:24:06 +02:00
Vladimir Panteleev
73e51d395e Fix Issue 22100 - Support chained assignment of Nullable 2021-07-05 16:23:44 +00:00
Vladimir Panteleev
7d666a26c0
Fix Issue 22101 - Nullable.get(fallback) cannot be used with non-@safe/pure/nothrow types 2021-07-05 07:35:03 +00:00
Nathan Sashihara
c441b2ad59 Fix 22093 - [Reg 2.097] std.typecons.RefCounted!T for struct T without an explicit toString or alias this previously could be converted to string even when uninitialized but now cannot 2021-06-30 05:51:01 +00:00
Martin Nowak
dd2dc35c31 Merge remote-tracking branch 'upstream/stable' into merge_stable 2021-04-25 21:19:23 +02:00
berni44
b2019ebab0 Narrow imports of std.math in the rest of phobos. 2021-04-21 03:00:57 +02:00
berni44
1d713e6f73 Move unittests from std.format.internal.write at correct place. 2021-04-20 11:27:33 +02:00
Johan Engelen
b8cdef5ffc fix Issue 21801 - std.typecons.ReplaceType does not work for in parameters
See related: https://github.com/dlang/phobos/pull/7570
2021-04-15 09:36:51 +02:00
berni44
6237aa02a9 Deprecate public access of formatElement 2021-03-25 10:17:21 +01:00
Nick Treleaven
ea00d00937
std.concurrency docs: Group symbol links into table rows (#7892)
std.concurrency docs: Group symbol links into table rows
merged-on-behalf-of: Razvan Nitu <RazvanN7@users.noreply.github.com>
2021-03-22 10:21:12 +01:00
Boris Carvajal
c92818b58c Simplify some Proxy.opDispatch conditions 2021-03-22 03:36:54 +01:00
berni44
6f2a0934a7 Adapt imports of std.format to new structure of std.format. 2021-03-19 13:22:00 +01:00
Paul Backus
1645308482 Fix Issue 21705 - Nullable!T.opEquals fails for T with non-const opEquals overload 2021-03-15 12:30:01 +01:00
Paul Backus
164f1c16b3 Fix Issue 21704 - Nullable fails to destroy static array elements 2021-03-13 07:25:58 +01:00
Nathan Sashihara
90e9ce2cfd Fix Issue 20502: Converting std.typecons.RefCounted!T to a string gives T's storage location instead of T's fields when T is a struct without an explicit toString 2021-03-02 13:14:07 +01:00
Mathis Beer
36c309fc5f std.typecons.Nullable: Remove deprecated 'alias get this'. 2021-03-02 10:31:25 +01:00
Razvan Nitu
b74f782c8c
Merge pull request #7797 from n8sh/issue-21638
std.typecons.RefCounted!(T, RefCountedAutoInitialize.no) should still work when T.this() is annotated with `@disable`
2021-02-23 04:03:30 +08:00
Boris Carvajal
276053dd07
Remove a few uses of fully qualified names that rely on a DMD bug 2021-02-22 08:16:13 -03:00
Nathan Sashihara
35035d4cfe Fix Issue 21638 - std.typecons.RefCounted!(T, RefCountedAutoInitialize.no) should still work when T.this() is annotated with @disable 2021-02-17 08:31:24 -08:00
Martin Nowak
cd566a9fd3 Merge remote-tracking branch 'upstream/stable' into merge_stable 2021-02-12 21:29:21 +01:00
Martin Kinkelin
7558583c44 Replace usages of std.functional.forward with core.lifetime.forward
Where it has been moved to. Also get rid of the corresponding tests
in Phobos, an exact copy is in druntime (+ more forward tests).

Also extend a `scoped` test to make sure it properly forwards
r/lvalue-ness of its arguments. This required dlang/druntime#3352
and thus wasn't added in dlang/phobos#7776 directly.
2021-01-31 12:20:09 +01:00
Martin Kinkelin
b7c07eb396 std.typecons.RefCounted: Properly forward r/lvalue-ness of ctor arguments 2021-01-29 16:23:30 +01:00
RazvanN7
51bdf472df Fix Issue 20552 - Deprecated Nullable.get warning with Appenders 2021-01-25 09:39:49 +02:00
Razvan Nitu
89abc75f02
Merge pull request #7745 from kinke/emplace
Get rid of std.conv.emplace[Ref](), use core[.internal].lifetime
2021-01-25 15:36:04 +08:00
Bernhard Seckinger
d5efbe3273 Fix Issue 13663 - Comparison of Tuples with floating point fields 2021-01-19 16:38:01 +01:00
Martin Kinkelin
1a459c5996 Get rid of std.conv.emplace[Ref](), use core[.internal].lifetime
The emplace() stuff was moved to druntime; for some reason, it's still
in Phobos.

I've diffed the two versions, and they are still almost identical (incl.
unittests); the druntime version appears to have seen some improvements
(e.g., forwarding r/lvalueness of the arguments) in the meantime.
2021-01-17 16:02:25 +01:00
Andrei Alexandrescu
c5e6213dde
Issue 21250 - dirEntries on non-existent directory causes assert error (#7646)
Issue 21250 - dirEntries on non-existent directory causes assert error
merged-on-behalf-of: Andrei Alexandrescu <andralex@users.noreply.github.com>
2020-10-02 16:49:09 +02:00
Geod24
691847c61b std.typecons : AutoImplement: Handle 'in' storage class 2020-08-28 04:27:48 +02:00
Mathis Beer
4b269a86f2 Fix issue 21199: call unaryFun!fun in Nullable.apply to support shortcut string expressions as parameter. 2020-08-26 15:01:04 +02:00
MoonlightSentinel
c46c2c3aa6 Fix public examples failing due to missing imports 2020-06-28 18:12:56 +02:00
Biotronic
e6eaa8ea24 Fix issue 20850 - Can't assign enum of Tuple 2020-05-21 13:42:04 +02:00
Vladimir Panteleev
38febf9e5c
std.typecons: Fix inconsistent indentation in Nullable implementation
It was previously difficult to see where the implementation of
Nullable ends, because the indentation did not represent the nesting
level.

This also fixes the different DDoc styles used to document Nullable
entries to a single style.
2020-05-20 02:47:01 +00:00
Mathis Beer
a5c52a3630 Add get(default) same-type overload in Nullable.
Works around https://issues.dlang.org/show_bug.cgi?id=20670 , which may
cause `Nullable` with arrays of `immutable struct`s to incorrectly strip
away the `immutable`.
2020-04-16 09:35:03 +02:00
Geod24
04f3979317 Replace 'Issue XXX' with Bugzilla links
Make the links clickable, as was done in the DMD repository.
Also avoids any ambiguity w.r.t. where the issue is stored.
2020-04-13 16:28:09 +09:00
Sebastian Wilzbach
4421a4f157 Fix @betterC testsuite 2020-03-04 16:07:28 -08:00
Adam D. Ruppe
ae93f5317c Use consistent quickindex wrapper around hand-written list-of-links tables 2020-02-21 21:04:05 -05:00
MoonlightSentinel
af50bed328
Fix Issue 20540 - (White|Black)Hole does not work with return|scope functions 2020-01-27 20:14:20 +01:00
MoonlightSentinel
869d9b5613
Fix Issue 20232 - WhiteHole is unusable with @safe interface functions 2020-01-27 20:06:14 +01:00
Alexandru Militaru
bb62aaca3d Replaced version (unittest) with version (StdUnittest) to avoid unnecessary overhead when compiling with -unittest 2020-01-19 14:05:17 +02:00
Alexandru Militaru
d3e1bb0cdb Some version (unittest) blocks removed 2020-01-06 17:53:09 +02:00
Bernhard Seckinger
998ac2bc36 Fix Issue 12461 - Typedef and opOpAssign 2019-12-30 13:25:00 +01:00
drug007
9858b9afe4
Remove useless warnings
to get rid of annoying deprecation warnings because in case the rhs is an other Nullable instance the constraint `is(typeof(this.get == rhs))` triggers the deprecation warning because the rhs implicitly calls deprecated `get_` member. This guard constraint prevents the rhs from being an other Nullable instance. No resolution logic change. Just getting rid of useless warning.
2019-12-16 13:26:26 +03:00
Ali Akhtarzada
ebfb07daec Fix issue 20425: Remove Proxy.opCmp constraints
They fail with types that have an opCmp defined and are value
types.
2019-12-02 09:52:13 +01:00