mbiguating.html)
  33. [ **17.** macro_rules! ](macros.html) â± 
  34.     1. [ **17.1.** Syntax ](macros/syntax.html) â± 
    2.       1. [ **17.1.1.** Designators ](macros/designators.html)
      2. [ **17.1.2.** Overload ](macros/overload.html)
      3. [ **17.1.3.** Repeat ](macros/repeat.html)
    3. [ **17.2.** DRY (Don't Repeat Yourself) ](macros/dry.html)
    4. [ **17.3.** DSL (Domain Specific Languages) ](macros/dsl.html)
    5. [ **17.4.** Variadics ](macros/variadics.html)
  35. [ **18.** Error handling ](error.html) â± 
  36.     1. [ **18.1.** panic ](error/panic.html)
    2. [ **18.2.** abort & unwind ](error/abort_unwind.html)
    3. [ **18.3.** Option & unwrap ](error/option_unwrap.html) â± 
    4.       1. [ **18.3.1.** Unpacking options with ? ](error/option_unwrap/question_mark.html)
      2. [ **18.3.2.** Combinators: map ](error/option_unwrap/map.html)
      3. [ **18.3.3.** Combinators: and_then ](error/option_unwrap/and_then.html)
      4. [ **18.3.4.** Defaults: or, or_else, get_or_insert, 'get_or_insert_with` ](error/option_unwrap/defaults.html)
    5. [ **18.4.** Result ](error/result.html) â± 
    6.       1. [ **18.4.1.** map for Result ](error/result/result_map.html)
      2. [ **18.4.2.** aliases for Result ](error/result/result_alias.html)
      3. [ **18.4.3.** Early returns ](error/result/early_returns.html)
      4. [ **18.4.4.** Introducing ? ](error/result/enter_question_mark.html)
    7. [ **18.5.** Multiple error types ](error/multiple_error_types.html) â± 
    8.       1. [ **18.5.1.** Pulling Results out of Options ](error/multiple_error_types/option_result.html)
      2. [ **18.5.2.** Defining an error type ](error/multiple_error_types/define_error_type.html)
      3. [ **18.5.3.** Boxing errors ](error/multiple_error_types/boxing_errors.html)
      4. [ **18.5.4.** Other uses of ? ](error/multiple_error_types/reenter_question_mark.html)
      5. [ **18.5.5.** Wrapping errors ](error/multiple_error_types/wrap_error.html)
    9. [ **18.6.** Iterating over Results ](error/iter_result.html)
  37. [ **19.** Std library types ](std.html) â± 
  38.     1. [ **19.1.** Box, stack and heap ](std/box.html)
    2. [ **19.2.** Vectors ](std/vec.html)
    3. [ **19.3.** Strings ](std/str.html)
    4. [ **19.4.** Option ](std/option.html)
    5. [ **19.5.** Result ](std/result.html) â± 
    6.       1. [ **19.5.1.** ? ](std/result/question_mark.html)
    7. [ **19.6.** panic! ](std/panic.html)
    8. [ **19.7.** HashMap ](std/hash.html) â± 
    9.       1. [ **19.7.1.** Alternate/custom key types ](std/hash/alt_key_types.html)
      2. [ **19.7.2.** HashSet ](std/hash/hashset.html)
    10. [ **19.8.** Rc ](std/rc.html)
    11. [ **19.9.** Arc ](std/arc.html)
  39. [ **20.** Std misc ](std_misc.html) â± 
  40.     1. [ **20.1.** Threads ](std_misc/threads.html) â± 
    2.       1. [ **20.1.1.** Testcase: map-reduce ](std_misc/threads/testcase_mapreduce.html)
    3. [ **20.2.** Channels ](std_misc/channels.html)
    4. [ **20.3.** Path ](std_misc/path.html)
    5. [ **20.4.** File I/O ](std_misc/file.html) â± 
    6.       1. [ **20.4.1.** open ](std_misc/file/open.html)
      2. [ **20.4.2.** create ](std_misc/file/create.html)
      3. [ **20.4.3.** read lines ](std_misc/file/read_lines.html)
    7. [ **20.5.** Child processes ](std_misc/process.html) â± 
    8.       1. [ **20.5.1.** Pipes ](std_misc/process/pipe.html)
      2. [ **20.5.2.** Wait ](std_misc/process/wait.html)
    9. [ **20.6.** Filesystem Operations ](std_misc/fs.html)
    10. [ **20.7.** Program arguments ](std_misc/arg.html) â± 
    11.       1. [ **20.7.1.** Argument parsing ](std_misc/arg/matching.html)
    12. [ **20.8.** Foreign Function Interface ](std_misc/ffi.html)
  41. [ **21.** Testing ](testing.html) â± 
  42.     1. [ **21.1.** Unit testing ](testing/unit_testing.html)
    2. [ **21.2.** Documentation testing ](testing/doc_testing.html)
    3. [ **21.3.** Integration testing ](testing/integration_testin