Thread overview | |||||
---|---|---|---|---|---|
|
May 01, 2020 refCounted not @safe? | ||||
---|---|---|---|---|
| ||||
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 Re: refCounted not @safe? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Steven Schveighoffer | 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 Re: refCounted not @safe? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Steven Schveighoffer | 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
|
Copyright © 1999-2021 by the D Language Foundation