Rust access control: Difference between revisions
From wikinotes
(Created page with "By default in rust, everything is private (current module access only). = Documentation = {| | visibility and privacy || https://doc.rust-lang.org/reference/visibility-and-privacy.html |} = Objects = <blockquote> * Objects are private by default. * A private object instance cannot be returned to a different module. * A public struct with private fields cannot be instantiated outside of it's module. </blockquote><!-- objects --> = Modules = <blockquote> * Modules are...") |
|||
Line 17: | Line 17: | ||
= Modules = | = Modules = | ||
<blockquote> | <blockquote> | ||
* Modules are private by default | * Modules are private by default, but can be published by their parent module | ||
* Modules are implied by the filename, you can however create a submodule within a file using <code>mod ${your_module}</code> | * Modules are implied by the filename, you can however create a submodule within a file using <code>mod ${your_module}</code> | ||
</blockquote><!-- modules --> | </blockquote><!-- modules --> |
Revision as of 15:21, 8 February 2023
By default in rust, everything is private (current module access only).
Documentation
visibility and privacy | https://doc.rust-lang.org/reference/visibility-and-privacy.html |
Objects
- Objects are private by default.
- A private object instance cannot be returned to a different module.
- A public struct with private fields cannot be instantiated outside of it's module.
Modules
- Modules are private by default, but can be published by their parent module
- Modules are implied by the filename, you can however create a submodule within a file using
mod ${your_module}