>> What do you mean? Like this?
>>
>> Hidden* foo() { return new Hidden();}
>
> Yes, this way you can control all aspects of the construction and use. You
> wouldn't need to make it private even, just don't lay out the struct in the
> normal import:
>
> struct Hidden;
>
> I think you would need to
On Sat, May 31, 2014 at 6:39 AM, Dicebot via Digitalmars-d-learn
wrote:
> private in D does not provide any strong guarantees, it only controls direct
> access to the symbol. You effectively want some sort of strict internal
> linkage attribute which does not exist in D.
Indeed. I will learn to u
private in D does not provide any strong guarantees, it only
controls direct access to the symbol. You effectively want some
sort of strict internal linkage attribute which does not exist in
D.
On Fri, 30 May 2014 16:09:59 -0400, Philippe Sigaud
wrote:
On Friday, 30 May 2014 at 20:02:40 UTC, Steven Schveighoffer wrote:
If you want an opaque struct, you need to return it by pointer.
What do you mean? Like this?
Hidden* foo() { return new Hidden();}
?
Yes, this way you can con
Philippe Sigaud:
as foo is returning a value from a private type, it should be
considered private also.
I think this was discussed, but I don't know why Walter didn't
design like that. Perhaps someone else can give you an answer.
Bye,
bearophile
On Friday, 30 May 2014 at 20:02:40 UTC, Steven Schveighoffer
wrote:
If you want an opaque struct, you need to return it by pointer.
What do you mean? Like this?
Hidden* foo() { return new Hidden();}
?
Otherwise, the user must be able to know what type it is
(otherwise, how would he use it
On Friday, 30 May 2014 at 19:54:00 UTC, safety0ff wrote:
On Friday, 30 May 2014 at 19:50:43 UTC, Philippe Sigaud wrote:
Am I misunderstanding something or is that a bug?
Try: auto foo() { return Hidden();}
This is incorrect, please ignore.
On Friday, 30 May 2014 at 19:54:00 UTC, safety0ff wrote:
On Friday, 30 May 2014 at 19:50:43 UTC, Philippe Sigaud wrote:
Am I misunderstanding something or is that a bug?
Try: auto foo() { return Hidden();}
I'm not seeing any difference? I'm still able to create a value
of type Hidden in an
On Fri, 30 May 2014 15:50:41 -0400, Philippe Sigaud
wrote:
I'm trying to 'hide' a type, so as not to see it outside its module. I
want to control the way it's created and used.
I know of Voldemort types and '@disable this', but for now I'm just
trying to use 'private'. Halas, it seems it
On Friday, 30 May 2014 at 19:50:43 UTC, Philippe Sigaud wrote:
Am I misunderstanding something or is that a bug?
Try: auto foo() { return Hidden();}
I'm trying to 'hide' a type, so as not to see it outside its
module. I want to control the way it's created and used.
I know of Voldemort types and '@disable this', but for now I'm
just trying to use 'private'. Halas, it seems it can be
circumvented:
*
module A;
private struct Hidd
11 matches
Mail list logo