[all-commits] [llvm/llvm-project] 5fea5c: [clang] Serialization: support hashing null templa...

Matheus Izvekov via All-commits all-commits at lists.llvm.org
Wed May 28 20:38:39 PDT 2025


  Branch: refs/heads/users/mizvekov/GH139019
  Home:   https://github.com/llvm/llvm-project
  Commit: 5fea5ce632dd6ca831c0f87e1ea436c372e34414
      https://github.com/llvm/llvm-project/commit/5fea5ce632dd6ca831c0f87e1ea436c372e34414
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-05-29 (Thu, 29 May 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Serialization/TemplateArgumentHasher.cpp
    A clang/test/CodeCompletion/GH139019.cpp

  Log Message:
  -----------
  [clang] Serialization: support hashing null template arguments

When performing overload resolution during code completion,
clang will allow incomplete substitutions in more places
than would be allowed for valid code, because for completion to work well,
it needs clang to keep going so it can explore the space of possibilities.

Notably, we accept instantiating declarations will null template arguments,
and this works fine, except that when lazily loading serialzied templated
declarations, the template argument hasher assumes null arguments can't
be used.

This patch makes the hasher happily accept that.

Fixes https://github.com/llvm/llvm-project/issues/139019



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list