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

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: 29 of 45 requirement paragraphs are covered by at least one test.

ParagraphTests
sls.meta.purpose
sls.meta.purpose-vs-reference
sls.meta.conventions.normative
sls.meta.conventions.examples
ParagraphTests
sls.source.file-extension
sls.source.encoding.utf8syntax: bom-encoding.slint
sls.source.encoding.bomsyntax: bom-encoding.slint
sls.source.line-terminators
sls.source.bare-cr
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.tokens
sls.lex.identifier.classessyntax: identifiers.slint
sls.lex.identifier.no-leading-hyphen
sls.lex.identifier.normalizationsyntax: identifiers.slint
sls.lex.identifier.normalization-example
sls.lex.identifier.canonical-form
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
sls.file.example.intro
sls.file.example.description
ParagraphTests
sls.export.placement
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.rename
sls.export.left-must-exist
sls.export.no-duplicatessyntax: component_declaration.slint

© 2026 SixtyFPS GmbH