[Issue 23124] New: [dip1000] scope and return should not be inferred for @trusted function
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu May 19 07:18:32 UTC 2022
https://issues.dlang.org/show_bug.cgi?id=23124
Issue ID: 23124
Summary: [dip1000] scope and return should not be inferred for
@trusted function
Product: D
Version: D2
Hardware: x86_64
OS: Linux
Status: NEW
Severity: normal
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: Ajieskola at gmail.com
This should compile, but does not.
----------
struct MyType
{ private @system int* _content;
// This type is designed so that _content will never point to local data.
@trusted pure this(return ref int i){_content = new int(i);}
// Note, not marked RETURN scope. Should return an unscoped pointer.
@trusted pure scope content(){return _content;}
}
@safe void main()
{ int* outer;
if(true)
{ int inner;
// Inferred as scope, which is intended
auto myVar = MyType(inner);
// Should be allowed
outer = myVar.content;
}
}
----------
More through explaination:
https://forum.dlang.org/thread/edtbjavjzkwogvutxpho@forum.dlang.org
--
More information about the Digitalmars-d-bugs
mailing list