Skip to content

[Bug]: Can not provide default value for valueof template parameter #9813

@dvv

Description

@dvv

Describe the bug

I'm struggling with passing default to valueof template parameter.
Please, clarify what's wrong there.

Reproduction

model Pagination {
  offset: uint32,
  limit: uint32,
}

model RequestListN<T, DefaultLimit extends valueof uint32 = 30> {
  pagination: Pagination = #{ offset: 0, limit: DefaultLimit },
}

// good
model RequestList30 is RequestListN<unknown> {}
// good as well
model RequestList50 is RequestListN<unknown, 50> {}

// bad: DefaultLimit refers to a type, but is being used as a value here.
interface Test<T, DefaultLimit extends valueof uint32 = 30> {
  op list(...RequestListN<T, DefaultLimit>): unknown;
}

Checklist

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions