microsoft / microsoft/typespec

[Bug]: the value of `IntrinsicScalarName` is incomplete

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

Description

### Describe the bug

[The function definition](https://github.com/microsoft/typespec/blob/60d87bc77014a6756b255f3e81f931ea8b25e80f/packages/compiler/src/core/checker.ts#L287) says: if `isStdType` returns true, `type` is a Type and its `name` is one of the `StdTypeName`.
The definition of `StdTypeName` is `IntrinsicScalarName | "Array" | "Record"`.

When I write code and pass in a symbol of `unixTimestamp32` (defined [here](https://github.com/microsoft/typespec/blob/60d87bc77014a6756b255f3e81f931ea8b25e80f/packages/compiler/lib/std/types.tsp#L8)), the `isStdType` returns `true`, but its name is not in the list of `IntrinsicScalarName`.

### Reproduction

Try write a tsp like this:
```typespec
model Test {
prop: unixTimestamp32;
}
```
and get the type of property `prop`, then put it to `isStdType` and see whether it returns true.

### 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.