You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Context. In order to define a default implementation (the one used if no other implementation matches), we currently have to write something like this:
fromclassesimporttypeclass@typeclassdefrender(data_value) ->str:
"""Render a data value nicely."""@render.instance(int)def_render_int(data_value: int) ->str:
returnf'This is an integer: {data_value}'@render.instance(object)def_render_int(data_value: object) ->str:
returnf'No idea what this is: {data_value}'assertrender('BADOOM') =='No idea what this is: BADOOM'
(this script should be runnable as-is.)
Decision. Support Any as a special case to replace object:
@render.instance(Any)def_render_int(data_value: Any) ->str: # type: ignorereturnf'No idea what this is: {data_value}'
Consequences.
Pro: The code will look a little bit more straightforward;
Contra: mypy with common settings might be unhappy about Any being used, but that can be silenced with type: ignore I suppose.
The text was updated successfully, but these errors were encountered:
Context. In order to define a default implementation (the one used if no other implementation matches), we currently have to write something like this:
(this script should be runnable as-is.)
Decision. Support
Any
as a special case to replaceobject
:Consequences.
mypy
with common settings might be unhappy aboutAny
being used, but that can be silenced withtype: ignore
I suppose.The text was updated successfully, but these errors were encountered: