[PATCH] D110044: Print nullptr_t namespace qualified within std::
Aaron Ballman via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Sep 21 04:37:05 PDT 2021
aaron.ballman accepted this revision.
aaron.ballman added a comment.
This revision is now accepted and ready to land.
LGTM!
================
Comment at: clang/lib/AST/Type.cpp:3045
case NullPtr:
- return "nullptr_t";
+ return "std::nullptr_t";
case Overload:
----------------
dblaikie wrote:
> aaron.ballman wrote:
> > Should this be `::std::nullptr_t` to differentiate it from odd things like:
> > ```
> > namespace my {
> > namespace std {
> > class nullptr_t {};
> > }
> > }
> > ```
> I was hoping not to get overly pedantic - I think clang omits the global namespace scope when naming other types in namespaces?
>
> Yeah:
> ```
> scope.cpp:5:5: error: invalid operands to binary expression ('int' and 'ns::inner')
> 1 + ns::inner();
> ~ ^ ~~~~~~~~~~~
> ```
>
> So this seems consistent with that, at least. That's true also when rendering template parameter type names, etc, so far as I know.
Okay, I'm sold, thank you!
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D110044/new/
https://reviews.llvm.org/D110044
More information about the cfe-commits
mailing list