From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=AWL,BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by dcvr.yhbt.net (Postfix) with ESMTP id 851661F4B4 for ; Sun, 27 Dec 2020 20:08:14 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id C4790120BAC; Mon, 28 Dec 2020 05:07:25 +0900 (JST) Received: from xtrwkhkc.outbound-mail.sendgrid.net (xtrwkhkc.outbound-mail.sendgrid.net [167.89.16.28]) by neon.ruby-lang.org (Postfix) with ESMTPS id ABE9C120AC6 for ; Mon, 28 Dec 2020 05:07:23 +0900 (JST) Received: by filterdrecv-p3iad2-canary-57dc4579c9-7xzgx with SMTP id filterdrecv-p3iad2-canary-57dc4579c9-7xzgx-18-5FE8E9A8-3D 2020-12-27 20:08:08.670324825 +0000 UTC m=+1458362.646950546 Received: from herokuapp.com (unknown) by ismtpd0129p1mdw1.sendgrid.net (SG) with ESMTP id TnoXxS-sQpSCh6z8PFniGA for ; Sun, 27 Dec 2020 20:08:08.539 +0000 (UTC) Date: Sun, 27 Dec 2020 20:08:08 +0000 (UTC) From: marcandre-ruby-core@marc-andre.ca Message-ID: References: Mime-Version: 1.0 X-Redmine-MailingListIntegration-Message-Ids: 77660 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Feature X-Redmine-Issue-Id: 17472 X-Redmine-Issue-Author: naruse X-Redmine-Sender: marcandre 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-SG-EID: =?us-ascii?Q?6=2FIMxCQLDposcQf5wmbDAtfaKduBAO0bKyhL3BGZtMQ5q7K2TvpbN6A7JIyt9E?= =?us-ascii?Q?aOYMGa7J5IPlGs4qrAiqYWlqQz9N0daaQNTbhWA?= =?us-ascii?Q?EQYl9bqi7wslsPyfTbcQ+pEBNWGk1kqUFxVUByu?= =?us-ascii?Q?NQQ6fIJuzVGYe01Tl6D3pDeiF7YmDSlZeqzjIlS?= =?us-ascii?Q?hN6EPyiGFe+J9VU+j0siZuVQaKp9nKna6ay+AAL?= =?us-ascii?Q?QKS8HX6TfCrNm8RTUffSdLTvqlcwDbV+MZ8+=2F3?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 101758 Subject: [ruby-core:101758] [Ruby master Feature#17472] HashWithIndifferentAccess like Hash extension X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Ruby developers List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" Issue #17472 has been updated by marcandre (Marc-Andre Lafortune). Count me in the "No" camp. `HashWithIndifferentAccess` has horrible semantics. It may have had a reason to be when Ruby didn't support symbol garbage collection and Rails didn't require an explicit mapping of HTTP Request to params, but not today. ---------------------------------------- Feature #17472: HashWithIndifferentAccess like Hash extension https://bugs.ruby-lang.org/issues/17472#change-89585 * Author: naruse (Yui NARUSE) * Status: Open * Priority: Normal * Target version: 3.1 ---------------------------------------- Rails has [ActiveSupport::HashWithIndifferentAccess](https://api.rubyonrails.org/classes/ActiveSupport/HashWithIndifferentAccess.html), which is widely used in Rails to handle Request, Session, ActionView's form construction, ActiveRecord's DB communication, and so on. It receives String or Symbol and normalize them to fetch the value. But it is implemented with Ruby. If we provide C implementation of that, Rails will gain the performance improvement. -- https://bugs.ruby-lang.org/