[#81999] [Ruby trunk Bug#13737] "can't modify frozen String" when installing bundled gems — ko1@...
Issue #13737 has been updated by ko1 (Koichi Sasada).
4 messages
2017/07/11
[#82005] [Ruby trunk Bug#13737] "can't modify frozen String" when installing bundled gems — nobu@...
Issue #13737 has been updated by nobu (Nobuyoshi Nakada).
3 messages
2017/07/12
[#82102] Re: register_fstring_tainted:FL_TEST_RAW(str, RSTRING_FSTR) — Eric Wong <normalperson@...>
Koichi Sasada <ko1@atdot.net> wrote:
4 messages
2017/07/18
[#82151] [Ruby trunk Feature#13637] [PATCH] tool/runruby.rb: test with smallest possible machine stack — Rei.Odaira@...
Issue #13637 has been updated by ReiOdaira (Rei Odaira).
3 messages
2017/07/24
[ruby-core:82061] [Ruby trunk Bug#13593][Feedback] Addrinfo#== behaves oddly
From:
akr@...
Date:
2017-07-14 09:17:53 UTC
List:
ruby-core #82061
Issue #13593 has been updated by akr (Akira Tanaka).
Status changed from Open to Feedback
It is difficult compare Addrinfo objects precisely if not impossible.
Using Addrinfo#inspect as addrinfo_eql.diff is fragile.
Addrinfo is basically struct addrinfo which contains struct sockaddr.
Byte-to-byte comparison may not work.
struct sockaddr can have padding which makes byte-to-byte comparison different but
means same address.
Also, ai_family may be AF_UNSPEC which is same meaning to AF_INET or AF_INET6.
I guess there are more concerns.
The critical point is that Ruby can not know all protocols supported by OS.
Since struct sockaddr depends to a protocol, we can not compare all socket address properly.
----------------------------------------
Bug #13593: Addrinfo#== behaves oddly
https://bugs.ruby-lang.org/issues/13593#change-65793
* Author: ioquatix (Samuel Williams)
* Status: Feedback
* Priority: Normal
* Assignee:
* Target version:
* ruby -v:
* Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
It appears as if Addrinfo is using object identity. `Addrinfo#==` doesn't appear to work as one might expect, given the same instantiation:
~~~
> irb
2.4.0 :001 > require 'socket'
=> true
2.4.0 :002 > Addrinfo.tcp('0.0.0.0', 1234) == Addrinfo.tcp('0.0.0.0', 1234)
=> false
2.4.0 :003 > a = Addrinfo.tcp('0.0.0.0', 1234)
=> #<Addrinfo: 0.0.0.0:1234 TCP>
2.4.0 :004 > a == a
=> true
2.4.0 :005 >
~~~
---Files--------------------------------
addrinfo_eql.diff (575 Bytes)
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>