[all-commits] [llvm/llvm-project] 84bf4a: [C++20] [Modules] Allow ADL in dependent context f...

Chuanqi Xu via All-commits all-commits at lists.llvm.org
Mon Feb 6 22:16:48 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 84bf4ab087b105e0c72da9ec26ad45e9468fa7be
      https://github.com/llvm/llvm-project/commit/84bf4ab087b105e0c72da9ec26ad45e9468fa7be
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2023-02-07 (Tue, 07 Feb 2023)

  Changed paths:
    M clang/lib/Sema/SemaLookup.cpp
    A clang/test/Modules/named-modules-adl-2.cppm
    A clang/test/Modules/named-modules-adl.cppm

  Log Message:
  -----------
  [C++20] [Modules] Allow ADL in dependent context for modules

Close https://github.com/llvm/llvm-project/issues/60488.

Previously, when we instantiate a template, the argument dependent
lookup is performed in the context of the instantiation, which implies that the
functions not visible in the context can't be found by the argument
dependent lookup.

But this is not true, according to [module.context]p3, the instantiation
context for the implicit instantiation of a template should contain the
context of the primary module interface if the template is defined in
the module interface unit.

Note that the fix didn't implemnet [module.context]p3 precisely, see the
comments for example.




More information about the All-commits mailing list