Stakeholder meeting notes – 2018/02/01

Attendees:Lynn Garren, Chris Green, Robert Hatcher, Chris Jones, Kyle Knoepfel, Marc Paterno,  Gianluca Petrillo, Paul Russo

by: Paul Russo

The art team proposed removing cet::zero_init which is no longer needed as of C++11.

cet::map_vector<T> oddities

  • This class is intended to represent a sparse vector.
  • Insertion into this class uses map_key(val), which does not necessarily match the actual key value used by the insertion, which is not obvious.
  • The art team proposes to remove insert() and push_back() because the non-obvious key value makes construction of art::Ptr<T> into a cet::map_vector<T> have unexpected results.

The art team proposed modifying the behavior of art::Ptr<T>::operator* and operator-> to check that the internal container index stored in the Ptr is in-range, which would allow catching the problem mentioned above in the discussion of cet::map_vector<T>.

mrb v1_14_00 has gained a new changeQual option.

The art team announced that access to the undefined behavior sanitizer, address sanitizer, and the thread sanitizer will be available soon.