pub struct Note(/* private fields */);
Implementations§
Source§impl Note
impl Note
Sourcepub fn base(&self) -> Self
pub fn base(&self) -> Self
Returns the base note (the one in the C4 octave)
Examples found in repository?
examples/notes.rs (line 6)
3fn main() {
4 let note = A;
5 let i = i8::from(note);
6 let b = note.base();
7 let o = note.octave();
8 println!("A: {i} => {note:?} base={b} octave={o}");
9
10 let note = G_SHARP;
11 let i = i8::from(note);
12 let b = note.base();
13 let o = note.octave();
14 println!("G#: {i} => {note:?} base={b} octave={o}");
15
16 let note = A + SEMI_TONE;
17 let i = i8::from(note);
18 let b = note.base();
19 let o = note.octave();
20 println!("A + H: {i} => {note:?} base={b} octave={o}");
21
22 let note = G_SHARP + SEMI_TONE;
23 let i = i8::from(note);
24 let b = note.base();
25 let o = note.octave();
26 println!("G# + H: {i} => {note:?} base={b} octave={o}");
27
28 let note = A - SEMI_TONE;
29 let i = i8::from(note);
30 let b = note.base();
31 let o = note.octave();
32 println!("A - H: {i} => {note:?} base={b} octave={o}");
33
34 let note = A - SEMI_TONE - OCTAVE;
35 let i = i8::from(note);
36 let b = note.base();
37 let o = note.octave();
38 println!("A - H - O: {i} => {note:?} base={b} octave={o}");
39}
Sourcepub fn octave(&self) -> i8
pub fn octave(&self) -> i8
Returns the octave for the given note (eg. C4)
Examples found in repository?
examples/notes.rs (line 7)
3fn main() {
4 let note = A;
5 let i = i8::from(note);
6 let b = note.base();
7 let o = note.octave();
8 println!("A: {i} => {note:?} base={b} octave={o}");
9
10 let note = G_SHARP;
11 let i = i8::from(note);
12 let b = note.base();
13 let o = note.octave();
14 println!("G#: {i} => {note:?} base={b} octave={o}");
15
16 let note = A + SEMI_TONE;
17 let i = i8::from(note);
18 let b = note.base();
19 let o = note.octave();
20 println!("A + H: {i} => {note:?} base={b} octave={o}");
21
22 let note = G_SHARP + SEMI_TONE;
23 let i = i8::from(note);
24 let b = note.base();
25 let o = note.octave();
26 println!("G# + H: {i} => {note:?} base={b} octave={o}");
27
28 let note = A - SEMI_TONE;
29 let i = i8::from(note);
30 let b = note.base();
31 let o = note.octave();
32 println!("A - H: {i} => {note:?} base={b} octave={o}");
33
34 let note = A - SEMI_TONE - OCTAVE;
35 let i = i8::from(note);
36 let b = note.base();
37 let o = note.octave();
38 println!("A - H - O: {i} => {note:?} base={b} octave={o}");
39}
Sourcepub fn dim(self) -> Chords
pub fn dim(self) -> Chords
Builds a dim chord with the root in the current note.
Examples found in repository?
examples/exercise4.rs (line 9)
3fn main() {
4 println!();
5 println!("Exercise 4: | C | F | Bdim | Em | Am | Dm | G | C |");
6
7 println!("{:X}", C.maj());
8 println!("{:X}", F.maj());
9 println!("{:X}", B.dim());
10 println!("{:X}", E.min());
11 println!("{:X}", A.min());
12 println!("{:X}", D.min());
13 println!("{:X}", G.maj());
14 println!("{:X}", C.maj());
15}
Sourcepub fn dim7(self) -> Chords
pub fn dim7(self) -> Chords
Builds a dim7 chord with the root in the current note.
§Example
use musika_rs::*;
let chord = C.dim7();
println!("{:X}", chord);
Sourcepub fn dimished_chords(self) -> impl Iterator<Item = Chords>
pub fn dimished_chords(self) -> impl Iterator<Item = Chords>
Return all the diminished chords for the current note.
Sourcepub fn dom7(self) -> Chords
pub fn dom7(self) -> Chords
Builds a dominant7 choard with the root in the current note.
§Example
use musika_rs::*;
let chord = C.dom7();
println!("{:X}", chord);
Examples found in repository?
examples/chords.rs (line 13)
3fn main() {
4 let chord = C.maj();
5 println!("{chord:X}");
6
7 let chord = C.maj7();
8 println!("{chord:X}");
9
10 let chord = C.min();
11 println!("{chord:X}");
12
13 let chord = C.dom7();
14 println!("{chord:X}");
15}
pub fn dom7b5(self) -> Chords
pub fn dom7s5(self) -> Chords
pub fn dom9(self) -> Chords
pub fn dom11(self) -> Chords
Sourcepub fn dom13(self) -> Chords
pub fn dom13(self) -> Chords
Examples found in repository?
examples/exercise5.rs (line 6)
3fn key_c_major() {
4 // Bar1
5 let bar1 = Bar::new().with_chord(D.min9(), 2).with_chord(D.min9(), 2);
6 let bar2 = Bar::new().with_chord(G.dom13(), 2).with_chord(G.dom13(), 2);
7
8 let line1 = [&bar1, &bar2, &bar1, &bar2];
9 let s = line1
10 .iter()
11 .map(|b| format!("{}", b))
12 .collect::<Vec<_>>()
13 .as_slice()
14 .join(" | ");
15 println!("| {s} |");
16
17 let bar3 = Bar::new().with_chord(C.maj9(), 2).with_chord(C.maj9(), 2);
18 let bar4 = Bar::new().with_chord(F.maj13(), 2).with_chord(F.maj13(), 2);
19 let bar5 = Bar::new()
20 .with_chord(A.dom13b9b13(), 2)
21 .with_chord(A.dom13b9b13(), 2);
22
23 let line2 = [&bar3, &bar4, &bar3, &bar5];
24 let s = line2
25 .iter()
26 .map(|b| format!("{}", b))
27 .collect::<Vec<_>>()
28 .as_slice()
29 .join(" | ");
30 println!("| {s} |");
31}
32
33fn key_f_major() {
34 // Bar1
35 // D -> G [D, F, G]
36 // G -> C [G, A, B]
37
38 let bar1 = Bar::new().with_chord(G.min9(), 2).with_chord(G.min9(), 2);
39 let bar2 = Bar::new().with_chord(C.dom13(), 2).with_chord(G.dom13(), 2);
40
41 let line1 = [&bar1, &bar2, &bar1, &bar2];
42 let s = line1
43 .iter()
44 .map(|b| format!("{}", b))
45 .collect::<Vec<_>>()
46 .as_slice()
47 .join(" | ");
48 println!("| {s} |");
49
50 // C -> F [C, D, E, F]
51 // F -> Bb
52 let bar3 = Bar::new().with_chord(C.maj9(), 2).with_chord(C.maj9(), 2);
53 let bar4 = Bar::new()
54 .with_chord(A_SHARP.maj13(), 2)
55 .with_chord(A_SHARP.maj13(), 2);
56 // A -> D [A, B, C, D]
57 let bar5 = Bar::new()
58 .with_chord(D.dom13b9b13(), 2)
59 .with_chord(D.dom13b9b13(), 2);
60
61 let line2 = [&bar3, &bar4, &bar3, &bar5];
62 let s = line2
63 .iter()
64 .map(|b| format!("{}", b))
65 .collect::<Vec<_>>()
66 .as_slice()
67 .join(" | ");
68 println!("| {s} |");
69}
Sourcepub fn dom13b9b13(self) -> Chords
pub fn dom13b9b13(self) -> Chords
Examples found in repository?
examples/exercise5.rs (line 20)
3fn key_c_major() {
4 // Bar1
5 let bar1 = Bar::new().with_chord(D.min9(), 2).with_chord(D.min9(), 2);
6 let bar2 = Bar::new().with_chord(G.dom13(), 2).with_chord(G.dom13(), 2);
7
8 let line1 = [&bar1, &bar2, &bar1, &bar2];
9 let s = line1
10 .iter()
11 .map(|b| format!("{}", b))
12 .collect::<Vec<_>>()
13 .as_slice()
14 .join(" | ");
15 println!("| {s} |");
16
17 let bar3 = Bar::new().with_chord(C.maj9(), 2).with_chord(C.maj9(), 2);
18 let bar4 = Bar::new().with_chord(F.maj13(), 2).with_chord(F.maj13(), 2);
19 let bar5 = Bar::new()
20 .with_chord(A.dom13b9b13(), 2)
21 .with_chord(A.dom13b9b13(), 2);
22
23 let line2 = [&bar3, &bar4, &bar3, &bar5];
24 let s = line2
25 .iter()
26 .map(|b| format!("{}", b))
27 .collect::<Vec<_>>()
28 .as_slice()
29 .join(" | ");
30 println!("| {s} |");
31}
32
33fn key_f_major() {
34 // Bar1
35 // D -> G [D, F, G]
36 // G -> C [G, A, B]
37
38 let bar1 = Bar::new().with_chord(G.min9(), 2).with_chord(G.min9(), 2);
39 let bar2 = Bar::new().with_chord(C.dom13(), 2).with_chord(G.dom13(), 2);
40
41 let line1 = [&bar1, &bar2, &bar1, &bar2];
42 let s = line1
43 .iter()
44 .map(|b| format!("{}", b))
45 .collect::<Vec<_>>()
46 .as_slice()
47 .join(" | ");
48 println!("| {s} |");
49
50 // C -> F [C, D, E, F]
51 // F -> Bb
52 let bar3 = Bar::new().with_chord(C.maj9(), 2).with_chord(C.maj9(), 2);
53 let bar4 = Bar::new()
54 .with_chord(A_SHARP.maj13(), 2)
55 .with_chord(A_SHARP.maj13(), 2);
56 // A -> D [A, B, C, D]
57 let bar5 = Bar::new()
58 .with_chord(D.dom13b9b13(), 2)
59 .with_chord(D.dom13b9b13(), 2);
60
61 let line2 = [&bar3, &bar4, &bar3, &bar5];
62 let s = line2
63 .iter()
64 .map(|b| format!("{}", b))
65 .collect::<Vec<_>>()
66 .as_slice()
67 .join(" | ");
68 println!("| {s} |");
69}
pub fn dominant_chords(self) -> impl Iterator<Item = Chords>
Sourcepub fn maj(self) -> Chords
pub fn maj(self) -> Chords
Builds a major chord with the root in the current note.
§Example
use musika_rs::*;
let chord = C.maj();
println!("{:X}", chord);
Examples found in repository?
examples/chords.rs (line 4)
3fn main() {
4 let chord = C.maj();
5 println!("{chord:X}");
6
7 let chord = C.maj7();
8 println!("{chord:X}");
9
10 let chord = C.min();
11 println!("{chord:X}");
12
13 let chord = C.dom7();
14 println!("{chord:X}");
15}
More examples
examples/exercise4.rs (line 7)
3fn main() {
4 println!();
5 println!("Exercise 4: | C | F | Bdim | Em | Am | Dm | G | C |");
6
7 println!("{:X}", C.maj());
8 println!("{:X}", F.maj());
9 println!("{:X}", B.dim());
10 println!("{:X}", E.min());
11 println!("{:X}", A.min());
12 println!("{:X}", D.min());
13 println!("{:X}", G.maj());
14 println!("{:X}", C.maj());
15}
examples/exercise2.rs (line 6)
3fn main() {
4 println!();
5 println!("Exercise 2: | C - G | Am - F | C - G | F - Em - Dm - C |");
6 println!("{:X}", C.maj()); // C [C, E, G]
7 println!("{:X}", G.maj()); // G [G, B, D]
8 println!("{:X}", A.min()); // Am [A, C, E]
9 println!("{:X}", F.maj()); // F [F, A, C]
10 println!("{:X}", C.maj()); // C [C, E, G]
11 println!("{:X}", G.maj()); // G [G, B, D]
12 println!("{:X}", F.maj()); // F [F, A, C]
13 println!("{:X}", E.min()); // Em [E, G, B]
14 println!("{:X}", D.min()); // Dm [D, F, A]
15 println!("{:X}", C.maj()); // C [C, E, G]
16}
examples/exercise3.rs (line 7)
3fn main() {
4 println!();
5 println!("Exercise 3: | Cx4 | Gx4 | Gx4 | Cx4 | Fx4 | Cx4 | Gx4 | Cx4 |");
6
7 let cmaj = C.maj();
8 let gmaj = G.maj();
9 let fmaj = F.maj();
10
11 // bar 1
12 for _ in 0..4 {
13 println!("{:X}", cmaj); // C [C, E, G]
14 }
15
16 // bar 2
17 for _ in 0..4 {
18 println!("{:X}", gmaj); // C [C, E, G]
19 }
20
21 // bar 3
22 for _ in 0..4 {
23 println!("{:X}", gmaj); // C [C, E, G]
24 }
25
26 // bar 4
27 for _ in 0..4 {
28 println!("{:X}", cmaj); // C [C, E, G]
29 }
30
31 // bar 5
32 for _ in 0..4 {
33 println!("{:X}", fmaj); // C [C, E, G]
34 }
35
36 // bar 6
37 for _ in 0..4 {
38 println!("{:X}", cmaj); // C [C, E, G]
39 }
40
41 // bar 7
42 for _ in 0..4 {
43 println!("{:X}", gmaj); // C [C, E, G]
44 }
45
46 // bar 8
47 for _ in 0..4 {
48 println!("{:X}", cmaj); // C [C, E, G]
49 }
50}
Sourcepub fn maj7(self) -> Chords
pub fn maj7(self) -> Chords
Builds a major7 chord with the root in the current note.
§Example
use musika_rs::*;
let chord = C.maj7();
println!("{:X}", chord);
Examples found in repository?
examples/chords.rs (line 7)
3fn main() {
4 let chord = C.maj();
5 println!("{chord:X}");
6
7 let chord = C.maj7();
8 println!("{chord:X}");
9
10 let chord = C.min();
11 println!("{chord:X}");
12
13 let chord = C.dom7();
14 println!("{chord:X}");
15}
Sourcepub fn maj9(self) -> Chords
pub fn maj9(self) -> Chords
Examples found in repository?
examples/exercise5.rs (line 17)
3fn key_c_major() {
4 // Bar1
5 let bar1 = Bar::new().with_chord(D.min9(), 2).with_chord(D.min9(), 2);
6 let bar2 = Bar::new().with_chord(G.dom13(), 2).with_chord(G.dom13(), 2);
7
8 let line1 = [&bar1, &bar2, &bar1, &bar2];
9 let s = line1
10 .iter()
11 .map(|b| format!("{}", b))
12 .collect::<Vec<_>>()
13 .as_slice()
14 .join(" | ");
15 println!("| {s} |");
16
17 let bar3 = Bar::new().with_chord(C.maj9(), 2).with_chord(C.maj9(), 2);
18 let bar4 = Bar::new().with_chord(F.maj13(), 2).with_chord(F.maj13(), 2);
19 let bar5 = Bar::new()
20 .with_chord(A.dom13b9b13(), 2)
21 .with_chord(A.dom13b9b13(), 2);
22
23 let line2 = [&bar3, &bar4, &bar3, &bar5];
24 let s = line2
25 .iter()
26 .map(|b| format!("{}", b))
27 .collect::<Vec<_>>()
28 .as_slice()
29 .join(" | ");
30 println!("| {s} |");
31}
32
33fn key_f_major() {
34 // Bar1
35 // D -> G [D, F, G]
36 // G -> C [G, A, B]
37
38 let bar1 = Bar::new().with_chord(G.min9(), 2).with_chord(G.min9(), 2);
39 let bar2 = Bar::new().with_chord(C.dom13(), 2).with_chord(G.dom13(), 2);
40
41 let line1 = [&bar1, &bar2, &bar1, &bar2];
42 let s = line1
43 .iter()
44 .map(|b| format!("{}", b))
45 .collect::<Vec<_>>()
46 .as_slice()
47 .join(" | ");
48 println!("| {s} |");
49
50 // C -> F [C, D, E, F]
51 // F -> Bb
52 let bar3 = Bar::new().with_chord(C.maj9(), 2).with_chord(C.maj9(), 2);
53 let bar4 = Bar::new()
54 .with_chord(A_SHARP.maj13(), 2)
55 .with_chord(A_SHARP.maj13(), 2);
56 // A -> D [A, B, C, D]
57 let bar5 = Bar::new()
58 .with_chord(D.dom13b9b13(), 2)
59 .with_chord(D.dom13b9b13(), 2);
60
61 let line2 = [&bar3, &bar4, &bar3, &bar5];
62 let s = line2
63 .iter()
64 .map(|b| format!("{}", b))
65 .collect::<Vec<_>>()
66 .as_slice()
67 .join(" | ");
68 println!("| {s} |");
69}
pub fn maj11(self) -> Chords
Sourcepub fn maj13(self) -> Chords
pub fn maj13(self) -> Chords
Examples found in repository?
examples/exercise5.rs (line 18)
3fn key_c_major() {
4 // Bar1
5 let bar1 = Bar::new().with_chord(D.min9(), 2).with_chord(D.min9(), 2);
6 let bar2 = Bar::new().with_chord(G.dom13(), 2).with_chord(G.dom13(), 2);
7
8 let line1 = [&bar1, &bar2, &bar1, &bar2];
9 let s = line1
10 .iter()
11 .map(|b| format!("{}", b))
12 .collect::<Vec<_>>()
13 .as_slice()
14 .join(" | ");
15 println!("| {s} |");
16
17 let bar3 = Bar::new().with_chord(C.maj9(), 2).with_chord(C.maj9(), 2);
18 let bar4 = Bar::new().with_chord(F.maj13(), 2).with_chord(F.maj13(), 2);
19 let bar5 = Bar::new()
20 .with_chord(A.dom13b9b13(), 2)
21 .with_chord(A.dom13b9b13(), 2);
22
23 let line2 = [&bar3, &bar4, &bar3, &bar5];
24 let s = line2
25 .iter()
26 .map(|b| format!("{}", b))
27 .collect::<Vec<_>>()
28 .as_slice()
29 .join(" | ");
30 println!("| {s} |");
31}
32
33fn key_f_major() {
34 // Bar1
35 // D -> G [D, F, G]
36 // G -> C [G, A, B]
37
38 let bar1 = Bar::new().with_chord(G.min9(), 2).with_chord(G.min9(), 2);
39 let bar2 = Bar::new().with_chord(C.dom13(), 2).with_chord(G.dom13(), 2);
40
41 let line1 = [&bar1, &bar2, &bar1, &bar2];
42 let s = line1
43 .iter()
44 .map(|b| format!("{}", b))
45 .collect::<Vec<_>>()
46 .as_slice()
47 .join(" | ");
48 println!("| {s} |");
49
50 // C -> F [C, D, E, F]
51 // F -> Bb
52 let bar3 = Bar::new().with_chord(C.maj9(), 2).with_chord(C.maj9(), 2);
53 let bar4 = Bar::new()
54 .with_chord(A_SHARP.maj13(), 2)
55 .with_chord(A_SHARP.maj13(), 2);
56 // A -> D [A, B, C, D]
57 let bar5 = Bar::new()
58 .with_chord(D.dom13b9b13(), 2)
59 .with_chord(D.dom13b9b13(), 2);
60
61 let line2 = [&bar3, &bar4, &bar3, &bar5];
62 let s = line2
63 .iter()
64 .map(|b| format!("{}", b))
65 .collect::<Vec<_>>()
66 .as_slice()
67 .join(" | ");
68 println!("| {s} |");
69}
pub fn major_chords(self) -> impl Iterator<Item = Chords>
Sourcepub fn min(self) -> Chords
pub fn min(self) -> Chords
Builds a minor chord with the root in the current note.
§Example
use musika_rs::*;
let chord = C.min();
println!("{:X}", chord);
Examples found in repository?
examples/chords.rs (line 10)
3fn main() {
4 let chord = C.maj();
5 println!("{chord:X}");
6
7 let chord = C.maj7();
8 println!("{chord:X}");
9
10 let chord = C.min();
11 println!("{chord:X}");
12
13 let chord = C.dom7();
14 println!("{chord:X}");
15}
More examples
examples/exercise4.rs (line 10)
3fn main() {
4 println!();
5 println!("Exercise 4: | C | F | Bdim | Em | Am | Dm | G | C |");
6
7 println!("{:X}", C.maj());
8 println!("{:X}", F.maj());
9 println!("{:X}", B.dim());
10 println!("{:X}", E.min());
11 println!("{:X}", A.min());
12 println!("{:X}", D.min());
13 println!("{:X}", G.maj());
14 println!("{:X}", C.maj());
15}
examples/exercise2.rs (line 8)
3fn main() {
4 println!();
5 println!("Exercise 2: | C - G | Am - F | C - G | F - Em - Dm - C |");
6 println!("{:X}", C.maj()); // C [C, E, G]
7 println!("{:X}", G.maj()); // G [G, B, D]
8 println!("{:X}", A.min()); // Am [A, C, E]
9 println!("{:X}", F.maj()); // F [F, A, C]
10 println!("{:X}", C.maj()); // C [C, E, G]
11 println!("{:X}", G.maj()); // G [G, B, D]
12 println!("{:X}", F.maj()); // F [F, A, C]
13 println!("{:X}", E.min()); // Em [E, G, B]
14 println!("{:X}", D.min()); // Dm [D, F, A]
15 println!("{:X}", C.maj()); // C [C, E, G]
16}
Sourcepub fn min7(self) -> Chords
pub fn min7(self) -> Chords
Builds a minor7 chord with the root in the current note.
§Example
use musika_rs::*;
let chord = C.min7();
println!("{:X}", chord);
pub fn min7b5(self) -> Chords
Sourcepub fn min9(self) -> Chords
pub fn min9(self) -> Chords
Examples found in repository?
examples/exercise5.rs (line 5)
3fn key_c_major() {
4 // Bar1
5 let bar1 = Bar::new().with_chord(D.min9(), 2).with_chord(D.min9(), 2);
6 let bar2 = Bar::new().with_chord(G.dom13(), 2).with_chord(G.dom13(), 2);
7
8 let line1 = [&bar1, &bar2, &bar1, &bar2];
9 let s = line1
10 .iter()
11 .map(|b| format!("{}", b))
12 .collect::<Vec<_>>()
13 .as_slice()
14 .join(" | ");
15 println!("| {s} |");
16
17 let bar3 = Bar::new().with_chord(C.maj9(), 2).with_chord(C.maj9(), 2);
18 let bar4 = Bar::new().with_chord(F.maj13(), 2).with_chord(F.maj13(), 2);
19 let bar5 = Bar::new()
20 .with_chord(A.dom13b9b13(), 2)
21 .with_chord(A.dom13b9b13(), 2);
22
23 let line2 = [&bar3, &bar4, &bar3, &bar5];
24 let s = line2
25 .iter()
26 .map(|b| format!("{}", b))
27 .collect::<Vec<_>>()
28 .as_slice()
29 .join(" | ");
30 println!("| {s} |");
31}
32
33fn key_f_major() {
34 // Bar1
35 // D -> G [D, F, G]
36 // G -> C [G, A, B]
37
38 let bar1 = Bar::new().with_chord(G.min9(), 2).with_chord(G.min9(), 2);
39 let bar2 = Bar::new().with_chord(C.dom13(), 2).with_chord(G.dom13(), 2);
40
41 let line1 = [&bar1, &bar2, &bar1, &bar2];
42 let s = line1
43 .iter()
44 .map(|b| format!("{}", b))
45 .collect::<Vec<_>>()
46 .as_slice()
47 .join(" | ");
48 println!("| {s} |");
49
50 // C -> F [C, D, E, F]
51 // F -> Bb
52 let bar3 = Bar::new().with_chord(C.maj9(), 2).with_chord(C.maj9(), 2);
53 let bar4 = Bar::new()
54 .with_chord(A_SHARP.maj13(), 2)
55 .with_chord(A_SHARP.maj13(), 2);
56 // A -> D [A, B, C, D]
57 let bar5 = Bar::new()
58 .with_chord(D.dom13b9b13(), 2)
59 .with_chord(D.dom13b9b13(), 2);
60
61 let line2 = [&bar3, &bar4, &bar3, &bar5];
62 let s = line2
63 .iter()
64 .map(|b| format!("{}", b))
65 .collect::<Vec<_>>()
66 .as_slice()
67 .join(" | ");
68 println!("| {s} |");
69}
pub fn min11(self) -> Chords
pub fn min13(self) -> Chords
pub fn minor_chords(self) -> impl Iterator<Item = Chords>
Sourcepub fn all_chords(self) -> impl Iterator<Item = Chords>
pub fn all_chords(self) -> impl Iterator<Item = Chords>
Trait Implementations§
Source§impl Ord for Note
impl Ord for Note
Source§impl PartialOrd for Note
impl PartialOrd for Note
impl Copy for Note
impl Eq for Note
impl StructuralPartialEq for Note
Auto Trait Implementations§
impl Freeze for Note
impl RefUnwindSafe for Note
impl Send for Note
impl Sync for Note
impl Unpin for Note
impl UnwindSafe for Note
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more