Skip to content

Traceability Matrix

Each requirement paragraph in the Language Specification carries a unique identifier, shown as a [sls.…] badge at the end of the paragraph. A test case declares which requirements it verifies by listing their identifiers in //#sls.… comments. This matrix lists every requirement paragraph with the test cases that declare it. Requirements not yet covered by any test are marked ❌. Informative paragraphs — the document conventions (sls.meta.…) and examples — are not listed; the examples are compiled by the doctests test instead.

Tests marked case: are executed test cases from api/slint-sc/tests/cases/, tests marked syntax: are compiler syntax tests from internal/compiler/tests/syntax/slint-sc/.

Coverage: 43 of 46 requirement paragraphs are covered by at least one test.

ParagraphTests
sls.source.file-extensionsyntax: source_file.slint
sls.source.encoding.utf8syntax: bom-encoding.slint
sls.source.encoding.bomsyntax: bom-encoding.slint
sls.source.line-terminatorssyntax: crlf-line-terminators.slint
sls.source.bare-crsyntax: crlf-line-terminators.slint
sls.source.whitespace.charssyntax: whitespace.slint
sls.source.whitespace.collapsesyntax: whitespace.slint
sls.source.comment.linecase: component/with_comments.slint
syntax: comments.slint
sls.source.comment.blockcase: component/with_comments.slint
syntax: comments.slint
sls.source.comment.whitespace-equivalentcase: component/with_comments.slint
syntax: comments.slint
sls.source.comment.no-doc-commentssyntax: comments.slint
ParagraphTests
sls.lex.tokenssyntax: whitespace.slint
sls.lex.identifier.classessyntax: identifiers.slint
sls.lex.identifier.no-leading-hyphensyntax: identifier_leading_hyphen.slint
syntax: identifier_leading_hyphen_element_id.slint
syntax: identifier_leading_hyphen_inherits.slint
syntax: identifier_leading_hyphen_property.slint
sls.lex.identifier.normalizationsyntax: identifiers.slint
sls.lex.identifier.normalization-examplesyntax: identifier_normalization_collision.slint
sls.lex.identifier.canonical-formsyntax: identifier_normalization_collision.slint
sls.lex.contextual-keywordssyntax: identifiers.slint
ParagraphTests
sls.file.source-filesyntax: source_file.slint
sls.file.source-file.emptysyntax: empty_file.slint
sls.file.top-level-itemsyntax: enums.slint
syntax: globals.slint
syntax: source_file.slint
syntax: structs.slint
sls.file.component.definition-formscase: component/empty.slint
syntax: component_declaration.slint
sls.file.component.namesyntax: source_file.slint
sls.file.component.inheritssyntax: inheritance.slint
sls.file.component.body-bracessyntax: source_file.slint
sls.file.component.bodycase: component/nested_rectangles.slint
syntax: element_nesting.slint
syntax: for_and_if.slint
sls.file.component.body.emptycase: component/empty.slint
sls.file.element.instantiation-formcase: component/nested_rectangles.slint
syntax: element_nesting.slint
syntax: elements.slint
sls.file.element.instantiation-typenamesyntax: element_nesting.slint
syntax: elements.slint
sls.file.element.bodycase: component/nested_rectangles.slint
syntax: element_nesting.slint
syntax: elements.slint
sls.file.element.treecase: component/nested_rectangles.slint
syntax: element_nesting.slint
syntax: elements.slint
ParagraphTests
sls.export.placementsyntax: source_file.slint
sls.export.default-privatesyntax: component_declaration.slint
sls.export.formssyntax: export_specifiers.slint
sls.export.declaration-sitecase: component/empty.slint
syntax: component_declaration.slint
sls.export.listsyntax: export_specifiers.slint
sls.export.renamesyntax: export_specifiers.slint
sls.export.left-must-existsyntax: export_specifiers.slint
sls.export.no-duplicatessyntax: component_declaration.slint
ParagraphTests
sls.binding.formcase: component/background_color.slint
syntax: color_literals.slint
sls.binding.target-must-existsyntax: bindings.slint
sls.expr.formssyntax: bindings.slint
sls.expr.color.formscase: component/background_color.slint
syntax: color_literals.slint
sls.expr.color.channels
sls.expr.color.short-forms
sls.expr.color.type

© 2026 SixtyFPS GmbH