More visibility modifiers - The Edition Guide

# More visibility modifiers

You can use the `pub` keyword to make something a part of a module's public interface. But in addition, there are some new forms:

    pub(crate) struct Foo;

    pub(in a::b::c) struct Bar;

The first form makes the `Foo` struct public to your entire crate, but not externally. The second form is similar, but makes `Bar` public for one other module, `a::b::c` in this case.