Commit graph

172 commits

Author SHA1 Message Date
k-hara
c753619ffe fix Issue 9404 - Nullable is unusable with 2.061 2013-01-31 11:36:19 +09:00
Nick Treleaven
5083260795 Fix typos 2013-01-07 17:01:11 +00:00
Andrei Alexandrescu
f12c860a23 Merge pull request #896 from denis-sh/std.conv.emplace-fixes
`std.conv.emplace` fixes & improvements
2012-12-12 07:41:03 -08:00
Don Clugston
5ef89e6c86 10% faster compile for std.algorithm
by fixing incredibly slow Tuple code.
2012-12-11 08:31:20 +01:00
Robert Klotzner
b8ee86505f Little doc fix for Yes, No struct. 2012-11-28 00:42:15 +01:00
k-hara
01df2f60be Remove redundant parenthesis for getters, and use assignment syntax for setters 2012-11-23 15:07:17 +09:00
SHOO
f82ebec423 add testcase 2012-11-20 23:50:58 +09:00
SHOO
a8305d0b21 fix Issue 9049 - std.typecons.Proxy doesn't treat ref parameter correctly.
http://d.puremagic.com/issues/show_bug.cgi?id=9049
2012-11-20 23:40:16 +09:00
Denis Shelomovskij
1450381ba6 Add workaround for unaligned Scoped movement in memory
* class instance now moved accordingly
2012-11-19 23:47:23 +04:00
Denis Shelomovskij
e541499ea7 Add comments to std.typecons.Scoped implementation 2012-11-19 23:09:25 +04:00
Denis Shelomovskij
44ac2b7774 Don't use l as symbol name. 2012-11-18 20:54:59 +04:00
Denis Shelomovskij
603d2e22f3 Rename private std.typecons._aligned to _alignUp and add constraint. 2012-11-18 20:36:51 +04:00
k-hara
fc31fc2e1f fix Issue 2273 - Supplemental fix for dmd pull #1243 2012-11-08 13:47:47 +09:00
Denis Shelomovskij
d038acb443 Workaround for an issue on Posix that fails b3d3c44cc1 with the following linker error:
generated/linux/debug/32/unittest/std/typecons.o: In function `_D3std8typecons51__T6scopedTC3std8typecons18__unittestL3287_53FZv1AZ6scopedFZS3std8typecons51__T6scopedTC3std8typecons18__unittestL3287_53FZv1AZ6scoped51__T6ScopedTC3std8typecons18__unittestL3287_53FZv1AZ6Scoped51__T6ScopedTC3std8typecons18__unittestL3287_53FZv1AZ6Scoped14Scoped_payloadMNgFNdZNgC3std8typecons18__unittestL3287_53FZv1A':
/home/braddr/sandbox/d/d-tester/client/pull-346162/phobos/std/typecons.d:3090: undefined reference to `_D3std8typecons51__T6scopedTC3std8typecons18__unittestL3287_53FZv1AZ6scopedFZS3std8typecons51__T6scopedTC3std8typecons18__unittestL3287_53FZv1AZ6scoped51__T6ScopedTC3std8typecons18__unittestL3287_53FZv1AZ6Scoped7alignedFkZk'
2012-10-28 13:04:48 +04:00
Denis Shelomovskij
95c5ba378c Added unittests for fixed std.typecons.scoped initialization issue.
* issue fixed in commit 2840e44b21
2012-10-28 12:08:14 +04:00
Denis Shelomovskij
3e0f69c3df Added unittests for fixed std.typecons.scoped alignment issue.
* issue fixed in commit 9cf123aff3
2012-10-28 12:05:45 +04:00
Denis Shelomovskij
deb33d0f79 Remove outdated comment from std.typecons.scoped unittest. 2012-10-28 11:51:42 +04:00
Denis Shelomovskij
b3d3c44cc1 Fix std.typecons.scoped name clashes issue
One was unable to call `alignment` or `aligned` class members because `Scoped(T)` struct has such private members and name lookup is done before protection resolution.
2012-10-28 11:42:32 +04:00
Denis Shelomovskij
47a39775d5 Replace if with static if in std.typecons.RefCounted 2012-10-28 11:18:09 +04:00
Denis Shelomovskij
2840e44b21 Fix std.typecons.scoped issue similar to RefCounted issue 6436.
* Issue URL: http://d.puremagic.com/issues/show_bug.cgi?id=6436
2012-10-27 10:23:26 +04:00
Denis Shelomovskij
9cf123aff3 Fix terrible std.typecons.scoped bug
For misaligned buffer it emplaces object to incorrect memory location.
2012-10-27 10:23:26 +04:00
Denis Shelomovskij
dab3b2a7dd Fix Issue 6436 - Refcounted initialization bug
* Issue URL: http://d.puremagic.com/issues/show_bug.cgi?id=6436
2012-10-27 10:23:26 +04:00
Denis Shelomovskij
98061d298e Create std.traits.classInstanceAlignment 2012-10-27 10:23:26 +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