Skip to content
Snippets Groups Projects
Verified Commit 276e445d authored by orestis.malaspin's avatar orestis.malaspin
Browse files

annotations moved correctly

parent 51ce1212
Branches
No related tags found
1 merge request!70annotations moved correctly
Pipeline #33778 passed
This commit is part of merge request !70. Comments created here will be created in the context of that merge request.
...@@ -36,7 +36,7 @@ fn main() { ...@@ -36,7 +36,7 @@ fn main() {
## La boucle infinie: `loop` ## La boucle infinie: `loop`
```rust [] ignore ```rust ignore []
fn main() { fn main() {
loop { loop {
println!("En boucle!"); println!("En boucle!");
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
## `panic!()` ## `panic!()`
```rust [2-4|] should_panic ```rust should_panic [2-4|]
fn elem(v: &[i32], i: usize) -> i32 { fn elem(v: &[i32], i: usize) -> i32 {
if i >= v.len() { if i >= v.len() {
panic!("Erreur fatale!"); panic!("Erreur fatale!");
...@@ -67,7 +67,7 @@ stack backtrace: ...@@ -67,7 +67,7 @@ stack backtrace:
## Asserts ## Asserts
```rust [4,6,7|] should_panic ```rust should_panic [4,6,7|]
fn main() { fn main() {
let num = 1; let num = 1;
let denum = 0; let denum = 0;
...@@ -131,7 +131,7 @@ fn main() { ...@@ -131,7 +131,7 @@ fn main() {
## Options: `unwrap()` ## Options: `unwrap()`
```rust [11|] should_panic ```rust should_panic [11|]
fn div(num: i32, denum: i32) -> Option<i32> { fn div(num: i32, denum: i32) -> Option<i32> {
if denum == 0 { if denum == 0 {
None None
...@@ -179,7 +179,7 @@ fn main() { ...@@ -179,7 +179,7 @@ fn main() {
## `unwrap()` ## `unwrap()`
```rust [10|] should_panic ```rust should_panic [10|]
fn elem(v: &[i32], i: usize) -> Result<i32, &str> { fn elem(v: &[i32], i: usize) -> Result<i32, &str> {
if i >= v.len() { if i >= v.len() {
return Err("L'index est trop grand!") return Err("L'index est trop grand!")
...@@ -192,4 +192,4 @@ fn main() { ...@@ -192,4 +192,4 @@ fn main() {
let res = elem(&v, 100).unwrap(); let res = elem(&v, 100).unwrap();
println!("L'élément est {}", res); println!("L'élément est {}", res);
} }
``` ```
\ No newline at end of file
...@@ -27,7 +27,7 @@ fn main() { ...@@ -27,7 +27,7 @@ fn main() {
## Exemple avec générique (concept) ## Exemple avec générique (concept)
```rust [1|2|] compile_fail ```rust compile_fail [1|2|]
fn max<T>(a: T, b: T) -> T { fn max<T>(a: T, b: T) -> T {
if a > b { a } else { b } if a > b { a } else { b }
} }
...@@ -54,7 +54,7 @@ fn main() { ...@@ -54,7 +54,7 @@ fn main() {
## Un seul type générique ## Un seul type générique
```rust [6-7|8|] compile_fail ```rust compile_fail [6-7|8|]
struct Point<T> { struct Point<T> {
x: T, x: T,
y: T, y: T,
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
## Problématique ## Problématique
```rust [2|3-6|7|] compile_fail ```rust compile_fail [2|3-6|7|]
fn main() { fn main() {
let r; let r;
{ {
...@@ -20,7 +20,7 @@ fn main() { ...@@ -20,7 +20,7 @@ fn main() {
## Durée de vie: annotation ## Durée de vie: annotation
```rust [] compile_fail ```rust compile_fail []
fn main() { fn main() {
let r: &'a i32; // --------+-- 'a let r: &'a i32; // --------+-- 'a
{ // | { // |
...@@ -42,7 +42,7 @@ fn main() { ...@@ -42,7 +42,7 @@ fn main() {
## Exemple ## Exemple
```rust [8-13|1,7|] compile_fail ```rust compile_fail [8-13|1,7|]
fn longest(x: &str, y: &str) -> &str { fn longest(x: &str, y: &str) -> &str {
if x.len() > y.len() { if x.len() > y.len() {
x x
...@@ -82,7 +82,7 @@ fn main() { ...@@ -82,7 +82,7 @@ fn main() {
* Ne permet pas d'augmenter une durée de vie, * Ne permet pas d'augmenter une durée de vie,
* Le compilateur vérifie que la durée de vie est **compatible** avec la durée de vie. * Le compilateur vérifie que la durée de vie est **compatible** avec la durée de vie.
```rust [] ignore ```rust ignore []
&T // référence &T // référence
&'a T // référence avec durée de vie a &'a T // référence avec durée de vie a
&'a mut T // référence mutable avec durée de vie a &'a mut T // référence mutable avec durée de vie a
......
...@@ -45,7 +45,7 @@ fn main() { ...@@ -45,7 +45,7 @@ fn main() {
## Le mot-clé `self` ## Le mot-clé `self`
```rust [6-9|10-12|16-18|] compile_fail ```rust compile_fail [6-9|10-12|16-18|]
struct Rectangle { struct Rectangle {
width: u32, width: u32,
height: u32, height: u32,
......
...@@ -55,7 +55,7 @@ fn main() { ...@@ -55,7 +55,7 @@ fn main() {
## Le contenu d'un module est privé ## Le contenu d'un module est privé
```rust [2-3,6|] compile_fail ```rust compile_fail [2-3,6|]
mod hepia { mod hepia {
fn uni_automne() { fn uni_automne() {
} }
...@@ -114,7 +114,7 @@ ecole ...@@ -114,7 +114,7 @@ ecole
## Les fichiers et visibilité ## Les fichiers et visibilité
```rust [1-3|4-6|7-8|9-10|11-12|13-17|] ignore ```rust ignore [1-3|4-6|7-8|9-10|11-12|13-17|]
// dans lib.rs // dans lib.rs
pub mod hepia; pub mod hepia;
pub mod heg; pub mod heg;
...@@ -153,4 +153,4 @@ pub ...@@ -153,4 +153,4 @@ pub
| pub ( self ) // public dans le module courant | pub ( self ) // public dans le module courant
| pub ( super ) // public dans le module parent | pub ( super ) // public dans le module parent
| pub ( in path ) // public dans le path explicite | pub ( in path ) // public dans le path explicite
``` ```
\ No newline at end of file
...@@ -117,7 +117,7 @@ fn main() { ...@@ -117,7 +117,7 @@ fn main() {
## Changement de propriétaire: invalide ## Changement de propriétaire: invalide
```rust [7-8|9|] compile_fail ```rust compile_fail [7-8|9|]
fn main() { fn main() {
let mut y = Vec::new(); let mut y = Vec::new();
for i in 0..5 { for i in 0..5 {
...@@ -167,7 +167,7 @@ fn main() { ...@@ -167,7 +167,7 @@ fn main() {
## Lors du passage en paramètre à une fonction ## Lors du passage en paramètre à une fonction
```rust [1-3,8|] compile_fail ```rust compile_fail [1-3,8|]
fn take_own(_v: Vec<i32>) { fn take_own(_v: Vec<i32>) {
// on fait des choses // on fait des choses
} }
...@@ -242,7 +242,7 @@ fn main() { ...@@ -242,7 +242,7 @@ fn main() {
## Exemple 2 ## Exemple 2
```rust [1-4,10|] compile_fail ```rust compile_fail [1-4,10|]
fn get_len(v: &Vec<i32>) -> usize { fn get_len(v: &Vec<i32>) -> usize {
v.push(2); // on ajoute 2 à v v.push(2); // on ajoute 2 à v
v.len() v.len()
...@@ -281,7 +281,7 @@ fn main() { ...@@ -281,7 +281,7 @@ fn main() {
## Sans la règle sur la référence mutable ## Sans la règle sur la référence mutable
```rust [2|3|4|5-6|] compile_fail ```rust compile_fail [2|3|4|5-6|]
fn main() { fn main() {
let mut y = Vec::new(); let mut y = Vec::new();
let z = &y; let z = &y;
......
...@@ -68,7 +68,7 @@ fn main() { ...@@ -68,7 +68,7 @@ fn main() {
## Cas pratique: la liste chaînée ## Cas pratique: la liste chaînée
```rust [1,4|2-3|1-4|] compile_fail ```rust compile_fail [1,4|2-3|1-4|]
enum List { enum List {
Elem(i32, List), Elem(i32, List),
Nil, Nil,
......
...@@ -48,7 +48,7 @@ fn main() { ...@@ -48,7 +48,7 @@ fn main() {
- La conversion implicite **n'existe pas**. - La conversion implicite **n'existe pas**.
```rust [2|] compile_fail ```rust compile_fail [2|]
fn main() { fn main() {
let x:i64 = 5i32; // entier 32 bits dans une variable 64 bits let x:i64 = 5i32; // entier 32 bits dans une variable 64 bits
} }
...@@ -66,7 +66,7 @@ fn main() { ...@@ -66,7 +66,7 @@ fn main() {
## Les entiers (3/3) ## Les entiers (3/3)
- Le dépassement de capacité est **interdit**. - Le dépassement de capacité est **interdit**.
```rust [4|] compile_fail ```rust compile_fail [4|]
fn main() { fn main() {
let x:i32 = 12345678; let x:i32 = 12345678;
let y:i32 = 12345678; let y:i32 = 12345678;
...@@ -84,7 +84,7 @@ fn main() { ...@@ -84,7 +84,7 @@ fn main() {
- On ne **peut pas** convertir implicitement d'un type à un autre. - On ne **peut pas** convertir implicitement d'un type à un autre.
```rust [2|] compile_fail ```rust compile_fail [2|]
fn main() { fn main() {
let x:f64 = 3.14159265359f32; // flottant 32 bits en flottant 64 bits let x:f64 = 3.14159265359f32; // flottant 32 bits en flottant 64 bits
} }
......
...@@ -239,7 +239,7 @@ fn main() { ...@@ -239,7 +239,7 @@ fn main() {
## `match`: bras manquant ## `match`: bras manquant
```rust [8-10|] compile_fail ```rust compile_fail [8-10|]
enum TypeEnum { enum TypeEnum {
Id1, Id1,
Id2, Id2,
......
...@@ -40,7 +40,7 @@ fn main() { ...@@ -40,7 +40,7 @@ fn main() {
## Interdiction: utilisation sans initialisation ## Interdiction: utilisation sans initialisation
```rust [2-3|] compile_fail ```rust compile_fail [2-3|]
fn main() { fn main() {
let x: i32; let x: i32;
println!("La valeur de x est: {}", x); println!("La valeur de x est: {}", x);
...@@ -60,7 +60,7 @@ fn main() { ...@@ -60,7 +60,7 @@ fn main() {
## Portée: pas ok ## Portée: pas ok
```rust [2-5|6|] compile_fail ```rust compile_fail [2-5|6|]
fn main() { fn main() {
{ {
let x = 5; let x = 5;
...@@ -88,7 +88,7 @@ fn main() { ...@@ -88,7 +88,7 @@ fn main() {
## Mutabilité/**Immutabilité** ## Mutabilité/**Immutabilité**
```rust [2|3|] compile_fail ```rust compile_fail [2|3|]
fn main() { fn main() {
let x = 5; // variable immutable let x = 5; // variable immutable
x = 6; // interdit x = 6; // interdit
......
...@@ -63,7 +63,7 @@ fn main() { // Prob: on veut modifier v[1] ...@@ -63,7 +63,7 @@ fn main() { // Prob: on veut modifier v[1]
## Modification d'élément (version 2) ## Modification d'élément (version 2)
```rust [3] compile_fail ```rust compile_fail [3]
fn main() { fn main() {
let v = vec![1, 2, 3, 4]; let v = vec![1, 2, 3, 4];
let mut elem = &v[1]; // que se passe-t-il à votre avis? let mut elem = &v[1]; // que se passe-t-il à votre avis?
...@@ -74,7 +74,7 @@ fn main() { ...@@ -74,7 +74,7 @@ fn main() {
## Modification d'élément (version 3) ## Modification d'élément (version 3)
```rust [2,3|6|] compile_fail ```rust compile_fail [2,3|6|]
fn main() { fn main() {
let v = vec![1, 2, 3, 4]; let v = vec![1, 2, 3, 4];
let mut elem = &mut v[1]; // que se passe-t-il à votre avis? let mut elem = &mut v[1]; // que se passe-t-il à votre avis?
...@@ -85,7 +85,7 @@ fn main() { ...@@ -85,7 +85,7 @@ fn main() {
## Modification d'élément (version 4) ## Modification d'élément (version 4)
```rust [3-6|7|] compile_fail ```rust compile_fail [3-6|7|]
fn main() { fn main() {
let mut v = vec![1, 2, 3, 4]; let mut v = vec![1, 2, 3, 4];
let mut elem = &mut v[1]; // que se passe-t-il à votre avis? let mut elem = &mut v[1]; // que se passe-t-il à votre avis?
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment