digitalmars.D - refCounted not safe?
- Steven Schveighoffer (12/12) May 01 2020 struct S {}
- H. S. Teoh (5/20) May 01 2020 Use @trusted. :-/
- 12345swordy (4/16) May 01 2020 You can't. You can't make it safe, unless you fix the bug
struct S {} void main() safe { import std.typecons; auto s = S().refCounted; } Error: safe function D main cannot call system function std.typecons.refCounted!(S).refCounted Error: safe function D main cannot call system destructor std.typecons.RefCounted!(S, cast(RefCountedAutoInitialize)0).RefCounted.~this How do I do refCounted in safe code?
May 01 2020
On Fri, May 01, 2020 at 05:31:57PM -0400, Steven Schveighoffer via Digitalmars-d wrote:struct S {} void main() safe { import std.typecons; auto s = S().refCounted; } Error: safe function D main cannot call system function std.typecons.refCounted!(S).refCounted Error: safe function D main cannot call system destructor std.typecons.RefCounted!(S, cast(RefCountedAutoInitialize)0).RefCounted.~this How do I do refCounted in safe code?Use trusted. :-/ T -- Time flies like an arrow. Fruit flies like a banana.
May 01 2020
On Friday, 1 May 2020 at 21:31:57 UTC, Steven Schveighoffer wrote:struct S {} void main() safe { import std.typecons; auto s = S().refCounted; } Error: safe function D main cannot call system function std.typecons.refCounted!(S).refCounted Error: safe function D main cannot call system destructor std.typecons.RefCounted!(S, cast(RefCountedAutoInitialize)0).RefCounted.~this How do I do refCounted in safe code?You can't. You can't make it safe, unless you fix the bug regarding destructors not being attribute friendly. -Alex
May 01 2020