From a1d47773a2deede19536660805c494b77ec46f89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=AA=E3=81=A4=E3=81=8D?= Date: Tue, 2 Jul 2024 20:09:08 -0700 Subject: [PATCH] [Ruby] Fix mismatched pointer type (#17240) This PR fixes the following error on windows ruby 3.4 (head): ``` current directory: D:/a/sass-embedded-host-ruby/sass-embedded-host-ruby/vendor/bundle/ruby/3.4.0+0/gems/google-protobuf-4.27.1/ext/google/protobuf_c make.exe DESTDIR\= sitearchdir\=./.gem.20240623-6612-4umz58 sitelibdir\=./.gem.20240623-6612-4umz58 generating protobuf_c-x64-mingw-ucrt.def compiling protobuf.c compiling convert.c compiling defs.c defs.c: In function 'MethodDescriptor_initialize': defs.c:1513:19: error: assignment to 'const upb_MethodDef *' from incompatible pointer type 'const upb_ServiceDef *' [-Wincompatible-pointer-types] 1513 | self->methoddef = (const upb_ServiceDef*)NUM2ULL(ptr); | ^ make: *** [Makefile:250: defs.o] Error 1 make failed, exit code 2 ``` - Closes #17266 Closes #17240 COPYBARA_INTEGRATE_REVIEW=https://github.com/protocolbuffers/protobuf/pull/17240 from ntkme:fix-ruby-upb-pointer-type 22e9859c5758bdc5efc2ddc720555c615dce428d PiperOrigin-RevId: 648923147 --- ruby/ext/google/protobuf_c/defs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruby/ext/google/protobuf_c/defs.c b/ruby/ext/google/protobuf_c/defs.c index 5ef73d5ac9d3..7fd834acf617 100644 --- a/ruby/ext/google/protobuf_c/defs.c +++ b/ruby/ext/google/protobuf_c/defs.c @@ -1510,7 +1510,7 @@ static VALUE MethodDescriptor_initialize(VALUE _self, VALUE cookie, } RB_OBJ_WRITE(_self, &self->descriptor_pool, descriptor_pool); - self->methoddef = (const upb_ServiceDef*)NUM2ULL(ptr); + self->methoddef = (const upb_MethodDef*)NUM2ULL(ptr); return Qnil; }