---
title: "Use Cases"
description: "How the tools of Slint SC are used in a project."
---
**Addresses:** ISO 26262-8 11.4.5.1

This chapter lists how each tool of Slint SC is used in a project.
The [potential errors](/evaluation-report/potential-errors/) and the [tool classification](/evaluation-report/tool-classification/) are derived from these use cases.
How the runtime is added to a project is in the [Installation](/user-manual/get-started/installation/#add-the-runtime) chapter of the User Manual.

## Compiling a .slint File Into Rust

* **ID**: UC_COMPILE_SLINT_FILE
* **Tool**: Slint compiler
* **Purpose**: Generate source code for the product.
* **Input**: A `.slint` file
* **Output**: Rust code that can be compiled into the final executable
* **Environment Constraints**: Not stated yet

The `slint-compiler` binary, invoked with `--slint-sc`, translates the `.slint` file into Rust code:

```sh
slint-compiler --slint-sc -o main_file.rs mainFile.slint
```

The generated code is then compiled and linked into the application together with the `slint-sc` runtime crate.

## Measuring the Coverage of Slint Code

* **ID**: UC_MEASURE_SLINT_COVERAGE
* **Tool**: `slint-sc-coverage`
* **Purpose**: Report which parts of the `.slint` code the tests of the application reached, as verification evidence.
* **Input**: The `.slintcov` maps the compiler writes with `--coverage`, and the `llvm-cov` export of the instrumented test run
* **Output**: The coverage of the `.slint` code, per coverage point
* **Environment Constraints**: The test program runs on the host, where the LLVM profiler runtime is available

[Coverage of Slint Code](/user-manual/slint-coverage/) describes the usage procedure.