microsoft / microsoft/typespec

[Bug]: Cannot define examples with different visibility of required fields

Open
#7,227 2 comments 0 reactions 0 assignees View on GitHub
bug 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

This definition is invalid even though example is valid for Read and Query:
```
@example(#{rw: "foo"})
model bar {
@visibility(Lifecycle.Read, Lifecycle.Query) ro: string;
rw: string;
}
```

Error: `error missing-property Property 'ro' is missing on type '{ rw: "foo" }' but required in 'bar' 1:10`

Expected behaviour: accept an example if it's acceptable in any of visibility settings, or allow explicit definition of visibility in example.

### Reproduction

[Playground Link](https://typespec.io/playground/?c=QGV4YW1wbGUoI3tydzogImZvbyJ9KQptb2RlbCBiYXIgewogIEB2aXNpYmlsaXR5KExpZmVjeWNsZS5SZWFkLCDKEFF1ZXJ5KSBybzogc3RyaW5nOwogIMRVyA59Cg%3D%3D&e=%40typespec%2Fopenapi3&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.