Skip to content

Traceability Matrix

Each requirement paragraph in the Language Specification, the SC API Reference, and the other chapters of this manual 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: 65 of 92 requirement paragraphs are covered by at least one test.

ParagraphTests
sls.source.file-extension
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.chars
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.classes
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.normalization
sls.lex.identifier.normalization-examplesyntax: identifier_normalization_collision.slint
sls.lex.identifier.canonical-formsyntax: identifier_normalization_collision.slint
sls.lex.contextual-keywords
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-forms
sls.file.component.name
sls.file.component.inherits
sls.file.component.body-braces
sls.file.component.bodycase: component/nested_rectangles.slint
syntax: bindings.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
sls.file.element.instantiation-typename
sls.file.element.bodycase: component/background_color.slint
case: component/nested_rectangles.slint
syntax: element_nesting.slint
sls.file.element.treecase: component/nested_rectangles.slint
syntax: element_nesting.slint
ParagraphTests
sls.export.placement
sls.export.default-private
sls.export.forms
sls.export.declaration-sitecase: component/empty.slint
sls.export.list
sls.export.rename
sls.export.left-must-existsyntax: export_specifiers.slint
sls.export.no-duplicates
ParagraphTests
sls.prop.def
sls.prop.decl.formcase: component/properties.slint
syntax: properties.slint
sls.prop.decl.visibilitysyntax: properties.slint
syntax: property_protected.slint
sls.prop.decl.incase: component/properties.slint
sls.prop.decl.outcase: component/properties.slint
sls.prop.decl.in-outcase: component/properties.slint
sls.prop.decl.privatecase: component/properties.slint
sls.prop.decl.root-onlysyntax: properties.slint
sls.prop.decl.typessyntax: properties.slint
sls.prop.decl.defaultcase: component/properties.slint
ParagraphTests
sls.binding.formcase: component/background_color.slint
syntax: color_literals.slint
sls.binding.target-must-existsyntax: bindings.slint
sls.type.kinds
sls.type.conversionssyntax: binding_types.slint
sls.binding.typesyntax: binding_types.slint
ParagraphTests
sls.expr.formssyntax: bindings.slint
sls.expr.color.formssyntax: color_literals.slint
sls.expr.color.channels
sls.expr.color.short-forms
sls.expr.color.type
sls.expr.length.formcase: component/rectangle_position.slint
syntax: length_literal_space.slint
syntax: units.slint
sls.expr.length.integralsyntax: units.slint
sls.expr.length.px-onlysyntax: units.slint
sls.expr.length.typecase: component/rectangle_position.slint
ParagraphTests
sls.geom.propertiessyntax: units.slint
sls.geom.relativecase: component/rectangle_nesting.slint
sls.geom.window.root
sls.geom.windowsyntax: elements.slint
sls.geom.default-positioncase: component/rectangle_centered.slint
case: component/rectangle_nesting.slint
sls.geom.default-sizecase: component/rectangle_nesting.slint
ParagraphTests
sls.type.color
sls.type.brushcase: component/rectangle_position.slint
sls.type.convert.color-to-brushcase: component/rectangle_position.slint
syntax: binding_types.slint
ParagraphTests
sls.type.lengthcase: component/properties.slint
case: component/rectangle_position.slint
ParagraphTests
sls.ref.rectangle.backgroundcase: component/rectangle_position.slint
sls.ref.rectangle.emptycase: component/rectangle_position.slint
ParagraphTests
sls.ref.window.backgroundcase: component/rectangle_position.slint
ParagraphTests
sls.gen.output
sls.gen.componentcase: component/empty.slint
sls.gen.window-rootsyntax: window_root.slint
sls.gen.newcase: component/empty.slint
sls.gen.render-rgb8case: component/window_background.slint
sls.gen.render-errorcase: component/window_background.slint
sls.gen.prop.field
sls.gen.prop.namescase: component/properties.slint
sls.gen.prop.getcase: component/properties.slint
sls.gen.prop.setcase: component/properties.slint
sls.gen.prop.typescase: component/properties.slint
ParagraphTests
sls.paint.invocation
sls.paint.modelcase: component/rectangle_nesting.slint
case: component/rectangle_position.slint
sls.paint.ordercase: component/rectangle_nesting.slint
sls.paint.clipcase: component/rectangle_nesting.slint
case: component/rectangle_wider_than_window.slint
sls.paint.no-parent-clipcase: component/rectangle_nesting.slint

© 2026 SixtyFPS GmbH