xref: /arkcompiler/ets_frontend/ets2panda/linter/docs/rules/recipe49.md (revision 3af6ab5f)
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /arkcompiler/ets_frontend/ets2panda/linter/docs/rules/
13af6ab5fSopenharmony_ci#  Use generic functions instead of generic arrow functions
23af6ab5fSopenharmony_ci
33af6ab5fSopenharmony_ciRule ``arkts-no-generic-lambdas``
43af6ab5fSopenharmony_ci
53af6ab5fSopenharmony_ci**Severity: error**
63af6ab5fSopenharmony_ci
73af6ab5fSopenharmony_ciArkTS does not support generic arrow functions. Use normal generic functions
83af6ab5fSopenharmony_ciinstead.
93af6ab5fSopenharmony_ci
103af6ab5fSopenharmony_ci
113af6ab5fSopenharmony_ci## TypeScript
123af6ab5fSopenharmony_ci
133af6ab5fSopenharmony_ci
143af6ab5fSopenharmony_ci```
153af6ab5fSopenharmony_ci
163af6ab5fSopenharmony_ci    let generic_arrow_func = <T extends String> (x: T) => { return x }
173af6ab5fSopenharmony_ci
183af6ab5fSopenharmony_ci    generic_arrow_func("string")
193af6ab5fSopenharmony_ci
203af6ab5fSopenharmony_ci```
213af6ab5fSopenharmony_ci
223af6ab5fSopenharmony_ci## ArkTS
233af6ab5fSopenharmony_ci
243af6ab5fSopenharmony_ci
253af6ab5fSopenharmony_ci```
263af6ab5fSopenharmony_ci
273af6ab5fSopenharmony_ci    function generic_func<T extends String>(x: T): T {
283af6ab5fSopenharmony_ci        return x
293af6ab5fSopenharmony_ci    }
303af6ab5fSopenharmony_ci
313af6ab5fSopenharmony_ci    generic_func<String>("string")
323af6ab5fSopenharmony_ci
333af6ab5fSopenharmony_ci```
343af6ab5fSopenharmony_ci
353af6ab5fSopenharmony_ci
36

Indexes created Thu Nov 07 10:32:03 CST 2024