Skip to content

TSX Default Generic Arrow Function Syntax Highlighting  #990

@JustJarethB

Description

@JustJarethB

Does this issue occur when all extensions are disabled?: Yes

  • VS Code Version: Version: 1.78.2
  • OS Version: Darwin arm64 21.3.0

Related to microsoft/TypeScript#47062
TSC has been updated to successfully parse the below TSX code snippet:

const Component = <T = undefined>(props: PropType<T>) => <p>content</p>

however this currently breaks the syntax highlighting in VSCode's typescriptreact parser.

The same can be said for the trailing comma added by prettier (3.0.3):

const Component = <T = undefined,>(props: PropType<T>) => <p>content</p>

Some short term work-arounds are available:

Using extends

const Component = <T extends unknown = undefined>(props: PropType<T>) => <p>content</p>

Using function syntax

const Component = function<T = undefined>(props: PropType<T>) {
  return <p>content</p>
}

Despite these workarounds, the original code seems syntactically valid, and more concise, so I believe this to be a bug

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions