slint-ui/slint · error · std::io::Error
{path:?} is still loading
Error message
{path:?} is still loading What it means
Error "{path:?} is still loading" thrown in slint-ui/slint.
Source
Thrown at internal/compiler/typeloader.rs:1010
self.revision = self.revision.wrapping_add(1);
}
pub fn revision(&self) -> u64 {
self.revision
}
/// Drop a document from the TypeLoader and invalidate all of its dependencies.
/// Returns the list of all (transitive) dependencies.
///
/// This forces the compiler to entirely reload the document from scratch.
/// To only cause a re-analyze, but not a reparse, use [Self::invalidate_document]
pub fn drop_document(&mut self, path: &Path) -> Result<HashSet<PathBuf>, std::io::Error> {
let dependencies = self.invalidate_document(path);
self.all_documents.docs.remove(path);
self.bump_revision();
if self.all_documents.currently_loading.contains_key(path) {
Err(std::io::Error::new(ErrorKind::InvalidInput, format!("{path:?} is still loading")))
} else {
Ok(dependencies)
}
}
/// Invalidate a document and all its dependencies.
///
/// This will keep the CST of the document in cache, but mark that it needs to be re-analyzed
/// to reconstruct its types.
///
/// To entirely forget a document and cause a complete re-parse, use [Self::drop_document].
pub fn invalidate_document(&mut self, path: &Path) -> HashSet<PathBuf> {
if let Some((d, _)) = self.all_documents.docs.get_mut(path) {
if let LoadedDocument::Document(doc) = d {
for import in &doc.imports {
self.all_documents
.dependencies
.entry(Path::new(&import.file).into())View on GitHub (pinned to 3fd8f2ec03)
Solutions
- Wait for the file to finish loading before requesting it again.
- Avoid re-entrant loads of the same file in the type loader.
When it happens
Trigger: Thrown at internal/compiler/typeloader.rs:1010 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of slint-ui/slint@3fd8f2ec03 (2026-08-19).
Data as JSON: /api/errors/a779f6b3dca1b9d4.
Report an issue: GitHub.