From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on starla X-Spam-Level: X-Spam-Status: No, score=0.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_BL_SPAMCOP_NET,SPF_HELO_PASS, SPF_PASS autolearn=no autolearn_force=no version=3.4.6 Received: from nue.mailmanlists.eu (nue.mailmanlists.eu [94.130.110.93]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 4C15A1F4CC for ; Thu, 19 Dec 2024 06:20:49 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=pass (1024-bit key; unprotected) header.d=ml.ruby-lang.org header.i=@ml.ruby-lang.org header.a=rsa-sha256 header.s=mail header.b=xnlrjTaH; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=ruby-lang.org header.i=@ruby-lang.org header.a=rsa-sha256 header.s=s1 header.b=H8LA2ijc; dkim-atps=neutral DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ml.ruby-lang.org; s=mail; t=1734589246; bh=nMBXsUuKGJz4ZWZ02u1tek07z9Uqt1uMl5Af8S3d3+I=; h=Date:References:To:Reply-To:Subject:List-Id:List-Archive: List-Help:List-Owner:List-Post:List-Subscribe:List-Unsubscribe: From:Cc:From; b=xnlrjTaHV8YT9KOLKm7D2cnwggG/dhDbmo2Q5ZFYZV/B8EBxFb8/kwL39+GH9pkHr XBh+HfX9JYxeKw6VLUQ7bR7glBOwLsuhqwBMeu8PS+umAeqWCrOiPBj7IPfr6uAp5j c3Qkk3HJxPSikf6M4gPfOm1m3s3ZvnUdyqBBsYQY= Received: from nue.mailmanlists.eu (localhost [IPv6:::1]) by nue.mailmanlists.eu (Postfix) with ESMTP id 1CE1244E61 for ; Thu, 19 Dec 2024 06:20:46 +0000 (UTC) Authentication-Results: nue.mailmanlists.eu; dkim=pass (2048-bit key; unprotected) header.d=ruby-lang.org header.i=@ruby-lang.org header.a=rsa-sha256 header.s=s1 header.b=H8LA2ijc; dkim-atps=neutral Received: from s.wrqvtzvf.outbound-mail.sendgrid.net (s.wrqvtzvf.outbound-mail.sendgrid.net [149.72.126.143]) by nue.mailmanlists.eu (Postfix) with ESMTPS id 67AFF44CA5 for ; Thu, 19 Dec 2024 06:20:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ruby-lang.org; h=from:references:subject:mime-version:content-type: content-transfer-encoding:list-id:to:cc:content-type:from:subject:to; s=s1; bh=BgYV1dsdaY6lqyf7KxU/3eqzz1kqRX493unN5Yr+rtI=; b=H8LA2ijcA8xzomDL8ulFCNuKHbEGaliD+wI1pDOQ9lSh/tkMv6GyDKxhfztxBtovMnim ivd9YdmNqEwk5hXEdy2pPq6Ce+F74N0/UI2p1M0CMQUYdN7T/CXGEx/j0ZEG3TyE8kB8vq 41dufRt86FVYOHnyoAJy57STVk8X3YKA1yvU79rrQGtJrQq8KzMV+RlkbxWvNTSEn21JUh b/KwGZms/uAIL20ciKQKOGCaYHVErOWdB5/tZM4txftMrtY2M6VsfQA/Hfzz1o9rQGkDL6 sVaLDKHvkjlg3bBGns59+dKTpDhdiJmnxCjRveu3P3ojGLnMFojNtMcD/Azf71Dg== Received: by recvd-69cbc48b94-q4tz7 with SMTP id recvd-69cbc48b94-q4tz7-1-6763BB3A-5 2024-12-19 06:20:42.222220824 +0000 UTC m=+2969874.220937308 Received: from herokuapp.com (unknown) by geopod-ismtpd-10 (SG) with ESMTP id S9gFXe9JQ3CXQ_WTnP2uAg for ; Thu, 19 Dec 2024 06:20:42.177 +0000 (UTC) Date: Thu, 19 Dec 2024 06:20:42 +0000 (UTC) Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Bug X-Redmine-Issue-Id: 20968 X-Redmine-Issue-Author: koic X-Redmine-Issue-Priority: Normal X-Redmine-Sender: jeremyevans0 X-Mailer: Redmine X-Redmine-Host: bugs.ruby-lang.org X-Redmine-Site: Ruby Issue Tracking System X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-Redmine-MailingListIntegration-Message-Ids: 96993 X-SG-EID: =?us-ascii?Q?u001=2ELyyp8a6L4BPdoBZ5kcNQuEdalXgUnCKLcPykf2c9d2sTWfvALBzqM4Ij+?= =?us-ascii?Q?Jg9Prp2eVDkf9lIZhzc05KfUT4Npfgnigb95d+v?= =?us-ascii?Q?hGuAMoCQYcLJHvt1qXo9LdZ7X2PS9dkxjH+3Bdw?= =?us-ascii?Q?VTtRVnUY8yORP6fcLdx2ehdyA98LDULGKOj8pJC?= =?us-ascii?Q?xzhKasbVt9UTqcWJxGxyp3BQCabAfF5stks55FD?= =?us-ascii?Q?4ElK83DzXkzUBzLKy8s6xu839XD7lWrFypsCPnd?= =?us-ascii?Q?H4HKerDKLFIQHF6=2FrhHw3BhE2Q=3D=3D?= To: ruby-core@ml.ruby-lang.org X-Entity-ID: u001.I8uzylDtAfgbeCOeLBYDww== Message-ID-Hash: VVSOKKRMTMKDWRCVMICKWDAHH3327NVO X-Message-ID-Hash: VVSOKKRMTMKDWRCVMICKWDAHH3327NVO X-MailFrom: bounces+313651-b711-ruby-core=ml.ruby-lang.org@em5188.ruby-lang.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list Reply-To: Ruby developers Subject: [ruby-core:120316] [Ruby master Bug#20968] `Array#fetch_values` unexpected method name in stack trace List-Id: Ruby developers Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: "jeremyevans0 (Jeremy Evans) via ruby-core" Cc: "jeremyevans0 (Jeremy Evans)" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Issue #20968 has been updated by jeremyevans0 (Jeremy Evans). This doesn't seem like a bug to me. `Array#fetch_values` is in the backtrace, just not the top frame. This isn't the only core method with the behavior: ```ruby 1.ceildiv(0) # :304:in 'Integer#div': divided by 0 (ZeroDivisionError) # from :304:in 'Integer#ceildiv' ``` As more core methods are implemented in Ruby, this situation will occur more frequently. Can you explain why you think this is a bug? This is the expected behavior for most methods in the standard library, as well as most methods in gems. Any method written in Ruby that calls other methods will have this behavior, so I think it is OK that core methods are allowed to have this behavior. ---------------------------------------- Bug #20968: `Array#fetch_values` unexpected method name in stack trace https://bugs.ruby-lang.org/issues/20968#change-111080 * Author: koic (Koichi ITO) * Status: Open * ruby -v: ruby 3.4.0dev (2024-12-19T04:44:56Z master 2783868de2) +PRISM [x86_64-darwin23] * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- It seems that the current Ruby implementation is displaying unexpected method name in stack trace. ## Expected Similar to `Hash#fetch_values`, the method name `Array#fetch_values` is expected to be displayed in the stack trace. ```console $ ruby -e '{k: 42}.fetch_values(:unknown)' -e:1:in 'Hash#fetch_values': key not found: :unknown (KeyError) from -e:1:in '
' $ ruby -e '[1].fetch_values(42)' -e:1:in 'Array#fetch_values': index 42 outside of array bounds: -1...1 (IndexError) from -e:1:in '
' ``` ## Actual The stack trace displays the `Array#fetch` method, which user is not aware of, along with the `` stack trace. ```console $ ruby -e '[1].fetch_values(42)' :211:in 'Array#fetch': index 42 outside of array bounds: -1...1 (IndexError) from :211:in 'block in Array#fetch_values' from :211:in 'Array#map!' from :211:in 'Array#fetch_values' from -e:1:in '
' ``` It likely requires an approach such as implementing it in C, as suggested in https://github.com/ruby/ruby/pull/11555. -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/