cor3ntin wrote: The behavior I would expect is
`callable` is instantiated. It has a trailing return type so only the declaration of `foo` is instantiated, and that also has a return type so we do not need the definition. `foo` is marked referenced / odr-used. That should be enough to force an instantiation of the definition at the end of the TU. Can you try to figure out what would cause an eager instantiation of `foo`'s definition? https://github.com/llvm/llvm-project/pull/117167 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits