Skip to content

@vue-ignore before defineProps generic params breaks compilation #12254

@LoTwT

Description

@LoTwT

Vue version

3.5.12

Link to minimal reproduction

https://play.vuejs.org/#eNq9k0tTwjAQx79KJgdfo3RsPWF9gMNBD8qox15CWWqwTTJJisww/e5uUnkjDBy4ZbO/ff2zmdCWUo1RCbRJY5NqriwxYEt1nwheKKkteZKFuiYDLQty2gi85QJOb5eIcIkINxDREhFNiTioy2JBNCwUKmcW0CIkrksHcyNcNCJvxMFCDL2k1qRSDHjWGBopcKqJ4xOaYgDPQb8py6UwCW0S73E+lufy58XfWV3C5fQ+/YL0e8P90IzdXUK7GgzoESR05rNMZ2Brd+fjFcZ4njkL2S9zpLc438HIvHQ91li7FH1se4Hz3T57XbnIPk1nbEGY6VCuUUdWnk8oquy0+m/0ebtR48bHJaJCFWfPvLoXJGciu8NAzON2RFjQA5YCadVJ2UOT9KTMgeFzYrJFpF0jvTWkDwMuoKulMnFwQR6x7hXPhNRALgLMfELa92fn23elz0f+8Hd07319xXDUCWGkquJgI9DzQG8JmJ5WN2u22EfXxCmwrstBmoS7NAn31sR/5aNrskmRgzcl2qVKtIcq1S/etMLp

Steps to reproduce

see the render result

What is expected?

@vue-ignore before defineProps generic params can work

What is actually happening?

defineProps</* @vue-ignore */ A & B>() breaks boolean casting in interface B
defineProps<A & /* @vue-ignore */ B>() works well
defineProps<& /* @vue-ignore */ A & B>() works well, but some rules in the VSCode may format it that will remove the first &

System Info

No response

Any additional comments?

No response

Metadata

Metadata

Assignees

No one assigned

    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