Skip to content

Incorrect parser diagnostic message for duplicate export modifier #15870

@camc314

Description

@camc314

https://playground.oxc.rs/#eNqNVF1v0zAU/SuWX2CjqGOANAUhgbZVmjRY2Rh7Qaqc5Kbz5tjBvlk7qv53jpM4HdKEeIpzbs79OPc4G1nITNK6cZ7F8KhaW7B2VpQUyGtl9G86K8myrjT5r6qml40Le2Lz0wphiEVgBdpHMd0XnxaL+fXl6WIh9qdP+ddvDzvSh8iZTiOLbPlfHPFKvOt5nrj1tq8rBD82lIkXu85eTPqARYfZvxJfsR8SH+0NnG6E4YzGutMWRbdyIp3MNtK3Nj6Mtiwz9i1NZOV8rZjJy6xSJgBhr2yI8Ijo4IxiKk+oMMqrKGsYg6tbzRQaVdAI1couDV77CoWrG08BjP49FK4Zg+Gxzp0ZP62WQ5LtRDbKY9jYL62ZbEBVbJnDGtMoY9zqslPyouWgS5oN+06pYknyDzRXHtyEdrwfR2eWvUbGYtcUoWnWxan3zg8oeohKdT3g/ESpjWwDfVf5TgVW+Y0u+VZmhxMJ7S+qc20xpTQV2m1QjYf40QGq6SjQt9bxTrS7sL56Bv4V3+beNaglVXhtiUoqkRNr0mhveezqWsWYMUAxhx6HxSyrND/iK/UY8EnuVXFPfIWVgZ4+Tihs13c+1Hf5HRV841WDHEnUWKjr9TNDyLxFh+T/ouEWwqg1XK3MBY6KnZ+7oPsVRYUkJB2t1osK+y4JzpQUDg/evEcVyHxCFRLPnD82KoSZJlOOW3taBeZ0XZldtNY8ol+IVakYSg2rfd7UGxkwUQODkLcKxkxuLFxJS+quj41GGD17F0qH388gubWOu1wJMbRM33ZZ0l2Ijkr3BJO75pweaEx6T9TEf1QyWEeFaZ2ZwcCR8UA+dyEJHuexcVExNJ62gMtOvgiPp23Eo8xppu0fT/DWsw==

export export function foo() {
}

Reports:

  x TS(1029): 'export' modifier must precede 'declare' modifier.
   ,-[:1:8]
 1 | export export function foo() {
   :        ^^^^^^
   `----

  x 'export' modifier cannot be used here.
   ,-[:1:8]
 1 | export export function foo() {
   :        ^^^^^^
   `----
  help: Allowed modifiers are: declare, async

We should follow typescript (or better), and do somthing like just report 'export' modifier already seen.

https://www.typescriptlang.org/play/?#code/KYDwDg9gTgLgBKSs4DMCuA7AxjAlhDOAE2AGdgpcBDAG1wC9gBJEjPFXCgOSoFtgAFJFIBKOAG8AUHDg1g8UjCrIAvHAD0AKjgABAPp6ACgFUASgFEDcTeuJkK1Oo2MBmAExCIogNzSN6uXhgDCI4NS1dAxMLKxs7ckpaBmBXD2E4AGo4ABYRXxkoeTQoQikZGRgATzBgAC44AHIWYPZOKAaAGj8ZDD46jW19IzNLPWtbEgTHZIBlGChPUky4AA4RLvK4RWUYDfLgoj2AX18joA

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions