Skip to content
  • Ian Jackson's avatar
    Change builder list API · 06e51f63
    Ian Jackson authored
    The new API is (roughly) as discussed in
      #451
    
    This is quite a large commit and it is not convenient to split it up.
    It contains the following changes:
    
     * Redo the list builder and accessor macros implemnetation,
       including docs and tests.
    
     * Change uses of define_list_config_builder.  In each case:
       - Move the docs about the default value to the containing field.
       - Remove the other docs (which were just recapitulations, and
         are now not needed since the ListBuilder is no longer public).
       - Rewmove or replace `pub` in the define_list_builder_helper call,
         so that the builder is no longer public.
       - Change the main macro call site to use define_list_builder_helper.
       - Add a call to define_list_builder_accessors.
    
     * Make the module `list_builder` pub so that we have somewhere to
       put the overview documentation.
    
     * Consequential changes:
       - Change `outer.inner().replace(X)` to `outer.set_inner(X)`
       - Consequential changes to imports (`use` statements).
    06e51f63