ruru icon indicating copy to clipboard operation
ruru copied to clipboard

Ruby 2.5 Warnings on Data classes

Open grncdr opened this issue 7 years ago • 4 comments

The docs recommend inheriting from Data following this idiom:

let data_class = Class::from_existing("Data");
Class::new("MyClass", Some(&Data)).define(...)

On Ruby 2.5, this prints warning: constant ::Data is deprecated every time Data is accessed. I guess that there is some way to access this via the C extension API but I haven't found it yet.

grncdr avatar Mar 14 '18 21:03 grncdr

This isn't a ruru issue unless you're specifically saying that ruru's docs are suggesting the use of Data.

As for using Data it is depricated. You can see the discussion on the Ruby Bug Tracker # 3072. That will also have the relevant information you're looking for on what you can use instead.

danielpclark avatar Mar 22 '18 21:03 danielpclark

As per https://github.com/d-unseductable/ruru/blob/master/src/dsl.rs#L392, the documentation actually currently says that Data must be used.

asppsa avatar Apr 02 '18 07:04 asppsa

Thanks for pointing that out @asppsa . I haven't yet come across a need for using it so I'm not sure at the moment about implementing an alternative.

danielpclark avatar Apr 02 '18 08:04 danielpclark

I tried switching everything over from Data to Object in ruru and that works (doc tests pass). That is what Ruby is officially doing:

Agreed. How about making Data alias to Object. It may be removed in the future (3.0?).

Matz.

source: https://bugs.ruby-lang.org/issues/3072#note-15

danielpclark avatar Jun 20 '18 00:06 danielpclark