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 — those whose identifier contains a meta segment, 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/, syntax: are compiler syntax tests from internal/compiler/tests/syntax/slint-sc/, and rust: are Rust unit tests and test drivers of the slint-sc crate and the compiler.

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

ParagraphTests
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.collapsesyntax: whitespace.slint
sls.source.comment.linecase: lexical/with_comments.slint
syntax: comments.slint
sls.source.comment.blockcase: lexical/with_comments.slint
syntax: comments.slint
sls.source.comment.whitespace-equivalentcase: lexical/with_comments.slint
syntax: comments.slint
sls.source.comment.no-doc-commentssyntax: comments.slint
ParagraphTests
sls.lex.tokensrust: lexer.rs
sls.lex.numberrust: lexer.rs
sls.lex.identifier.classescase: lexical/unicode_identifiers.slint
rust: lexer.rs
sls.lex.identifier.no-leading-digitrust: lexer.rs
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
rust: lexer.rs
sls.lex.identifier.normalizationsyntax: identifier_normalization_collision.slint
syntax: identifier_normalization_distinct.slint
sls.lex.identifier.normalization-examplesyntax: identifier_normalization_collision.slint
sls.lex.identifier.canonical-formsyntax: identifier_normalization_collision.slint
sls.lex.contextual-keywordscase: lexical/contextual_keywords.slint
syntax: contextual_keywords.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/user_component.slint
sls.file.component.namecase: component/name.slint
sls.file.component.inheritscase: component/inherits.slint
sls.file.component.inherits.meaningcase: component/component_inheritance.slint
sls.file.component.inherits.body-appliescase: component/inherits.slint
sls.file.component.inherits.propertiescase: component/inherits.slint
sls.file.component.inherits.basecase: component/component_inheritance.slint
syntax: inherits_not_yet_defined.slint
syntax: inherits_unknown.slint
sls.file.component.body-bracessyntax: component_braces_close.slint
syntax: component_braces_open.slint
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-typenamecase: component/user_component.slint
syntax: element_unknown_type.slint
sls.file.element.no-window-instantiationsyntax: window_instantiation.slint
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.placementcase: export/placement.slint
sls.export.default-privatecase: export/lists.slint
sls.export.formscase: export/lists.slint
sls.export.declaration-sitecase: component/empty.slint
sls.export.listcase: export/lists.slint
sls.export.renamecase: export/lists.slint
sls.export.left-must-existsyntax: export_specifiers.slint
sls.export.no-duplicatescase: export/lists.slint
syntax: export_duplicate.slint
ParagraphTests
sls.prop.defcase: component/inherits.slint
sls.prop.def.valuecase: component/properties.slint
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.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.channelscase: expr/color_literals.slint
sls.expr.color.short-formscase: expr/color_literals.slint
sls.expr.color.typesyntax: color_literals.slint
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.rootcase: component/rectangle_position.slint
syntax: geometry_root.slint
sls.geom.windowsyntax: elements.slint
sls.geom.default-positioncase: component/baseless_implicit_size.slint
case: component/rectangle_centered.slint
case: component/rectangle_nesting.slint
sls.geom.default-sizecase: component/rectangle_nesting.slint
ParagraphTests
sls.type.colorcase: component/properties.slint
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.outputrust: tests/driver.rs
sls.gen.componentcase: component/empty.slint
case: component/name.slint
case: component/user_component.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.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.invocationcase: component/window_background.slint
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