[Lldb-commits] [lldb] Add a workaround for people that use *args instead of listing (PR #166883)

via lldb-commits lldb-commits at lists.llvm.org
Mon Nov 10 11:04:34 PST 2025


================
@@ -188,8 +188,13 @@ class ScriptedPythonInterface : virtual public ScriptedInterface {
       // This addresses the cases where the embedded interpreter session
       // dictionary is passed to the extension initializer which is not used
       // most of the time.
+      // Note, though none of our API's suggest defining the interfaces with
+      // varargs, we have some extant clients that were doing that.  To keep
+      // from breaking them, we just say putting a varargs in these signatures
+      // turns off argument checking.
       size_t num_args = sizeof...(Args);
-      if (num_args != arg_info->max_positional_args) {
+      if (arg_info->max_positional_args != PythonCallable::ArgInfo::UNBOUNDED &&
----------------
jimingham wrote:

I don't think that's necessary.  Someone did this once and then sadly that got copied around and so there are a few versions I need to maintain support for.  I'm not sure this is something anyone else is likely to think is a good idea.

https://github.com/llvm/llvm-project/pull/166883


More information about the lldb-commits mailing list