Search code examples
eiffeleiffel-studio-18

Eiffel: Call use obsolete feature. Call to feature `to_string_8': Use `name_32' instead


I have a warning I cannot get rid of neither understand:

Eiffel: Call use obsolete feature. Call to feature `to_string_8': Use 'name_32' instead

item_prototype is a DB_SERVICE where I redefine out

if attached {APP_CONFIGURATION}.application_instance.selected_entity_primary_key ({SIT_UTIL}.class_name_lowercase ({like item_prototype})) as l_pk then

enter image description here enter image description here

One more point is that I wasn't able to copy the warning msg to my clipboard, how do I do that? if there is a way into EiffelStudio.


Solution

  • It looks like the feature {SIT_UTIL}.class_name_lowercase takes an argument of type STRING, but the current code supplies type TYPE [...] — the type of {like item_prototype}. There is a conversion feature to_string_8 in the class TYPE, but it is obsolete, that's why you get a warning.

    Either the signature of the feature class_name_lowercase has to be changed to accept TYPE instead of STRING, or the argument should be of the form ({like item_prototype}).name_32.as_string_8.

    In order to support Unicode identifiers, it's better to change the signature of class_name_lowercase anyway, so that it accepts STRING_32, and to pass ({like item_prototype}).name_32.