Commit graph

151 commits

Author SHA1 Message Date
k-hara
fc31fc2e1f fix Issue 2273 - Supplemental fix for dmd pull #1243 2012-11-08 13:47:47 +09:00
Denis Shelomovskij
47a39775d5 Replace if with static if in std.typecons.RefCounted 2012-10-28 11:18:09 +04:00
Denis Shelomovskij
bb104cb8b2 Apply nitpicks 2012-10-26 23:26:25 +04:00
Denis Shelomovskij
f22cb6eb13 Add std.typecons.RefCounted.RefCountedStore.refCount property 2012-10-26 18:29:52 +04:00
Denis Shelomovskij
6971057c25 Add std.typecons.RefCounted.refCountedStore property 2012-10-26 18:26:50 +04:00
Denis Shelomovskij
0066d215e0 Rename std.typecons.RefCounted.{_RefCounted -> RefCountedStore} and make it docs visible 2012-10-26 18:26:50 +04:00
Denis Shelomovskij
b56899789c Refactor RefCounted.refCountedPayload and fix docs 2012-10-26 17:29:00 +04:00
Denis Shelomovskij
4790c9108d Remove unused RefCounted debugging code 2012-10-26 17:14:16 +04:00
Denis Shelomovskij
f2f188db66 Pass to GC.removeRange the same argument as to GC.addRange to avoid future mistakes 2012-10-26 17:13:01 +04:00
Denis Shelomovskij
5c63cc738e Do not add Impl._count to GC roots 2012-10-26 17:13:01 +04:00
Denis Shelomovskij
c838ee3a5f Replace Tuple in RefCounted._RefCounted with private Impl struct 2012-10-26 17:13:00 +04:00
Denis Shelomovskij
98912f6022 Fix RefCounted bug for large enough to hold a pointer struct without indirections
* in that case `GC.addRange` was called without `GC.removeRange`
2012-10-26 17:06:00 +04:00
Denis Shelomovskij
20b81453b5 Refactor RefCounted.~this 2012-10-26 17:06:00 +04:00
Denis Shelomovskij
a64e7657b1 Add enforce to malloc in RefCounted._RefCounted.initialize
* fixes possible memory access bugs
2012-10-26 17:06:00 +04:00
Denis Shelomovskij
86cc7b1ec3 Use enum instead of const in RefCounted._RefCounted.initialize 2012-10-26 17:06:00 +04:00
Denis Shelomovskij
8d2aa6c2f4 Rename std.typecons.RefCounted.{RefCounted -> _refCounted} 2012-10-26 17:06:00 +04:00
monarch dodra
a3d26c0c99 safety in RefCounted 2012-10-16 20:02:55 +02:00
jmdavis
3bd05ba379 Minor style cleanup for Redindable. 2012-10-13 19:57:19 -07:00
jmdavis
a723713475 Small tweak to Rebindable.
It should use inout rather than duplicating the get function for mutable
and const.
2012-10-13 19:44:25 -07:00
k-hara
f7f33b0cf7 Improve isAssignable to support identity assignable check. 2012-10-06 14:37:59 +09:00
k-hara
5186759832 fix Issue 8702 - tuple(tuple(1)) fails to compile, but tuple(tuple(1),1) works 2012-09-21 09:57:14 +09:00
k-hara
a5a9dc8c62 _Implicit manifest constant_ is almostly BAD feature to me and generic programming.
..
2012-09-19 00:44:18 +09:00
k-hara
2464637416 fix opCmp problem which same as opEquals 2012-09-19 00:44:13 +09:00
k-hara
414ca6ffd2 fix Issue 8686 - Tuple cannot define with type that has only mutable opEquals
We cannot show better error message for mismatching tuple lengths, because compiler would *always* try to instantiate const opEquals.

I also added tests for exhaustive opEquals signatures - const or mutable, and template or not
2012-09-19 00:01:05 +09:00
Andrei Alexandrescu
1122af373b Merge pull request #750 from Panke/fix-8284
Fix bug #8284 by adding const opEquals to std.typecons.Tuple
2012-09-16 19:22:30 -07:00
k-hara
bcf7dd9bd2 fix Issue 8617 - std.typecons.Proxy.opEquals compiles error: undefined identifier 'startsWith' 2012-09-17 00:36:55 +09:00
monarchdodra
4624416409 Fixes for issue 8591 (nothrow) 2012-08-28 21:11:37 +02:00
Tobias Pankrath
9284423bdb clean indentation and comment 2012-08-16 18:42:38 +00:00
Tobias Pankrath
3c878f4b90 Fix bug #8284 by adding const opEquals to std.typecons.Tuple
To fix bug #8284 std.typecons.Tuple needs to have a const opEquals.
Adds also a testcase for std.algorithm using std.typecons.Tuple as
element type for std.container.Array.

This pull request needs a dmd with pull 1075 to fix issue 8522.
2012-08-14 08:52:25 +00:00
monarchdodra
f0304974e8 Fix for opAssign(T)
This either:
*Asserts if autoInit==No and not initialized (instead of doing an access violation)
*EnsuresInitialized if autoInit==Yes

Uses "move(a, b)" instead of "b = move(a)" for slightly increased performance
2012-07-26 11:41:26 +03:00
jmdavis
28781bfb9f Old deprecations which were not properly taken care of previously. 2012-07-07 02:03:49 -07:00
k-hara
72a33de959 Replace object.clear to destroy 2012-05-31 19:27:52 +09:00
k-hara
ec773717bb Add author 2012-05-31 19:24:39 +09:00
David Nadlinger
61f991ba51 Issue 7796 - std.typecons.Unique is using writeln without importing std.stdio.
With Unique being a template, commit 4ee4efe (pull request #601) caused the messages to be printed for unittest builds of client code as well.
2012-05-23 18:48:18 +02:00
David Nadlinger
ca86dad193 Bug 4356 is fixed, use ordinary assertion. 2012-05-23 18:47:45 +02:00
k-hara
4ee4efe2b0 fix Issue 7796 - std.typecons.Unique is using writeln without importing std.stdio 2012-05-23 20:24:16 +09:00
k-hara
51bdc47190 Change scoped to "Voldemort Type" 2012-05-12 18:38:09 +09:00
Hara Kenji
84218d3e1e Merge pull request #570 from denis-sh/scoped-bug6580-fix
Fix Issue 6580 - scoped classes are aligned incorrectly
2012-05-08 23:41:32 -07:00
Denis Shelomovskij
2503b18d1c Fix Issue 6580 - scoped classes are aligned incorrectly 2012-05-07 23:08:36 +04:00
Denis Shelomovskij
273eb21226 Fix Issue 8039 - scoped doesn't call any elaborate destructors for struct fields
Phobos isn't a place for runtime stuff like `destroy`. And Phobos developers aren't people who should write/check such stuff.
2012-05-07 15:51:25 +04:00
k-hara
01a8d9ab54 Add static assert 2012-03-24 12:51:57 +09:00
k-hara
cf7b014651 Make identity comparison more efficient 2012-03-24 12:06:50 +09:00
k-hara
d8d8da861b Fix std.typecons.Proxy for identity assignment 2012-03-24 12:06:50 +09:00
k-hara
5a29b03e28 Rename: ProxyOf to Proxy, and TypeDef to Typedef. 2012-03-08 22:51:06 -08:00
k-hara
a0dbea1d2c Remove workaround for issue 5525 2012-03-08 22:51:05 -08:00
k-hara
8751299b79 Add test for indexing/slicing operator overloading. 2012-03-08 22:51:05 -08:00
dawg
f72c840be8 allow to construct scoped with qualified classes 2012-03-08 22:51:04 -08:00
dawg
8240295df1 use inout for accessing Scoped's payload 2012-03-08 22:51:04 -08:00
dawg
74e7a6536c scoped allows to bypass class constructor 2012-03-08 22:51:04 -08:00
k-hara
7331e0388b Reduce code redundancy in ProxyOf 2012-03-08 22:51:03 -08:00