Skip to content

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

Open
@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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions