On Sat, Nov 9, 2013 at 7:43 AM, Oren Ben-Kiki <[email protected]> wrote:

> Many thanks for the replies.
>
> My problem is actually in accessing private methods/members of a struct
> defined in a different, but "very closely related" module. It seems @
> nikomatsakis <https://github.com/nikomatsakis> is saying in the final
> text comment of https://github.com/mozilla/rust/issues/8215 that it is
> not possible to specify methods/members that are only accessible from
> within a small set of modules; they are either completely public, or
> private to a single module.
>

FWIW, I think this might also be partially addressed by my earlier proposal
to remove methods as a distinct concept, and just allow using dot-syntax
with any function? (I have a draft of a follow-up to that thread that's
been sitting there for two weeks... sigh.)

It wouldn't help with struct members though, which is interesting. Maybe
the import syntax could be extended to accomodate that?

E.g.

    mod a { pub struct Point { x: int, y: int } }

    mod b { use a::Point; } // currently exists, import all fields

    mod c { use a::Point { * }; } // also import all fields

    mod d { use a::Point { }; } // import no fields

    mod e { use a::Point { x }; } // import only x, not y

Then you could play similar games with struct fields as with items.

-- 
Your ship was destroyed in a monadic eruption.
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to