Summary
This patch makes the expression evaluator understand
namespace aliases.
This will become important once std::ranges become
more widespread since std::views is defined as:
namespace std {
namespace ranges::views {}
namespace views = ranges::views;
}Testing
- Added API test
The common pattern in LLVM (and thinking of it, I'm surprised we don't have some kind of helper template for it) is to use find() since operator[] inserts a default-constructed element into the list, which will screw with anyone who concurrently searches using find().