[#114703] [Ruby master Bug#19875] Ruby 2.7 -> 3.1 Performance regression in String#count — "iz (Illia Zub) via ruby-core" <ruby-core@...>

Issue #19875 has been reported by iz (Illia Zub).

18 messages 2023/09/12

[#114774] [Ruby master Feature#19884] Make Safe Navigation Operator work on classes — "p8 (Petrik de Heus) via ruby-core" <ruby-core@...>

Issue #19884 has been reported by p8 (Petrik de Heus).

13 messages 2023/09/15

[#114796] [Ruby master Feature#19889] Let `Kernel.#require` search for files relative to the current working directory for non ./, ../ relative paths — "sawa (Tsuyoshi Sawada) via ruby-core" <ruby-core@...>

Issue #19889 has been reported by sawa (Tsuyoshi Sawada).

6 messages 2023/09/18

[#114803] [Ruby master Bug#19890] File#realine(chomp: true) slower/more allocations than readline.chomp! — "segiddins (Samuel Giddins) via ruby-core" <ruby-core@...>

Issue #19890 has been reported by segiddins (Samuel Giddins).

12 messages 2023/09/18

[#114817] [Ruby master Bug#19892] Build failure with 8f1b688177 — "vo.x (Vit Ondruch) via ruby-core" <ruby-core@...>

Issue #19892 has been reported by vo.x (Vit Ondruch).

8 messages 2023/09/19

[#114915] [Ruby master Feature#19905] Introduce `Queue#peek` — "hi@... (Joao Fernandes) via ruby-core" <ruby-core@...>

Issue #19905 has been reported by hi@joaofernandes.me (Joao Fernandes).

8 messages 2023/09/28

[ruby-core:114797] [Ruby master Bug#19888] Can't change binding of a Proc coerced from a Method

From: "nobu (Nobuyoshi Nakada) via ruby-core" <ruby-core@...>
Date: 2023-09-18 13:23:17 UTC
List: ruby-core #114797
Issue #19888 has been updated by nobu (Nobuyoshi Nakada).



Status changed from Open to Feedback



Converting `Method` to `Proc` is **not** copying the inner code literally i=
nto a new block.

`Method` is bound to the receiver, while `UnboundMethod` returned by `Modul=
e#instance_method` is not, as the names.



----------------------------------------

Bug #19888: Can't change binding of a Proc coerced from a Method

https://bugs.ruby-lang.org/issues/19888#change-104641



* Author: waiting_for_dev (Marc Busqu=E9)

* Status: Feedback

* Priority: Normal

* Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN

----------------------------------------

`instance_exec` or `instance_eval` can execute a given `Proc` in the contex=
t of the receiver. However, that's not true when the `Proc` has been coerce=
d from a `Method`. In that situation, the binding is always tied to the ori=
ginal instance.



```ruby

class A

  def foo

    "from A"

  end

end



class B

  def foo

    "from B"

  end

end



A.new.instance_exec(&-> { foo }) # =3D> from A

A.new.instance_exec(&B.new.method(:foo)) # =3D> from B

A.new.instance_exec(&B.new.method(:foo).to_proc) # =3D> from B

```



At first sight, that looks like a bug, as the transformation from `Method` =
to `Proc` is not complete.











--=20

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/postorius/lists/ruby-c=
ore.ml.ruby-lang.org/

In This Thread

Prev Next