microsoft / microsoft/typespec

Unnamed union with named members on the model level

Open
#7,127 0 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

### Clear and concise description of the problem

Problem as stated in https://github.com/microsoft/typespec/discussions/7124

Scenario: model foo has a property bar and one of 2 properties baz and fox.

Potential modelling (or any equivalent that would allow anonymous reference to baz_or_fox where the union properties are named but are directly placed in foo):
```
model foo {
bar: uint32;
...baz_or_fox;
}

union baz_or_fox {
baz: uint32;
fox: uint32;
}
```

Currently it throws "Cannot spread properties of non-model type.".

### Checklist

- [x] Follow our [Code of Conduct](https://github.com/microsoft/typespec/blob/main/CODE_OF_CONDUCT.md)
- [x] Read the [docs](https://typespec.io/docs/).
- [x] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

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.