• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

dart-lang / native / 21834574551
75%

Build:
DEFAULT BRANCH: main
Ran 09 Feb 2026 05:38PM UTC
Jobs 3
Files 86
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

09 Feb 2026 05:32PM UTC coverage: 71.794% (-0.05%) from 71.839%
21834574551

push

github

web-flow
[record_use] Remove definition loading unit (#3061)

In `dart2js`, definitions currently include a `loading_unit` property which typically represents the "dominating" loading unit (the shared ancestor of all loading units where that definition is used). 

When assets are associated with a definition, using this definition-level `loading_unit` can lead to assets being loaded too early. For example, if a definition is used in two different deferred loading units, its dominating unit might be the main bundle. Loading the asset in the main bundle defeats the purpose of deferring it.

To fix this, we want to postpone asset loading until one of the actual loading units that uses the definition is loaded. Since every recorded `Call` and `Instance` already includes its own `loading_unit`, the property on the `Definition` itself is redundant and misleading for the web backend.

Closes: https://github.com/dart-lang/native/issues/2986

Issues to be addressed in follow up PRs:

* https://github.com/dart-lang/native/issues/3022
* https://github.com/dart-lang/native/issues/2888

## Changes

### 1. JSON Schema & Syntax
- Removed `loading_unit` from the `Definition` object in `record_use.schema.json`.
- Updated `Recording` to use `identifier` directly as its key property.

### 2. Dart API
- Removed the `Definition` class. `Recordings` now uses `Identifier` as the primary key for the `callsForDefinition` and `instancesForDefinition` maps.
- Added a `TODO` to `Identifier` to rename it to `Definition` in a future refactor ([#2888](https://github.com/dart-lang/native/issues/2888)).

44 of 50 new or added lines in 2 files covered. (88.0%)

1 existing line in 1 file now uncovered.

5755 of 8016 relevant lines covered (71.79%)

71.33 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
2
92.36
-0.33% pkgs/record_use/lib/src/recordings.dart
4
50.97
-0.1% pkgs/record_use/lib/src/syntax.g.dart

Uncovered Existing Lines

Lines Coverage ∆ File
1
50.97
-0.1% pkgs/record_use/lib/src/syntax.g.dart
Subprojects
ID Flag name Job ID Ran Files Coverage
1 native_pkgs_ubuntu 21834574551.1 09 Feb 2026 05:38PM UTC 86
67.88
GitHub Action Run
2 native_pkgs_windows 21834574551.2 09 Feb 2026 05:43PM UTC 86
70.26
GitHub Action Run
3 native_pkgs_macos 21834574551.3 09 Feb 2026 05:42PM UTC 86
68.7
GitHub Action Run
Source Files on build 21834574551
  • Tree
  • List 86
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #21834574551
  • 0e06fcfc on github
  • Prev Build on main (#21759767265)
  • Next Build on main (#21847093674)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc