[#85349] [Ruby trunk Bug#14334] Segmentation fault after running rspec (ruby/2.5.0/erb.rb:885 / simplecov/source_file.rb:85) — pragtob@...
Issue #14334 has been updated by PragTob (Tobias Pfeiffer).
3 messages
2018/02/02
[#85358] Re: [ruby-cvs:69220] nobu:r62039 (trunk): compile.c: unnecessary freezing — Eric Wong <normalperson@...>
[email protected] wrote:
5 messages
2018/02/03
[#85612] Why require autoconf 2.67+ — leam hall <leamhall@...>
Please pardon the intrusion; I am new to Ruby and like to pull the
6 messages
2018/02/17
[#85616] Re: Why require autoconf 2.67+
— Vít Ondruch <v.ondruch@...>
2018/02/18
VGhpcyBjb3VsZCBoZWxwIHlvdSB0byBidWlsZCBSdWJ5IHdpdGggb2xkZXIgYXV0b2NvbmYgKDIu
[#85634] [Ruby trunk Bug#14494] [PATCH] tool/m4/ruby_replace_type.m4 use AC_CHECK_TYPES for HAVE_* macros — normalperson@...
Issue #14494 has been reported by normalperson (Eric Wong).
3 messages
2018/02/19
[#85674] [Ruby trunk Feature#13618] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid — matz@...
Issue #13618 has been updated by matz (Yukihiro Matsumoto).
5 messages
2018/02/20
[#85686] Re: [Ruby trunk Feature#13618] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
— Eric Wong <normalperson@...>
2018/02/20
[email protected] wrote:
[#85704] Re: [Ruby trunk Feature#13618] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
— Koichi Sasada <ko1@...>
2018/02/21
On 2018/02/20 18:06, Eric Wong wrote:
[ruby-core:85573] [Ruby trunk Feature#14478] String #uminus should de-dupe unconditionally
From:
sam.saffron@...
Date:
2018-02-15 02:21:55 UTC
List:
ruby-core #85573
Issue #14478 has been updated by sam.saffron (Sam Saffron). The contract says "possibly pre-existing copy of it." ... where possibly means "if the string is not frozen" So the contract now is "return a de-duplicated string if the string is not frozen" which is a bit of a crazy contract if you ask me, instead the contract should simply be "return a de-duplicated string always" What I am asking for here is change str_uminus from: "sometimes return a de-duplicated string" To "always return a de-duplicated string" I feel the change is not risky at all and will not break anyone in practice, I also think it should be backported to 2.5 cause `-+x` is an ugly and horrible pattern for us to be promoting. ---------------------------------------- Feature #14478: String #uminus should de-dupe unconditionally https://bugs.ruby-lang.org/issues/14478#change-70367 * Author: sam.saffron (Sam Saffron) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- continuing: https://bugs.ruby-lang.org/issues/14475 Current documentation for String uminus says: "If the string is frozen, then return the string itself." Trouble is that there is no simple way to de-duplicate unconditionally without inefficiency: Say `x` is an arbitrary string (either frozen or unfrozen) : ``` x = -x # may return a non fstring x = -+x # will return fstring, but makes an unneeded copy x = -x.dup # fstring again, uneeded copy x = x.frozen? ? -+x : -x # too verbose, uneeded copy ``` Instead why not change it so `-` is deduped unconditionally? I would argue this is worth backporting, cause if we are making fstring optimisations now, we are going to be stuck with legacy inefficient code going forward. An alternative may be a c-extension gem that adds #fstring to String but that just feel wrong. I think the documentation should say: String uminus says: "If the string is de-duplicated, then return the string itself." Happy to make the change it is quite simple:`(FL_TEST(str, RSTRING_FSTR)` -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:[email protected]?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>