SYMBOL INDEX (596 symbols across 130 files) FILE: ch02/ex02/examples/println.rs function main (line 1) | fn main() { FILE: ch02/ex02/tests/integration_tests.rs constant CMD (line 6) | const CMD: &'static str = "./examples/println"; function verify_output (line 9) | fn verify_output() { FILE: ch02/hello/src/main.rs function main (line 2) | fn main() { FILE: ch02/hello/tests/integration_tests.rs function run_hello (line 7) | fn run_hello() { FILE: ch02/rpn/src/main.rs function main (line 1) | fn main() { function rpn (line 18) | fn rpn(exp: &str) -> f64 { function apply2 (line 50) | fn apply2(stack: &mut Vec, fun: F) FILE: ch02/rpn/tests/integration_tests.rs function run_rpn (line 7) | fn run_rpn() { FILE: ch03/bitonic-sorter/examples/benchmark.rs function main (line 14) | fn main() { function run_sorts (line 33) | fn run_sorts(bits: u32) { function timed_sort (line 64) | fn timed_sort(sorter: &F, len: usize, name: &str) -> f64 FILE: ch03/bitonic-sorter/py-src/bitonic_sorter.py function sort (line 5) | def sort(x, up): function _sub_sort (line 28) | def _sub_sort(x, up): function _compare_and_swap (line 52) | def _compare_and_swap(x, up): FILE: ch03/bitonic-sorter/src/first.rs function sort (line 7) | pub fn sort(x: &mut [u32], up: bool) { function sub_sort (line 16) | fn sub_sort(x: &mut [u32], up: bool) { function compare_and_swap (line 25) | fn compare_and_swap(x: &mut [u32], up: bool) { function sort_u32_ascending (line 43) | fn sort_u32_ascending() { function sort_u32_descending (line 57) | fn sort_u32_descending() { FILE: ch03/bitonic-sorter/src/fourth.rs constant PARALLEL_THRESHOLD (line 6) | const PARALLEL_THRESHOLD: usize = 4096; function sort (line 8) | pub fn sort(x: &mut [T], order: &SortOrder) -> Result<(),... function sort_by (line 15) | pub fn sort_by(x: &mut [T], comparator: &F) -> Result<(), String> function do_sort (line 27) | fn do_sort(x: &mut [T], forward: bool, comparator: &F) function sub_sort (line 50) | fn sub_sort(x: &mut [T], forward: bool, comparator: &F) function compare_and_swap (line 68) | fn compare_and_swap(x: &mut [T], forward: bool, comparator: &F) type Student (line 91) | struct Student { method new (line 98) | fn new(first_name: &str, last_name: &str, age: u8) -> Self { function sort_to_fail (line 108) | fn sort_to_fail() { function sort_u32_ascending (line 114) | fn sort_u32_ascending() { function sort_u32_descending (line 121) | fn sort_u32_descending() { function sort_u32_large (line 128) | fn sort_u32_large() { function sort_str_ascending (line 142) | fn sort_str_ascending() { function sort_str_descending (line 149) | fn sort_str_descending() { function sort_students_by_age_ascending (line 156) | fn sort_students_by_age_ascending() { function sort_students_by_name_ascending (line 175) | fn sort_students_by_name_ascending() { FILE: ch03/bitonic-sorter/src/lib.rs type SortOrder (line 15) | pub enum SortOrder { FILE: ch03/bitonic-sorter/src/second.rs function sort (line 4) | pub fn sort(x: &mut [T], order: &SortOrder) -> Result<(), String> { function do_sort (line 16) | fn do_sort(x: &mut [T], up: bool) { function sub_sort (line 25) | fn sub_sort(x: &mut [T], up: bool) { function compare_and_swap (line 34) | fn compare_and_swap(x: &mut [T], up: bool) { function sort_to_fail (line 49) | fn sort_to_fail() { function sort_u32_ascending (line 55) | fn sort_u32_ascending() { function sort_u32_descending (line 62) | fn sort_u32_descending() { function sort_str_ascending (line 69) | fn sort_str_ascending() { function sort_str_descending (line 77) | fn sort_str_descending() { FILE: ch03/bitonic-sorter/src/third.rs function sort (line 4) | pub fn sort(x: &mut [T], order: &SortOrder) -> Result<(), String> { function sort_by (line 14) | pub fn sort_by(x: &mut [T], comparator: &F) -> Result<(), String> function do_sort (line 25) | fn do_sort(x: &mut [T], forward: bool, comparator: &F) function sub_sort (line 40) | fn sub_sort(x: &mut [T], forward: bool, comparator: &F) function compare_and_swap (line 51) | fn compare_and_swap(x: &mut [T], forward: bool, comparator: &F) type Student (line 81) | struct Student { method new (line 91) | fn new(first_name: &str, last_name: &str, age: u8) -> Self { function sort_to_fail (line 104) | fn sort_to_fail() { function sort_u32_ascending (line 110) | fn sort_u32_ascending() { function sort_u32_descending (line 117) | fn sort_u32_descending() { function sort_u32_large (line 124) | fn sort_u32_large() { function sort_str_ascending (line 141) | fn sort_str_ascending() { function sort_str_descending (line 148) | fn sort_str_descending() { function sort_students_by_age_ascending (line 156) | fn sort_students_by_age_ascending() { function sort_students_by_name_ascending (line 183) | fn sort_students_by_name_ascending() { FILE: ch03/bitonic-sorter/src/utils.rs function new_u32_vec (line 5) | pub fn new_u32_vec(n: usize) -> Vec { function is_sorted_ascending (line 16) | pub fn is_sorted_ascending(x: &[T]) -> bool { function is_sorted_descending (line 29) | pub fn is_sorted_descending(x: &[T]) -> bool { FILE: ch03/bitonic-sorter/tests/integration_tests.rs function run_benchmark (line 7) | fn run_benchmark() { FILE: ch04/ex04/examples/ch04_01_unit.rs function hello (line 2) | fn hello() { function main (line 6) | fn main() { FILE: ch04/ex04/examples/ch04_02_bool.rs function main (line 2) | fn main() { FILE: ch04/ex04/examples/ch04_03_integer.rs function main (line 2) | fn main() { FILE: ch04/ex04/examples/ch04_04_overflowed1.rs function main (line 1) | fn main() { FILE: ch04/ex04/examples/ch04_05_overflowed2.rs function main (line 1) | fn main() { FILE: ch04/ex04/examples/ch04_06_float.rs function main (line 2) | fn main() { FILE: ch04/ex04/examples/ch04_07_char.rs function main (line 2) | fn main() { FILE: ch04/ex04/examples/ch04_08_reference1.rs function f1 (line 3) | fn f1(mut n: u32) { function f2 (line 10) | fn f2(n_ptr: &mut u32) { function main (line 18) | fn main() { FILE: ch04/ex04/examples/ch04_09_reference2.rs function main (line 1) | fn main() { FILE: ch04/ex04/examples/ch04_10_raw_pointer.rs function main (line 1) | fn main() { FILE: ch04/ex04/examples/ch04_11_fn_pointer.rs function double (line 2) | fn double(n: i32) -> i32 { function abs (line 7) | fn abs(n: i32) -> i32 { function main (line 11) | fn main() { FILE: ch04/ex04/examples/ch04_12_fn_pointer_vs_closure.rs function main (line 1) | fn main() { FILE: ch04/ex04/examples/ch04_13_tuple.rs function main (line 1) | fn main() { FILE: ch04/ex04/examples/ch04_14_array.rs function main (line 1) | fn main() { FILE: ch04/ex04/examples/ch04_15_slice1.rs function print_info (line 2) | fn print_info(name: &str, sl: &[char]) { function main (line 13) | fn main() { FILE: ch04/ex04/examples/ch04_16_slice2.rs function main (line 1) | fn main() { FILE: ch04/ex04/examples/ch04_17_str.rs function main (line 1) | fn main() { FILE: ch04/ex04/tests/integration_tests.rs function run_ch04_01 (line 7) | fn run_ch04_01() { function run_ch04_02 (line 15) | fn run_ch04_02() { function run_ch04_03 (line 23) | fn run_ch04_03() { function run_ch04_04 (line 31) | fn run_ch04_04() { function run_ch04_05 (line 42) | fn run_ch04_05() { function run_ch04_06 (line 50) | fn run_ch04_06() { function run_ch04_07 (line 58) | fn run_ch04_07() { function run_ch04_08 (line 66) | fn run_ch04_08() { function run_ch04_09 (line 87) | fn run_ch04_09() { function run_ch04_10 (line 95) | fn run_ch04_10() { function run_ch04_11 (line 103) | fn run_ch04_11() { function run_ch04_12 (line 111) | fn run_ch04_12() { function run_ch04_13 (line 119) | fn run_ch04_13() { function run_ch04_14 (line 127) | fn run_ch04_14() { function run_ch04_15 (line 138) | fn run_ch04_15() { function run_ch04_16 (line 163) | fn run_ch04_16() { function run_ch04_17 (line 171) | fn run_ch04_17() { FILE: ch05/ex05/examples/ch05_01_box.rs function main (line 1) | fn main() { FILE: ch05/ex05/examples/ch05_02_vec.rs function main (line 1) | fn main() { FILE: ch05/ex05/examples/ch05_03_boxed_slice.rs function main (line 1) | fn main() { FILE: ch05/ex05/examples/ch05_04_hash_map.rs function main (line 1) | fn main() { FILE: ch05/ex05/examples/ch05_05_string1.rs function main (line 1) | fn main() { FILE: ch05/ex05/examples/ch05_06_string2.rs function main (line 1) | fn main() { FILE: ch05/ex05/examples/ch05_07_string3.rs function f1 (line 9) | fn f1(name: &str) -> String { function main (line 13) | fn main() { FILE: ch05/ex05/examples/ch05_08_string4.rs function main (line 1) | fn main() { FILE: ch05/ex05/examples/ch05_09_range.rs function main (line 1) | fn main() { FILE: ch05/ex05/examples/ch05_10_option.rs function main (line 1) | fn main() { function add_elems (line 55) | fn add_elems(s: &[i32]) -> Option { FILE: ch05/ex05/examples/ch05_11_result.rs function main (line 1) | fn main() { FILE: ch05/ex05/examples/ch05_12_type_alias.rs type UserName (line 1) | type UserName = String; type Id (line 2) | type Id = i64; type Timestamp (line 3) | type Timestamp = i64; type User (line 4) | type User = (Id, UserName, Timestamp); function new_user (line 6) | fn new_user(name: UserName, id: Id, created: Timestamp) -> User { function main (line 10) | fn main() { FILE: ch05/ex05/examples/ch05_13_struct1.rs type Polygon (line 1) | struct Polygon { function new_polygon (line 10) | fn new_polygon(vertexes: Vec<(i32, i32)>) -> Polygon { function main (line 16) | fn main() { FILE: ch05/ex05/examples/ch05_14_struct2.rs type Polygon (line 3) | struct Polygon { method default (line 10) | fn default() -> Self { function main (line 19) | fn main() { FILE: ch05/ex05/examples/ch05_15_struct3.rs type Triangle (line 1) | struct Triangle(Vertex, Vertex, Vertex); type Vertex (line 2) | struct Vertex(i32, i32); function main (line 4) | fn main() { FILE: ch05/ex05/examples/ch05_16_struct4.rs type UserName (line 1) | struct UserName(String); type Id (line 2) | struct Id(u64); type Timestamp (line 3) | struct Timestamp(u64); type User (line 4) | type User = (Id, UserName, Timestamp); function new_user (line 7) | fn new_user(name: UserName, id: Id, created: Timestamp) -> User { function main (line 12) | fn main() { FILE: ch05/ex05/examples/ch05_17_struct5.rs type UniqueValue (line 2) | struct UniqueValue; function main (line 7) | fn main() { FILE: ch05/ex05/examples/ch05_18_enum1.rs type Weekday (line 6) | enum Weekday { type Month (line 13) | enum Month { function say_something (line 18) | fn say_something(weekday: Weekday) { function main (line 26) | fn main() { FILE: ch05/ex05/examples/ch05_19_enum2.rs type UserName (line 1) | type UserName = String; type Task (line 5) | enum Task { function main (line 18) | fn main() { FILE: ch05/ex05/examples/ch05_20_adv_types1.rs type Polygon (line 3) | pub struct Polygon { type Coordinates (line 11) | trait Coordinates {} type CartesianCoord (line 16) | struct CartesianCoord { type PolarCoord (line 25) | struct PolarCoord { function main (line 31) | fn main() { FILE: ch05/ex05/examples/ch05_21_adv_types2.rs type A (line 2) | struct A { function main (line 8) | fn main() { FILE: ch05/ex05/examples/ch05_22_type_cast1.rs function main (line 1) | fn main() { FILE: ch05/ex05/examples/ch05_23_type_cast2.rs function main (line 1) | fn main() { FILE: ch05/ex05/examples/ch05_24_transmute.rs function main (line 1) | fn main() { FILE: ch05/ex05/examples/ch05_25_type_coercion1.rs function main (line 1) | fn main() { function intro (line 7) | fn intro() { function coercion_sites (line 34) | fn coercion_sites() { function transitivity (line 39) | fn transitivity() { FILE: ch05/ex05/examples/ch05_26_type_coercion2.rs function f1 (line 1) | fn f1(n: &mut usize, str: &str, slice: &[i32]) { function main (line 5) | fn main() { FILE: ch05/ex05/examples/ch05_27_type_coercion3.rs function f1 (line 1) | fn f1(slice: &[usize]) -> usize { function f2 (line 5) | fn f2(slice: &mut [usize]) { function main (line 11) | fn main() { FILE: ch05/ex05/examples/ch05_28_type_coercion4.rs function f1 (line 1) | fn f1(p: &[i32]) -> i32 { p[0] } function f2 (line 2) | fn f2(p: Box<[i32]>) -> i32 { p[0] } function main (line 4) | fn main() { FILE: ch05/ex05/examples/ch05_29_type_coercion5.rs function main (line 1) | fn main() { FILE: ch05/ex05/tests/integration_tests.rs function run_ch05_01 (line 7) | fn run_ch05_01() { function run_ch05_02 (line 15) | fn run_ch05_02() { function run_ch05_03 (line 23) | fn run_ch05_03() { function run_ch05_04 (line 36) | fn run_ch05_04() { function run_ch05_05 (line 44) | fn run_ch05_05() { function run_ch05_06 (line 52) | fn run_ch05_06() { function run_ch05_07 (line 63) | fn run_ch05_07() { function run_ch05_08 (line 71) | fn run_ch05_08() { function run_ch05_09 (line 79) | fn run_ch05_09() { function run_ch05_10 (line 87) | fn run_ch05_10() { function run_ch05_11 (line 95) | fn run_ch05_11() { function run_ch05_12 (line 106) | fn run_ch05_12() { function run_ch05_13 (line 114) | fn run_ch05_13() { function run_ch05_14 (line 122) | fn run_ch05_14() { function run_ch05_15 (line 130) | fn run_ch05_15() { function run_ch05_16 (line 138) | fn run_ch05_16() { function run_ch05_17 (line 146) | fn run_ch05_17() { function run_ch05_18 (line 154) | fn run_ch05_18() { function run_ch05_19 (line 162) | fn run_ch05_19() { function run_ch05_20 (line 176) | fn run_ch05_20() { function run_ch05_21 (line 184) | fn run_ch05_21() { function run_ch05_22 (line 204) | fn run_ch05_22() { function run_ch05_23 (line 212) | fn run_ch05_23() { function run_ch05_24 (line 220) | fn run_ch05_24() { function run_ch05_25 (line 233) | fn run_ch05_25() { function run_ch05_26 (line 241) | fn run_ch05_26() { function run_ch05_27 (line 249) | fn run_ch05_27() { function run_ch05_28 (line 257) | fn run_ch05_28() { function run_ch05_29 (line 265) | fn run_ch05_29() { FILE: ch06/leap-year/src/main.rs function main (line 10) | fn main() { function is_leap_year (line 25) | fn is_leap_year(year: u32) -> bool { FILE: ch06/leap-year/tests/integration_tests.rs constant CMD (line 6) | const CMD: &'static str = "./leap-year"; function year_2000_is_leap_year (line 9) | fn year_2000_is_leap_year() { function year_2019_is_not_leap_year (line 20) | fn year_2019_is_not_leap_year() { function year_2020_is_leap_year (line 27) | fn year_2020_is_leap_year() { function year_2100_is_not_leap_year (line 34) | fn year_2100_is_not_leap_year() { FILE: ch07/ex07/examples/ch07_01_value_scope.rs type Parent (line 4) | struct Parent(usize, Child, Child); method drop (line 10) | fn drop(&mut self) { type Child (line 16) | struct Child(usize); method drop (line 20) | fn drop(&mut self) { function main (line 25) | fn main() { FILE: ch07/ex07/examples/ch07_02_move_semantics.rs type Parent (line 2) | struct Parent(usize, Child, Child); method drop (line 7) | fn drop(&mut self) { type Child (line 13) | struct Child(usize); method drop (line 16) | fn drop(&mut self) { function main (line 21) | fn main() { function move_semantics (line 28) | fn move_semantics() { function f1 (line 40) | fn f1(p: &Parent) { function f2 (line 45) | fn f2(p: &mut Parent) { function borrow (line 49) | fn borrow() { FILE: ch07/ex07/examples/ch07_03_nll.rs function process_or_default (line 5) | fn process_or_default(key: char, map: &mut HashMap) { function main (line 18) | fn main() { FILE: ch07/ex07/examples/ch07_04_static_lifetime.rs function take_static (line 5) | fn take_static(_x: T) { } function main (line 7) | fn main() { FILE: ch07/ex07/examples/ch07_05_rc.rs type Child (line 2) | struct Child(usize); method drop (line 5) | fn drop(&mut self) { function main (line 12) | fn main() { FILE: ch07/ex07/examples/ch07_06_simple_refcell.rs type A (line 3) | struct A { type B (line 10) | struct B { function main (line 16) | fn main() { FILE: ch07/ex07/examples/ch07_07_tls_refcell.rs function main (line 14) | fn main() { FILE: ch07/ex07/examples/ch07_08_arc_rwlock.rs function main (line 6) | fn main() -> Result<(), Box> { FILE: ch07/ex07/examples/ch07_09_static_rwlock.rs function main (line 17) | fn main() -> Result<(), Box> { FILE: ch07/ex07/examples/ch07_10_closure.rs function apply_fn (line 3) | fn apply_fn(f: &F, ch: char) where F: Fn(char) -> bool { function apply_fn_mut (line 8) | fn apply_fn_mut(f: &mut F, ch: char) where F: FnMut(char) -> bool { function apply_fn_once (line 13) | fn apply_fn_once(f: F, ch: char) where F: FnOnce(char) -> bool { function main (line 17) | fn main() { FILE: ch07/ex07/tests/integration_tests.rs function run_ch07_01 (line 7) | fn run_ch07_01() { function run_ch07_02 (line 33) | fn run_ch07_02() { function run_ch07_03 (line 60) | fn run_ch07_03() { function run_ch07_04 (line 68) | fn run_ch07_04() { function run_ch07_05 (line 76) | fn run_ch07_05() { function run_ch07_06 (line 95) | fn run_ch07_06() { function run_ch07_07 (line 103) | fn run_ch07_07() { function run_ch07_08 (line 111) | fn run_ch07_08() { function run_ch07_09 (line 119) | fn run_ch07_09() { function run_ch07_10 (line 127) | fn run_ch07_10() { FILE: ch07/toy-vec/examples/toy_vec_01.rs function main (line 3) | fn main() { FILE: ch07/toy-vec/examples/toy_vec_02.rs function main (line 3) | fn main() { FILE: ch07/toy-vec/examples/toy_vec_03.rs function main (line 3) | fn main() { FILE: ch07/toy-vec/src/lib.rs type ToyVec (line 3) | pub struct ToyVec { function new (line 12) | pub fn new() -> Self { function with_capacity (line 17) | pub fn with_capacity(capacity: usize) -> Self { function allocate_in_heap (line 25) | fn allocate_in_heap(size: usize) -> Box<[T]> { function len (line 33) | pub fn len(&self) -> usize { function capacity (line 38) | pub fn capacity(&self) -> usize { function push (line 42) | pub fn push(&mut self, element: T) { function grow (line 51) | fn grow(&mut self) { function get (line 68) | pub fn get(&self, index: usize) -> Option<&T> { function get_or (line 77) | pub fn get_or<'a>(&'a self, index: usize, default: &'a T) -> &'a T { function pop (line 81) | pub fn pop(&mut self) -> Option { function iter (line 99) | pub fn iter<'vec>(&'vec self) -> Iter<'vec, T> { function iter_mut (line 108) | pub fn iter_mut<'vec>(&'vec mut self) -> IterMut<'vec, T> { function into_iter (line 117) | pub fn into_iter<'vec>(self) -> IntoIter { method default (line 128) | fn default() -> Self { method clone (line 135) | fn clone(&self) -> Self { method eq (line 146) | fn eq(&self, other: &Self) -> bool { function fmt (line 153) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { type Item (line 160) | type Item = &'vec T; type IntoIter (line 161) | type IntoIter = Iter<'vec, T>; method into_iter (line 164) | fn into_iter(self) -> Self::IntoIter { type Item (line 170) | type Item = &'vec mut T; type IntoIter (line 171) | type IntoIter = IterMut<'vec, T>; method into_iter (line 174) | fn into_iter(self) -> Self::IntoIter { type Item (line 180) | type Item = T; type IntoIter (line 181) | type IntoIter = IntoIter; method into_iter (line 184) | fn into_iter(self) -> Self::IntoIter { type Iter (line 195) | pub struct Iter<'vec, T> { type Item (line 204) | type Item = &'vec T; method next (line 208) | fn next(&mut self) -> Option { method size_hint (line 218) | fn size_hint(&self) -> (usize, Option) { type IterMut (line 227) | pub struct IterMut<'vec, T> { type Item (line 234) | type Item = &'vec mut T; method next (line 236) | fn next(&mut self) -> Option { method size_hint (line 252) | fn size_hint(&self) -> (usize, Option) { type IntoIter (line 261) | pub struct IntoIter { type Item (line 268) | type Item = T; method next (line 270) | fn next(&mut self) -> Option { method size_hint (line 281) | fn size_hint(&self) -> (usize, Option) { function test_char_vec (line 292) | fn test_char_vec() { function test_string_vec (line 325) | fn test_string_vec() { function test_nested_vec (line 356) | fn test_nested_vec() { function test_iter (line 402) | fn test_iter() { function test_iter_mut (line 434) | fn test_iter_mut() { function test_into_iter (line 465) | fn test_into_iter() { FILE: ch07/toy-vec/tests/integration_tests.rs function run_toy_vec_01 (line 7) | fn run_toy_vec_01() { function run_toy_vec_02 (line 15) | fn run_toy_vec_02() { function run_toy_vec_03 (line 23) | fn run_toy_vec_03() { FILE: ch08/ex08/examples-java/Overload.java class Overload (line 4) | public class Overload { method main (line 5) | public static void main(String[] args) { method call (line 12) | static String call(List list) { method call (line 17) | static String call(ArrayList list) { FILE: ch08/ex08/examples/ch08_01_trait_basics.rs type CartesianCoord (line 3) | pub struct CartesianCoord { type PolarCoord (line 18) | pub struct PolarCoord { type Coordinates (line 24) | pub trait Coordinates { method to_cartesian (line 26) | fn to_cartesian(self) -> CartesianCoord; method from_cartesian (line 27) | fn from_cartesian(cart: CartesianCoord) -> Self; method to_cartesian (line 32) | fn to_cartesian(self) -> CartesianCoord { method from_cartesian (line 35) | fn from_cartesian(cart: CartesianCoord) -> Self { method to_cartesian (line 42) | fn to_cartesian(self) -> CartesianCoord { method from_cartesian (line 48) | fn from_cartesian(cart: CartesianCoord) -> Self { method to_cartesian (line 58) | fn to_cartesian(self) -> CartesianCoord { method from_cartesian (line 64) | fn from_cartesian(cart: CartesianCoord) -> Self { function main (line 69) | fn main() { FILE: ch08/ex08/examples/ch08_02_trait_basics.rs type CartesianCoord (line 3) | pub struct CartesianCoord { type PolarCoord (line 9) | pub struct PolarCoord { type Coordinates (line 15) | pub trait Coordinates { method to_cartesian (line 17) | fn to_cartesian(self) -> CartesianCoord; method from_cartesian (line 18) | fn from_cartesian(cart: CartesianCoord) -> Self; method to_cartesian (line 23) | fn to_cartesian(self) -> CartesianCoord { method from_cartesian (line 26) | fn from_cartesian(cart: CartesianCoord) -> Self { method to_cartesian (line 33) | fn to_cartesian(self) -> CartesianCoord { method from_cartesian (line 39) | fn from_cartesian(cart: CartesianCoord) -> Self { method to_cartesian (line 49) | fn to_cartesian(self) -> CartesianCoord { method from_cartesian (line 55) | fn from_cartesian(cart: CartesianCoord) -> Self { function print_point (line 73) | fn print_point(point: impl Coordinates) { function as_cartesian (line 84) | fn as_cartesian(point: &(impl Coordinates + Clone)) -> CartesianCoord { function double_point (line 90) | fn double_point(point: P) -> P { function make_point (line 99) | fn make_point(x: T, y: T) -> CartesianCoord type ConvertTo (line 108) | trait ConvertTo { method convert (line 109) | fn convert(&self) -> Output; function to (line 113) | fn to(i: i32) -> T function main (line 122) | fn main() { FILE: ch08/ex08/examples/ch08_03_trait_basics.rs type CartesianCoord (line 3) | pub struct CartesianCoord { type PolarCoord (line 9) | pub struct PolarCoord { type Coordinates (line 15) | pub trait Coordinates { method to_cartesian (line 17) | fn to_cartesian(self) -> CartesianCoord; method from_cartesian (line 18) | fn from_cartesian(cart: CartesianCoord) -> Self; method to_cartesian (line 23) | fn to_cartesian(self) -> CartesianCoord { method from_cartesian (line 26) | fn from_cartesian(cart: CartesianCoord) -> Self { method to_cartesian (line 33) | fn to_cartesian(self) -> CartesianCoord { method from_cartesian (line 39) | fn from_cartesian(cart: CartesianCoord) -> Self { method to_cartesian (line 49) | fn to_cartesian(self) -> CartesianCoord { method from_cartesian (line 55) | fn from_cartesian(cart: CartesianCoord) -> Self { function print_point (line 60) | fn print_point(point: impl Coordinates) { type Matrix (line 65) | struct Matrix([[f64; 2]; 2]); type LinearTransform (line 67) | trait LinearTransform: Coordinates { method transform (line 68) | fn transform(self, matrix: &Matrix) -> Self method rotate (line 82) | fn rotate(self, theta: f64) -> Self method rotate (line 97) | fn rotate(mut self, theta: f64) -> Self { function main (line 103) | fn main() { FILE: ch08/ex08/examples/ch08_04_trait_generics.rs type Init (line 1) | trait Init { method init (line 2) | fn init(t: T) -> Self; function init (line 7) | fn init(t: T) -> Self { function main (line 12) | fn main() { FILE: ch08/ex08/examples/ch08_05_trait_generics.rs type As (line 1) | trait As { method cast (line 2) | fn cast(self) -> T; function cast (line 7) | fn cast(self) -> u64 { function cast (line 14) | fn cast(self) -> u32 { function main (line 19) | fn main() { FILE: ch08/ex08/examples/ch08_06_overload.rs type Overload1 (line 27) | trait Overload1 { method call (line 28) | fn call(&self, t: T) -> &'static str; function call (line 32) | fn call(&self, _: i32) -> &'static str { function call (line 38) | fn call(&self, _: char) -> &'static str { function main (line 43) | fn main() { FILE: ch08/ex08/examples/ch08_07_trait_object.rs function main (line 3) | fn main() { function stringify (line 22) | fn stringify(t: impl ToString) -> String { FILE: ch08/ex08/examples/ch08_08_existential_impl_trait.rs function to_n (line 2) | fn to_n(n: i32) -> impl Iterator { function to_n_even (line 13) | fn to_n_even(n: i32) -> impl Iterator { function one (line 19) | fn one() -> impl fmt::Display { function main (line 32) | fn main() { function gen_counter (line 38) | fn gen_counter(init: i32) -> impl FnMut() -> i32 { FILE: ch08/ex08/examples/ch08_09_associated_const.rs type CartesianCoord (line 3) | pub struct CartesianCoord { type Dimension (line 9) | trait Dimension { constant DIMENSION (line 10) | const DIMENSION: u32; constant DIMENSION (line 24) | const DIMENSION: u32 = 2; function main (line 13) | fn main() { FILE: ch08/ex08/examples/ch08_10_associated_type.rs type Server (line 3) | trait Server { method handle (line 10) | fn handle(&self, req: Self::Request) -> Self::Response; type Response (line 17) | type Response = String; type Request (line 20) | type Request = String; method handle (line 23) | fn handle(&self, req: Self::Request) -> Self::Response { type EchoServer (line 13) | struct EchoServer; function handle (line 38) | fn handle>(server: S, req: &str) -> S::Respo... function main (line 42) | fn main() { type ToJson (line 48) | trait ToJson {} type Server2 (line 50) | trait Server2 { method handle (line 53) | fn handle(&self, req: Self::Request) -> ToJson; type Foo (line 56) | trait Foo {} type Bar (line 57) | trait Bar { type Baz (line 62) | struct Baz; FILE: ch08/ex08/examples/ch08_11_sized.rs function main (line 1) | fn main() { FILE: ch08/ex08/examples/ch08_12_trait_techniques.rs type Either (line 2) | enum Either { function fmt (line 14) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { function main (line 22) | fn main() { FILE: ch08/ex08/tests/integration_tests.rs function run_ch08_01 (line 7) | fn run_ch08_01() { function run_ch08_02 (line 24) | fn run_ch08_02() { function run_ch08_03 (line 37) | fn run_ch08_03() { function run_ch08_04 (line 45) | fn run_ch08_04() { function run_ch08_05 (line 53) | fn run_ch08_05() { function run_ch08_06 (line 61) | fn run_ch08_06() { function run_ch08_07 (line 69) | fn run_ch08_07() { function run_ch08_08 (line 77) | fn run_ch08_08() { function run_ch08_09 (line 85) | fn run_ch08_09() { function run_ch08_10 (line 93) | fn run_ch08_10() { function run_ch08_11 (line 101) | fn run_ch08_11() { function run_ch08_12 (line 114) | fn run_ch08_12() { FILE: ch09/parser/src/main.rs type Loc (line 7) | struct Loc(usize, usize); method merge (line 11) | fn merge(&self, other: &Loc) -> Loc { method fmt (line 564) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { type Annot (line 19) | struct Annot { function new (line 25) | fn new(value: T, loc: Loc) -> Self { type TokenKind (line 31) | enum TokenKind { method fmt (line 549) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { type Token (line 49) | type Token = Annot; method number (line 53) | fn number(n: u64, loc: Loc) -> Self { method plus (line 56) | fn plus(loc: Loc) -> Self { method minus (line 60) | fn minus(loc: Loc) -> Self { method asterisk (line 64) | fn asterisk(loc: Loc) -> Self { method slash (line 68) | fn slash(loc: Loc) -> Self { method lparen (line 72) | fn lparen(loc: Loc) -> Self { method rparen (line 76) | fn rparen(loc: Loc) -> Self { type LexErrorKind (line 83) | enum LexErrorKind { type LexError (line 88) | type LexError = Annot; method invalid_char (line 91) | fn invalid_char(c: char, loc: Loc) -> Self { method eof (line 94) | fn eof(loc: Loc) -> Self { method fmt (line 570) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { function consume_byte (line 100) | fn consume_byte(input: &[u8], pos: usize, b: u8) -> Result<(u8, usize), ... function recognize_many (line 117) | fn recognize_many(input: &[u8], mut pos: usize, mut f: impl FnMut(u8) ->... function lex_number (line 124) | fn lex_number(input: &[u8], pos: usize) -> Result<(Token, usize), LexErr... function lex_plus (line 138) | fn lex_plus(input: &[u8], start: usize) -> Result<(Token, usize), LexErr... function lex_minus (line 148) | fn lex_minus(input: &[u8], start: usize) -> Result<(Token, usize), LexEr... function lex_asterisk (line 151) | fn lex_asterisk(input: &[u8], start: usize) -> Result<(Token, usize), Le... function lex_slash (line 154) | fn lex_slash(input: &[u8], start: usize) -> Result<(Token, usize), LexEr... function lex_lparen (line 157) | fn lex_lparen(input: &[u8], start: usize) -> Result<(Token, usize), LexE... function lex_rparen (line 160) | fn lex_rparen(input: &[u8], start: usize) -> Result<(Token, usize), LexE... function skip_spaces (line 163) | fn skip_spaces(input: &[u8], pos: usize) -> Result<((), usize), LexError> { function lex (line 169) | fn lex(input: &str) -> Result, LexError> { function test_lexer (line 208) | fn test_lexer() { type UniOpKind (line 226) | enum UniOpKind { type UniOp (line 233) | type UniOp = Annot; method plus (line 236) | fn plus(loc: Loc) -> Self { method minus (line 240) | fn minus(loc: Loc) -> Self { type BinOpKind (line 247) | enum BinOpKind { type BinOp (line 258) | type BinOp = Annot; method add (line 261) | fn add(loc: Loc) -> Self { method sub (line 264) | fn sub(loc: Loc) -> Self { method mult (line 267) | fn mult(loc: Loc) -> Self { method div (line 270) | fn div(loc: Loc) -> Self { type AstKind (line 277) | enum AstKind { type Ast (line 286) | type Ast = Annot; method num (line 290) | fn num(n: u64, loc: Loc) -> Self { method uniop (line 295) | fn uniop(op: UniOp, e: Ast, loc: Loc) -> Self { method binop (line 299) | fn binop(op: BinOp, l: Ast, r: Ast, loc: Loc) -> Self { type ParseError (line 312) | enum ParseError { method fmt (line 581) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { function parse_left_binop (line 329) | fn parse_left_binop( function parse_atom (line 357) | fn parse_atom(tokens: &mut Peekable) -> Result(tokens: &mut Peekable) -> Result(tokens: &mut Peekable) -> Result(tokens: &mut Peekable) -> Result(tokens: &mut Peekable) -> Result) -> Result { function test_parser (line 482) | fn test_parser() { type Err (line 520) | type Err = Error; method from_str (line 521) | fn from_str(s: &str) -> Result { type Error (line 531) | enum Error { method from (line 537) | fn from(e: LexError) -> Self { method from (line 543) | fn from(e: ParseError) -> Self { method fmt (line 603) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { method show_diagnostic (line 632) | fn show_diagnostic(&self, input: &str) { method source (line 613) | fn source(&self) -> Option<&(dyn StdError + 'static)> { function print_annot (line 623) | fn print_annot(input: &str, loc: Loc) { function show_trace (line 659) | fn show_trace(e: E) { type Interpreter (line 672) | struct Interpreter; method new (line 682) | pub fn new() -> Self { method eval (line 686) | pub fn eval(&mut self, expr: &Ast) -> Result { method eval_uniop (line 707) | fn eval_uniop(&mut self, op: &UniOp, n: i64) -> i64 { method eval_binop (line 714) | fn eval_binop(&mut self, op: &BinOp, l: i64, r: i64) -> Result; method fmt (line 732) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { method show_diagnostic (line 750) | fn show_diagnostic(&self, input: &str) { method description (line 741) | fn description(&self) -> &str { type RpnCompiler (line 759) | struct RpnCompiler; method new (line 762) | pub fn new() -> Self { method compile (line 766) | pub fn compile(&mut self, expr: &Ast) -> String { method compile_inner (line 772) | pub fn compile_inner(&mut self, expr: &Ast, buf: &mut String) { method compile_uniop (line 794) | fn compile_uniop(&mut self, op: &UniOp, buf: &mut String) { method compile_binop (line 801) | fn compile_binop(&mut self, op: &BinOp, buf: &mut String) { function prompt (line 815) | fn prompt(s: &str) -> io::Result<()> { function main (line 823) | fn main() { FILE: ch10/wordcount/src/lib.rs type CountOption (line 10) | pub enum CountOption { method default (line 21) | fn default() -> Self { function count (line 51) | pub fn count(input: impl BufRead, option: CountOption) -> HashMap); type Request (line 55) | pub struct Request { FILE: ch11/log-collector/cli/src/main.rs type ApiClient (line 14) | struct ApiClient { method post_logs (line 20) | fn post_logs(&self, req: &api::logs::post::Request) -> reqwest::Result... method get_logs (line 28) | fn get_logs(&self) -> reqwest::Result { method get_csv (line 35) | fn get_csv(&self, w: &mut W) -> reqwest::Result { function do_post_csv (line 43) | fn do_post_csv(api_client: &ApiClient) { function do_get_json (line 57) | fn do_get_json(api_client: &ApiClient) { function do_get_csv (line 63) | fn do_get_csv(api_client: &ApiClient) { function main (line 69) | fn main() { FILE: ch11/log-collector/server/migrations/00000000000000_diesel_initial_setup/up.sql function diesel_set_updated_at (line 26) | CREATE OR REPLACE FUNCTION diesel_set_updated_at() RETURNS trigger AS $$ FILE: ch11/log-collector/server/migrations/2018-12-28-161332_create_logs/up.sql type logs (line 2) | CREATE TABLE logs ( FILE: ch11/log-collector/server/src/db.rs function insert_log (line 7) | pub fn insert_log(cn: &PgConnection, log: &NewLog) -> QueryResult { function insert_logs (line 15) | pub fn insert_logs(cn: &PgConnection, logs: &[NewLog]) -> QueryResult Result Self { function app (line 34) | pub fn app(server: Server) -> App { function main (line 46) | fn main() { FILE: ch11/log-collector/server/src/model.rs type NewLog (line 6) | pub struct NewLog { type Log (line 13) | pub struct Log { FILE: ch11/start-aw/src/main.rs type HelloPath (line 6) | struct HelloPath { function hello (line 11) | fn hello(req: &HttpRequest) -> impl Responder { function main (line 16) | fn main() { FILE: ch11/static-files/src/main.rs function main (line 4) | fn main() { FILE: ch11/templates/src/main.rs type AppState (line 5) | struct AppState { type HelloPath (line 10) | struct HelloPath { function hello_template (line 14) | fn hello_template( function main (line 32) | fn main() { FILE: ch12/c-api/main.c type point (line 5) | struct point { type point (line 13) | struct point type point (line 13) | struct point function main (line 16) | int FILE: ch12/c-api/src/lib.rs type point (line 6) | pub struct point { function pow (line 11) | fn pow(x: c_int) -> c_int { function dist (line 19) | pub extern "C" fn dist(p1: &point, p2: &point) -> c_double { FILE: ch12/cffi-ownership/build.rs function main (line 1) | fn main() { FILE: ch12/cffi-ownership/c_src/ownership.c function take_ownership (line 4) | void FILE: ch12/cffi-ownership/src/main.rs function make_memory (line 5) | fn make_memory() -> *mut c_int; function main (line 8) | fn main() { FILE: ch12/cffi_readline.rs function readline (line 11) | fn readline(prompt: *const c_schar) -> *mut c_schar; function main (line 14) | fn main() { FILE: ch12/ffi-global/src/main.rs function main (line 9) | fn main() { FILE: ch12/onigmo-rs/onigmo-sys/build.rs function main (line 4) | fn main() { FILE: ch12/onigmo-rs/onigmo-sys/examples/simple.rs function main (line 5) | fn main() { FILE: ch12/onigmo-rs/onigmo/examples/simple.rs function main (line 1) | fn main() { FILE: ch12/onigmo-rs/onigmo/src/lib.rs type Error (line 7) | pub struct Error(OnigPosition, Option, String); method new (line 13) | fn new(pos: OnigPosition, error_info: Option) -> Self { method fmt (line 29) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { type Result (line 8) | type Result = ::std::result::Result; type Regex (line 40) | pub struct Regex(regex_t); method new (line 42) | pub fn new(pattern: &str) -> Result { method search (line 66) | pub fn search(&mut self, s: &str) -> Option { method drop (line 97) | fn drop(&mut self) { type Region (line 106) | pub struct Region(NonNull); method new (line 109) | pub fn new() -> Option { method as_ptr_mut (line 117) | fn as_ptr_mut(&mut self) -> *mut OnigRegion { method as_ptr (line 121) | fn as_ptr(&self) -> *const OnigRegion { method positions (line 152) | pub fn positions(&self) -> PositionIter { method clone (line 127) | fn clone(&self) -> Self { method drop (line 138) | fn drop(&mut self) { type PositionIter (line 147) | pub struct PositionIter<'a>(&'a Region, Range); type Item (line 163) | type Item = (usize, usize); method next (line 164) | fn next(&mut self) -> Option { FILE: ch12/opaque/src/main.rs type File (line 6) | enum File {} function fopen (line 12) | fn fopen(fname: *const c_char, mode: *const c_char) -> *mut File; function fgetc (line 15) | fn fgetc(stream: *mut File) -> c_int; function fclose (line 18) | fn fclose(stream: *mut File) -> c_int; function main (line 21) | fn main() { FILE: ch12/ptr.rs function main (line 1) | fn main() { FILE: ch12/ptr_ownership.rs function main (line 1) | fn main() { FILE: ch12/repr-c/src/main.rs type Timeval (line 14) | struct Timeval { type Timezone (line 25) | struct Timezone { function gettimeofday (line 33) | fn gettimeofday(tv: *mut Timeval, tz: *mut Timezone) -> c_int; function main (line 36) | fn main() { FILE: ch12/small_cffi.rs function cos (line 5) | fn cos(x: c_double) -> c_double; function main (line 8) | fn main() { FILE: ch12/static-link/build.rs function main (line 1) | fn main() { FILE: ch12/static-link/c_src/fib.c function fib (line 1) | unsigned long long FILE: ch12/static-link/src/main.rs function fib (line 6) | fn fib(n: c_int) -> c_ulonglong; function main (line 9) | fn main() {