microsoft / microsoft/typespec

[Bug]: How to locate/decorate union variant in union?

Open
#5,081 4 comments 0 reactions 0 assignees View on GitHub
compiler:core design:needed triaged:core
Dominant language
Java
Stars
5.9k
Forks
394
Avg merge
1d 23h
Merged PRs (30d)
104

Description

### Describe the bug

Say we have following spec and we want to add a better name for enum item `3`, but the compile reports errors. Is this a bug?

```
import "@typespec/http";
import "@azure-tools/typespec-client-generator-core";

using TypeSpec.Http;
using Azure.ClientGenerator.Core;

union ExtensibleNumber {
One: 1,
Two: 2,
3,
int8,
}
model Foo {
extensibleNumber: ExtensibleNumber;
}
op post(@body body: Foo): void;

@@clientName(ExtensibleNumber.One, "ItemOne");
@@clientName(ExtensibleNumber.Two, "ItemTwo");
@@clientName(ExtensibleNumber.`3`, "ItemThree");
```
![Image](https://github.com/user-attachments/assets/47942ebf-33cf-4e41-b8c8-25aabfe669c2)

### Reproduction

[playground](https://cadlplayground.z22.web.core.windows.net/cadl-azure/?c=aW1wb3J0ICJAdHlwZXNwZWMvaHR0cCI7DQrJGmF6dXJlLXRvb2xzL8gmLWNsaWVudC1nZW5lcmF0b3ItY29yZcQ3DQp1c2luZyBUeXBlU3BlYy5IdHRwO8gWQcRMLkPFPUfIPC5Db3JlxjtuaW9uIEV4dGVuc2libGVOdW1iZXIgew0KICBPbmU6IDEsxAtUd286IDLFCzPFBmludDgsDQp9DQptb2RlbCBGb2%2FGNWXPSzrRXTvFN29wIHBvc3QoQGJvZHkgxAU6xEUpOiB2b2lk5QCcQEDmAPROYW1lKNBGLk9uZSwgIkl0ZW1PbmUiKTvfMC5Ud2%2FHMFR3b98wxDBgM2DIMGhyZcZi&e=%40azure-tools%2Ftypespec-autorest&options=%7B%7D)

### Checklist

- [x] Follow our [Code of Conduct](https://github.com/microsoft/typespec/blob/main/CODE_OF_CONDUCT.md)
- [x] Check that there isn't already an issue that request the same bug to avoid creating a duplicate.
- [x] Check that this is a concrete bug. For Q&A open a [GitHub Discussion](https://github.com/Microsoft/typespec/discussions).
- [x] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.