... | ... |
@@ -111,14 +111,14 @@ |
111 | 111 |
<li>Criada em 2006 por Graydon Hoare.</li> |
112 | 112 |
<li>Patrocinada pela Mozilla em 2009.</li> |
113 | 113 |
<li>Versão 1.0 em 2015.</li> |
114 |
- <li>Versão atual: 1.35</li> |
|
114 |
+ <li>Versão atual: 1.37</li> |
|
115 | 115 |
</ul> |
116 | 116 |
</section> |
117 | 117 |
|
118 | 118 |
<aside class="notes"> |
119 | 119 |
Parte burocrática da apresentação. |
120 | 120 |
|
121 |
- PS: Pode ser que, quando você essa apresentação, 1.35 |
|
121 |
+ PS: Pode ser que, quando você essa apresentação, 1.37 |
|
122 | 122 |
não seja mais a versão atual; a cada 6 semanas, sai uma |
123 | 123 |
nova versão do compilador. |
124 | 124 |
</aside> |
... | ... |
@@ -128,7 +128,7 @@ |
128 | 128 |
<section> |
129 | 129 |
<h2> |
130 | 130 |
História |
131 |
- <img class="fragment" src="_images/AYV1X0yv.png" alt="" style="width:100px;margin:0"> |
|
131 |
+ <img src="_images/AYV1X0yv.png" alt="" style="width:100px;margin:0"> |
|
132 | 132 |
</h2> |
133 | 133 |
|
134 | 134 |
<p> |
... | ... |
@@ -188,6 +188,7 @@ |
188 | 188 |
|
189 | 189 |
<section> |
190 | 190 |
<section> |
191 |
+ <h2>1. A Linguagem Mais Amada</h2> |
|
191 | 192 |
<p> |
192 | 193 |
<a href="https://insights.stackoverflow.com/survey/2019"> |
193 | 194 |
A linguagem mais amada segundo o StackOverflow |
... | ... |
@@ -211,7 +212,7 @@ |
211 | 212 |
|
212 | 213 |
<section> |
213 | 214 |
<section> |
214 |
- <h2>"Low Level Language with High Level Abstractions"</h2> |
|
215 |
+ <h2>2. "Low Level Language with High Level Abstractions"</h2> |
|
215 | 216 |
</section> |
216 | 217 |
|
217 | 218 |
<section> |
... | ... |
@@ -262,7 +263,7 @@ |
262 | 263 |
|
263 | 264 |
<section> |
264 | 265 |
<section> |
265 |
- <h2>Compilador Chato mas Amigável</h2> |
|
266 |
+ <h2>3. Compilador Chato mas Amigável</h2> |
|
266 | 267 |
</section> |
267 | 268 |
|
268 | 269 |
<section> |
... | ... |
@@ -356,7 +357,7 @@ fn main() -< int{ |
356 | 357 |
|
357 | 358 |
<section> |
358 | 359 |
<section> |
359 |
- <h2>Borrow Checker</h2> |
|
360 |
+ <h2>4. Borrow Checker</h2> |
|
360 | 361 |
|
361 | 362 |
<aside class="notes"> |
362 | 363 |
O "Borrow Checker" é uma das principais novidades |
... | ... |
@@ -593,7 +594,7 @@ presente.abrir()</code></pre> |
593 | 594 |
|
594 | 595 |
<section> |
595 | 596 |
<section> |
596 |
- <h2>Hora da anedota!</h2> |
|
597 |
+ <h3>Hora da anedota!</h3> |
|
597 | 598 |
|
598 | 599 |
<img class="stretch" src="_images/senta-que-la-vem-historia.gif" alt=""> |
599 | 600 |
|
... | ... |
@@ -649,7 +650,7 @@ presente.abrir()</code></pre> |
649 | 650 |
|
650 | 651 |
<section> |
651 | 652 |
<section> |
652 |
- <h2>Tipos Algébricos</h2> |
|
653 |
+ <h2>5. Tipos Algébricos</h2> |
|
653 | 654 |
</section> |
654 | 655 |
|
655 | 656 |
<section> |
... | ... |
@@ -694,7 +695,7 @@ enum Option<T> { |
694 | 695 |
|
695 | 696 |
<section> |
696 | 697 |
<section> |
697 |
- <h2>Error Control</h2> |
|
698 |
+ <h2>6. Error Control</h2> |
|
698 | 699 |
</section> |
699 | 700 |
|
700 | 701 |
<section> |
... | ... |
@@ -778,7 +779,11 @@ OK(()) |
778 | 779 |
|
779 | 780 |
<section> |
780 | 781 |
<section> |
781 |
- <h2>Structs</h2> |
|
782 |
+ <h2>7. Generics/Traits</h2> |
|
783 |
+ </section> |
|
784 |
+ |
|
785 |
+ <section> |
|
786 |
+ <h3>Structs</h3> |
|
782 | 787 |
|
783 | 788 |
<pre><code class="hljs rust" data-trim> |
784 | 789 |
struct Gift { |
... | ... |
@@ -793,20 +798,34 @@ struct Gift { |
793 | 798 |
</section> |
794 | 799 |
|
795 | 800 |
<section> |
796 |
- <h2>Structs</h2> |
|
801 |
+ <h3>Structs</h3> |
|
797 | 802 |
|
798 | 803 |
<pre><code class="hljs rust" data-trim> |
799 | 804 |
let presente = Gift { package_color: "red", content: "A GIFT!" }; |
800 | 805 |
</code></pre> |
801 | 806 |
</section> |
802 |
- </section> |
|
803 | 807 |
|
804 |
- <section> |
|
805 |
- <section> |
|
806 |
- <h2>Traits/Generics</h2> |
|
807 |
- </section> |
|
808 |
+ <section> |
|
809 |
+ <h3>Structs Genéricas</h3> |
|
810 |
+ <pre><code class="hljs rust" data-trim> |
|
811 |
+struct Point<T> { |
|
812 |
+ x: T, |
|
813 |
+ y: T |
|
814 |
+} |
|
815 |
+ </code></pre> |
|
816 |
+ </section> |
|
817 |
+ |
|
818 |
+ <section> |
|
819 |
+ <h3>Structs Genéricas</h3> |
|
820 |
+ |
|
821 |
+ <pre><code class="hljs rust" data-trim> |
|
822 |
+let my_point = Point<f32>(x: 1.0, y: 2.0); |
|
823 |
+ </code></pre> |
|
824 |
+ </section> |
|
808 | 825 |
|
809 | 826 |
<section> |
827 |
+ <h3>Enums Generics</h3> |
|
828 |
+ |
|
810 | 829 |
<pre><code class="hljs rust" data-trim> |
811 | 830 |
enum Result<T, E> { |
812 | 831 |
Ok(T), |
... | ... |
@@ -816,6 +835,8 @@ enum Result<T, E> { |
816 | 835 |
</section> |
817 | 836 |
|
818 | 837 |
<section> |
838 |
+ <h3>Traits</h3> |
|
839 |
+ |
|
819 | 840 |
<pre><code class="hljs rust" data-trim> |
820 | 841 |
trait Summary { |
821 | 842 |
fn summarize(&self) -> String; |
... | ... |
@@ -834,7 +855,7 @@ impl Summary for Phrase { |
834 | 855 |
self.phrase |
835 | 856 |
.split_whitespace() |
836 | 857 |
.map(|word| word.chars().nth(0).unwrap()) |
837 |
- .collect(); |
|
858 |
+ .collect() |
|
838 | 859 |
} |
839 | 860 |
} |
840 | 861 |
</code></pre> |
... | ... |
@@ -846,40 +867,6 @@ fn get_summary<T>(summarizable: T) -> String |
846 | 867 |
where T: Summary |
847 | 868 |
{ |
848 | 869 |
... |
849 |
-} |
|
850 |
- </code></pre> |
|
851 |
- </section> |
|
852 |
- |
|
853 |
- <section> |
|
854 |
- <h2>Structs genéricas</h2> |
|
855 |
- |
|
856 |
- <pre><code class="hljs rust" data-trim> |
|
857 |
-struct Point<T> { |
|
858 |
- x: T, |
|
859 |
- y: T |
|
860 |
-} |
|
861 |
- </code></pre> |
|
862 |
- </section> |
|
863 |
- </section> |
|
864 |
- |
|
865 |
- <section> |
|
866 |
- <section> |
|
867 |
- <h2>Macros</h2> |
|
868 |
- |
|
869 |
- <small class="fragment">?</small> |
|
870 |
- </section> |
|
871 |
- |
|
872 |
- <section> |
|
873 |
- <h3>Log-Derive</h3> |
|
874 |
- |
|
875 |
- <pre><code> |
|
876 |
-#[logfn(ok = "TRACE", err = "ERROR")] |
|
877 |
-fn call_isan(num: &str) -> Result<Success, Error> { |
|
878 |
- if num.len() >= 10 && num.len() <= 15 { |
|
879 |
- Ok(Success) |
|
880 |
- } else { |
|
881 |
- Err(Error) |
|
882 |
- } |
|
883 | 870 |
} |
884 | 871 |
</code></pre> |
885 | 872 |
</section> |
... | ... |
@@ -889,7 +876,7 @@ fn call_isan(num: &str) -> Result<Success, Error> { |
889 | 876 |
<section> |
890 | 877 |
<h2> |
891 | 878 |
<a href="https://doc.rust-lang.org/cargo/"> |
892 |
- Cargo |
|
879 |
+ 8. Cargo |
|
893 | 880 |
</a> |
894 | 881 |
</h2> |
895 | 882 |
|
... | ... |
@@ -906,7 +893,7 @@ fn call_isan(num: &str) -> Result<Success, Error> { |
906 | 893 |
|
907 | 894 |
<section> |
908 | 895 |
<section> |
909 |
- <h2>Tests</h2> |
|
896 |
+ <h2>9. Tests</h2> |
|
910 | 897 |
|
911 | 898 |
<pre><code class="hljs rust" data-trim> |
912 | 899 |
#[cfg(test)] |
... | ... |
@@ -933,7 +920,30 @@ test tests::testing ... ok |
933 | 920 |
|
934 | 921 |
<section> |
935 | 922 |
<section> |
936 |
- <h2>Crazy stuff</h2> |
|
923 |
+ <h2>10. Macros</h2> |
|
924 |
+ |
|
925 |
+ <small class="fragment">?</small> |
|
926 |
+ </section> |
|
927 |
+ |
|
928 |
+ <section> |
|
929 |
+ <h3>Log-Derive</h3> |
|
930 |
+ |
|
931 |
+ <pre><code> |
|
932 |
+#[logfn(ok = "TRACE", err = "ERROR")] |
|
933 |
+fn call_isan(num: &str) -> Result<Success, Error> { |
|
934 |
+ if num.len() >= 10 && num.len() <= 15 { |
|
935 |
+ Ok(Success) |
|
936 |
+ } else { |
|
937 |
+ Err(Error) |
|
938 |
+ } |
|
939 |
+} |
|
940 |
+ </code></pre> |
|
941 |
+ </section> |
|
942 |
+ </section> |
|
943 |
+ |
|
944 |
+ <section> |
|
945 |
+ <section> |
|
946 |
+ <h2>11. Crazy stuff</h2> |
|
937 | 947 |
</section> |
938 | 948 |
|
939 | 949 |
<section> |