Skip to content

Uptake linter reporting on user-supplied template arguments - #5403

Draft
Timothee Guerin (timotheeguerin) wants to merge 3 commits into
Azure:mainfrom
timotheeguerin:linter-template-instantiation
Draft

Uptake linter reporting on user-supplied template arguments#5403
Timothee Guerin (timotheeguerin) wants to merge 3 commits into
Azure:mainfrom
timotheeguerin:linter-template-instantiation

Conversation

@timotheeguerin

@timotheeguerin Timothee Guerin (timotheeguerin) commented Sep 4, 2026

Copy link
Copy Markdown
Member

Uptake of microsoft/typespec#11862, which lets a linter rule report on a member a library template declared when the user picked the type it has — ARM's ResourceNameParameter<..., Type = Azure.Core.uuid> being the case that prompted it.

No suppressions or spec changes are needed. The compiler change attributes a member only when the user supplied its type and passed something they cannot edit, so rules keep quiet about members whose problem lies in a model the author already owns. Validated against azure-rest-api-specs: the previously hidden findings that surface are the ones the rules were written to catch (ArmResponse<unknown>, ArmResponse<NetworkTrace[]>), while Page<T> and blanked-documentation members no longer produce noise.

…template arguments

microsoft/typespec#11862 lets a rule report on a library template member whose
type came from an argument the user supplied. This surfaces one real finding in
the ARM samples: Page<LogAnalyticsOperationResult> has no identifying property,
now declared explicitly with @Identifiers(#[]).
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

No changes needing a change description found.

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

📦 Package size report

✅ No notable package size changes compared to the base branch.

13 package(s) with no notable change
Package Packed (base → head) Δ Packed Unpacked (base → head) Δ Unpacked
@azure-tools/typespec-java 13.51 MB → 13.51 MB -57 B (-0.0%) 15.03 MB → 15.03 MB
@azure-tools/azure-http-specs 146.76 KB → 146.76 KB 1.16 MB → 1.16 MB
@azure-tools/typespec-autorest 81.23 KB → 81.23 KB 396.61 KB → 396.61 KB
@azure-tools/typespec-autorest-canonical 7.42 KB → 7.42 KB 26.00 KB → 26.00 KB
@azure-tools/typespec-azure-core 130.84 KB → 130.84 KB 709.84 KB → 709.84 KB
@azure-tools/typespec-azure-portal-core 42.46 KB → 42.46 KB 193.15 KB → 193.15 KB
@azure-tools/typespec-azure-resource-manager 176.22 KB → 176.22 KB 1.07 MB → 1.07 MB
@azure-tools/typespec-azure-rulesets 5.28 KB → 5.28 KB 33.16 KB → 33.16 KB
@azure-tools/typespec-client-generator-core 229.57 KB → 229.57 KB 1.23 MB → 1.23 MB
@azure-tools/typespec-go 261.39 KB → 261.39 KB 1.34 MB → 1.34 MB
@azure-tools/typespec-metadata 15.91 KB → 15.91 KB 62.26 KB → 62.26 KB
@azure-tools/typespec-python 42.22 KB → 42.22 KB 164.91 KB → 164.91 KB
@azure-tools/typespec-ts 540.59 KB → 540.59 KB 2.60 MB → 2.60 MB

Packed = gzipped .tgz published to npm. Unpacked = total extracted size. 🆕 added, 🗑️ removed. Packages from the core/ submodule are not included.
🔴 grew · 🟢 shrank — only changes of at least 512 B and 0.5% are marked.

@azure-sdk-automation

Copy link
Copy Markdown
Contributor

You can try these changes here

🛝 Playground 🌐 Website

The Page<LogAnalyticsOperationResult> finding is no longer reported, since
Page declares value as T[] rather than T, so the sample fix is reverted and
this is now purely the core submodule bump.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant