<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wiki.squi.fr/index.php?action=history&amp;feed=atom&amp;title=Rust_%3A_packages</id>
	<title>Rust : packages - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.squi.fr/index.php?action=history&amp;feed=atom&amp;title=Rust_%3A_packages"/>
	<link rel="alternate" type="text/html" href="https://wiki.squi.fr/index.php?title=Rust_:_packages&amp;action=history"/>
	<updated>2026-06-12T02:35:44Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://wiki.squi.fr/index.php?title=Rust_:_packages&amp;diff=2362&amp;oldid=prev</id>
		<title>Justine le 3 novembre 2022 à 09:19</title>
		<link rel="alternate" type="text/html" href="https://wiki.squi.fr/index.php?title=Rust_:_packages&amp;diff=2362&amp;oldid=prev"/>
		<updated>2022-11-03T09:19:57Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 3 novembre 2022 à 09:19&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Ligne 1 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 1 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;lib.rs&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;lib.rs&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;&amp;lt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nowiki&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;syntaxhighlight lang=&#039;rust&#039;&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;//J&amp;#039;ai créé une librairie avec cargo new malib --lib&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;//J&amp;#039;ai créé une librairie avec cargo new malib --lib&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;//Je suis ici dans la crate (la crate, c&amp;#039;est ce fichier !)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;//Je suis ici dans la crate (la crate, c&amp;#039;est ce fichier !)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l152&quot;&gt;Ligne 152 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 152 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nowiki&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;syntaxhighlight&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;front_of_house.rs&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;front_of_house.rs&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;&amp;lt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nowiki&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;syntaxhighlight lang=&#039;rust&#039;&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;//Je rend le module public pour pouvoir l&amp;#039;appeller dans eat_at_restaurant()&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;//Je rend le module public pour pouvoir l&amp;#039;appeller dans eat_at_restaurant()&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;pub mod hosting {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;pub mod hosting {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l173&quot;&gt;Ligne 173 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 173 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nowiki&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;syntaxhighlight&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki-mediawiki:diff:1.41:old-2354:rev-2362:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Justine</name></author>
	</entry>
	<entry>
		<id>https://wiki.squi.fr/index.php?title=Rust_:_packages&amp;diff=2354&amp;oldid=prev</id>
		<title>Justine : Page créée avec « lib.rs  &lt;nowiki&gt; //J&#039;ai créé une librairie avec cargo new malib --lib //Je suis ici dans la crate (la crate, c&#039;est ce fichier !) //Je pourrais avoir deux crate dans le même package (un main.rs et un lib.rs) // //ici j&#039;ai plusieurs modules, certains sont imbriqués. Ils sont privés par défaut //Un parent ne peut pas utiliser ses enfants privés, mais l&#039;inverse est vrai. // //Les règles sont les suivantes: //* Une fonction/module peut toujours appeller ses so... »</title>
		<link rel="alternate" type="text/html" href="https://wiki.squi.fr/index.php?title=Rust_:_packages&amp;diff=2354&amp;oldid=prev"/>
		<updated>2022-11-03T09:14:59Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « lib.rs  &amp;lt;nowiki&amp;gt; //J&amp;#039;ai créé une librairie avec cargo new malib --lib //Je suis ici dans la crate (la crate, c&amp;#039;est ce fichier !) //Je pourrais avoir deux crate dans le même package (un main.rs et un lib.rs) // //ici j&amp;#039;ai plusieurs modules, certains sont imbriqués. Ils sont privés par défaut //Un parent ne peut pas utiliser ses enfants privés, mais l&amp;#039;inverse est vrai. // //Les règles sont les suivantes: //* Une fonction/module peut toujours appeller ses so... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;lib.rs&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
//J&amp;#039;ai créé une librairie avec cargo new malib --lib&lt;br /&gt;
//Je suis ici dans la crate (la crate, c&amp;#039;est ce fichier !)&lt;br /&gt;
//Je pourrais avoir deux crate dans le même package (un main.rs et un lib.rs)&lt;br /&gt;
//&lt;br /&gt;
//ici j&amp;#039;ai plusieurs modules, certains sont imbriqués. Ils sont privés par défaut&lt;br /&gt;
//Un parent ne peut pas utiliser ses enfants privés, mais l&amp;#039;inverse est vrai.&lt;br /&gt;
//&lt;br /&gt;
//Les règles sont les suivantes:&lt;br /&gt;
//* Une fonction/module peut toujours appeller ses soeurs&lt;br /&gt;
//* Pour appeller les enfants de ses soeurs, ceux-ci doivent être publics&lt;br /&gt;
//* On peut appeller un module ou une fonction marquée publique, si on a accès à son parent&lt;br /&gt;
//&lt;br /&gt;
//Le module suivant est dans un fichier à part;&lt;br /&gt;
//J&amp;#039;appelle son mod uniquement ici, je n&amp;#039;ai pas besoin de le remettre dans le deuxième fichier&lt;br /&gt;
//qui s&amp;#039;appelle front_of_house.rs&lt;br /&gt;
mod front_of_house;&lt;br /&gt;
pub use crate::front_of_house::hosting;&lt;br /&gt;
&lt;br /&gt;
//Je vais créer ma fonction publique, qui elle sera accessible de l&amp;#039;extérieur&lt;br /&gt;
//eat_at_restaurant et front_of_house sont siblings, je peux donc appeller l&amp;#039;un&lt;br /&gt;
//depuis l&amp;#039;autre&lt;br /&gt;
pub fn get_seated() {&lt;br /&gt;
    //Je peux appeller une fonction dans la même crate par un chemin absolu...&lt;br /&gt;
    //crate est un mot-clef&lt;br /&gt;
    crate::front_of_house::hosting::add_to_waitlist();&lt;br /&gt;
&lt;br /&gt;
    //...ou relatif&lt;br /&gt;
    front_of_house::hosting::add_to_waitlist();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fn deliver_order() {}&lt;br /&gt;
&lt;br /&gt;
mod back_of_house {&lt;br /&gt;
    fn fix_incorrect_order() {&lt;br /&gt;
        cook_order();&lt;br /&gt;
        //Ici, le mot-clef super permet d&amp;#039;appeller quelque chose dans le parent&lt;br /&gt;
        //Un peu comme utiliser .. dans un système de fichiers&lt;br /&gt;
        super::deliver_order();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    fn cook_order() {}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    //On peut aussi rendre un struct ou un enum public&lt;br /&gt;
    //Pour un struct, ses éléments restent privés par défaut&lt;br /&gt;
    pub struct Breakfast {&lt;br /&gt;
        pub toast: String,&lt;br /&gt;
        //seasonal_fruit est privé&lt;br /&gt;
        seasonal_fruit: String,&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    impl Breakfast {&lt;br /&gt;
        //Ici, j&amp;#039;ai une méthode publique pour construire mon objet&lt;br /&gt;
        //et le renvoyer&lt;br /&gt;
        pub fn summer(toast: &amp;amp;str) -&amp;gt; Breakfast {&lt;br /&gt;
            Breakfast {&lt;br /&gt;
                toast: String::from(toast),&lt;br /&gt;
                seasonal_fruit: String::from(&amp;quot;peaches&amp;quot;),&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    //Les éléments d&amp;#039;un enum public sont publics &lt;br /&gt;
    //par défaut&lt;br /&gt;
    pub enum Appetizer {&lt;br /&gt;
        Soup,&lt;br /&gt;
        Salad,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
pub fn eat_at_restaurant() {&lt;br /&gt;
    // Order a breakfast in the summer with Rye toast&lt;br /&gt;
    let mut meal = back_of_house::Breakfast::summer(&amp;quot;Rye&amp;quot;);&lt;br /&gt;
    // Change our mind about what bread we&amp;#039;d like&lt;br /&gt;
    meal.toast = String::from(&amp;quot;Wheat&amp;quot;);&lt;br /&gt;
    println!(&amp;quot;I&amp;#039;d like {} toast please&amp;quot;, meal.toast);&lt;br /&gt;
&lt;br /&gt;
    // The next line won&amp;#039;t compile if we uncomment it; we&amp;#039;re not allowed&lt;br /&gt;
    // to see or modify the seasonal fruit that comes with the meal&lt;br /&gt;
    // meal.seasonal_fruit = String::from(&amp;quot;blueberries&amp;quot;);&lt;br /&gt;
    //&lt;br /&gt;
    //Calling my public enum:&lt;br /&gt;
    //back_of_house is a sibling so I can access it&lt;br /&gt;
    //the enum itself is public so no issues&lt;br /&gt;
    let order1 = back_of_house::Appetizer::Soup;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//On peut utiliser le mot use pour raccourcir les appels&lt;br /&gt;
//Un peu comme un lien symbolique&lt;br /&gt;
//...mais cela ne marche que dans le scope où l&amp;#039;on utilise use&lt;br /&gt;
//La façon habituelle d&amp;#039;appeller des modules et des fonctions est d&amp;#039;appeller&lt;br /&gt;
//son parent...&lt;br /&gt;
use crate::front_of_house::hosting;&lt;br /&gt;
&lt;br /&gt;
//Ceci ne fonctionne pas !&lt;br /&gt;
//mod customer_notworking {&lt;br /&gt;
//    pub fn somethingsomething() {&lt;br /&gt;
//        hosting::add_to_waitlist();&lt;br /&gt;
//    }&lt;br /&gt;
//}&lt;br /&gt;
&lt;br /&gt;
//Ceci fonctionne&lt;br /&gt;
mod customer {&lt;br /&gt;
    pub fn something() {&lt;br /&gt;
        use crate::front_of_house::hosting;&lt;br /&gt;
        hosting::add_to_waitlist;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//...en revanche la façon idiomatique d&amp;#039;appeller des enums&lt;br /&gt;
//et des structs est de les appeller directement&lt;br /&gt;
//(Sauf si on en appelle 2 qui ont le même nom)&lt;br /&gt;
use std::collections::HashMap;&lt;br /&gt;
fn notmain() {&lt;br /&gt;
    let mut map = HashMap::new();&lt;br /&gt;
    map.insert(1, 2);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//On peut aussi faire des alias comme en Python...&lt;br /&gt;
use std::io::Result as IoResult;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//On peut combiner pub et use pour importer du code&lt;br /&gt;
//et le rendre public&lt;br /&gt;
//Cela s&amp;#039;appelle du re-exporting&lt;br /&gt;
&lt;br /&gt;
pub use crate::front_of_house::hosting;&lt;br /&gt;
&lt;br /&gt;
pub fn whatever() {&lt;br /&gt;
    hosting::add_to_waitlist();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Si l&amp;#039;on a beaucoup d&amp;#039;imports, on peut factoriser&lt;br /&gt;
//Ceci&lt;br /&gt;
use std::cmp::Ordering;&lt;br /&gt;
use std::io;&lt;br /&gt;
&lt;br /&gt;
//Peut s&amp;#039;écrire&lt;br /&gt;
use std::{cmp::Ordering, io};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//On peut importer tous les éléments publics dans le scope&lt;br /&gt;
use std::collections::*;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
front_of_house.rs&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
//Je rend le module public pour pouvoir l&amp;#039;appeller dans eat_at_restaurant()&lt;br /&gt;
pub mod hosting {&lt;br /&gt;
    pub fn add_to_waitlist() {&lt;br /&gt;
        //Ici, je peux appeller une fonction privée, &lt;br /&gt;
        //par exemple seat_at_table()&lt;br /&gt;
    }&lt;br /&gt;
    fn seat_at_table() {}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
mod serving {&lt;br /&gt;
    fn take_order() {}&lt;br /&gt;
&lt;br /&gt;
    fn serve_order() {}&lt;br /&gt;
&lt;br /&gt;
    fn take_payment() {}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Justine</name></author>
	</entry>
</feed>