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

Matheus Izvekov via All-commits all-commits at lists.llvm.org
Tue Jun 3 14:39:41 PDT 2025


  Branch: refs/heads/release/20.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 7759bb57c24390797ee34fa58a5e1234f5aa9369
      https://github.com/llvm/llvm-project/commit/7759bb57c24390797ee34fa58a5e1234f5aa9369
  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