surprising behaviour encountered while covering more cases ...obviously the return type of ExpandFunctor::operator() was inferred as value, even while the invoked functor, from which this type was deduced, clearly returns a reference. Solution is simple not to rely on inference, moreover since we know the exact type in the enclosing scope, thanks to the refactoring which made this ExpandFunctor a nested class NOTE: as it turned out, this is not a compiler bug, but works as defined by the language: on return type inference, the detected type is decayed, which usually helps to prevent returning a reference to a temporary |
||
|---|---|---|
| .. | ||
| backend | ||
| build | ||
| code | ||
| gui | ||
| howto | ||
| infra | ||
| library | ||
| proc | ||
| DIR_INFO | ||
| index.txt | ||
| overview.txt | ||