On Sun, Dec 22, 2019 at 11:48 AM Jon Kalb via SG20 <sg20@lists.isocpp.org> wrote:

There are two cases, what Herb calls “tracking” and “making the type stick.” I think I’d call them “tracking” and “fixing.” I think they should be spelled:

auto x{expr}; // tracking - we want x to be whatever expr returns, even if it is changed by maintenance

The callee decides the type.
 
auto x{type{expr}}; // fixing - we want x to be type regardless of what expr returns.

The caller decides the type.

I don’t see any other case.

The case that isn't here is the no surprises case when you want the caller type and the callee type to match an explicitly mentioned type.
--
 Nevin ":-)" Liber  <mailto:nevin@cplusplusguy.com>  +1-847-691-1404