[all-commits] [llvm/llvm-project] 09284e: [Clang] Reject `this void` explicit object paramet...

Mital Ashok via All-commits all-commits at lists.llvm.org
Tue Sep 17 12:36:10 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 09284e7eb20db88a9a5d60a591360ee35b256b7f
      https://github.com/llvm/llvm-project/commit/09284e7eb20db88a9a5d60a591360ee35b256b7f
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaType.cpp
    M clang/test/CXX/drs/cwg29xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [Clang] Reject `this void` explicit object parameters (CWG2915) (#108817)

https://cplusplus.github.io/CWG/issues/2915.html

Previously, `struct A { void f(this void); };` was accepted with `A::f`
being a member function with no non-object arguments, but it was still a
little wonky because it was still considered an explicit object member
function. Now, this is rejected immediately.

This applies to any language mode with explicit object parameters as
this is a DR (C++23 and C++26)



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