**16.3.** Operator Overloading ](../trait/ops.html)
    4. [ **16.4.** Drop ](../trait/drop.html)
    5. [ **16.5.** Iterators ](../trait/iter.html)
    6. [ **16.6.** impl Trait ](../trait/impl_trait.html)
    7. [ **16.7.** Clone ](../trait/clone.html)
    8. [ **16.8.** Supertraits ](../trait/supertraits.html)
    9. [ **16.9.** Disambiguating overlapping traits ](../trait/disambiguating.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_