Skip to content

rustdoc: cargo deadlinks reveals invalid fragments in links generated by rustdoc #141115

Open
@BenjaminBrienen

Description

@BenjaminBrienen

See this run:
https://github.com/wgsl-analyzer/wgsl-analyzer/actions/runs/14971777301/job/42054178848#step:8:27

I expected to see this happen: Generated links to methods are valid

Instead, this happened:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.69s
   Generated C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\base_db\index.html and 14 other files
Found invalid urls in struct.ParseImportNoPreprocessorQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\base_db\struct.ParseImportNoPreprocessorQuery.html does not exist!
Found invalid urls in struct.LineIndexQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\base_db\struct.LineIndexQuery.html does not exist!
Found invalid urls in struct.ParseImportQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\base_db\struct.ParseImportQuery.html does not exist!
Found invalid urls in struct.ParseQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\base_db\struct.ParseQuery.html does not exist!
Found invalid urls in struct.ParseNoPreprocessorQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\base_db\struct.ParseNoPreprocessorQuery.html does not exist!
Found invalid urls in struct.ParseWithUnconfiguredQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\base_db\struct.ParseWithUnconfiguredQuery.html does not exist!
Found invalid urls in db\struct.BodyQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\hir_def\db\struct.BodyQuery.html does not exist!
Found invalid urls in db\struct.AstIdMapQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\hir_def\db\struct.AstIdMapQuery.html does not exist!
Found invalid urls in db\struct.AttrsQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\hir_def\db\struct.AttrsQuery.html does not exist!
Found invalid urls in db\struct.GetFileIdQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\hir_def\db\struct.GetFileIdQuery.html does not exist!
Found invalid urls in db\struct.BodyWithSourceMapQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\hir_def\db\struct.BodyWithSourceMapQuery.html does not exist!
Found invalid urls in db\struct.GetPathQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\hir_def\db\struct.GetPathQuery.html does not exist!
Found invalid urls in db\struct.ExpressionScopesQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\hir_def\db\struct.ExpressionScopesQuery.html does not exist!
Found invalid urls in db\struct.FnDataQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\hir_def\db\struct.FnDataQuery.html does not exist!
Found invalid urls in db\struct.GlobalConstantDataQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\hir_def\db\struct.GlobalConstantDataQuery.html does not exist!
Found invalid urls in db\struct.GlobalVarDataQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\hir_def\db\struct.GlobalVarDataQuery.html does not exist!
Found invalid urls in db\struct.ModuleInfoQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\hir_def\db\struct.ModuleInfoQuery.html does not exist!
Found invalid urls in db\struct.OverrideDataQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\hir_def\db\struct.OverrideDataQuery.html does not exist!
Found invalid urls in db\struct.ResolveFullSourceQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\hir_def\db\struct.ResolveFullSourceQuery.html does not exist!
Found invalid urls in db\struct.TextRangeFromFullQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\hir_def\db\struct.TextRangeFromFullQuery.html does not exist!
Found invalid urls in db\struct.ParseOrResolveQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\hir_def\db\struct.ParseOrResolveQuery.html does not exist!
Found invalid urls in db\struct.StructDataQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\hir_def\db\struct.StructDataQuery.html does not exist!
Found invalid urls in db\struct.TypeAliasDataQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\hir_def\db\struct.TypeAliasDataQuery.html does not exist!
Found invalid urls in db\struct.FieldTypesQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\hir_ty\db\struct.FieldTypesQuery.html does not exist!
Found invalid urls in db\struct.FunctionTypeQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\hir_ty\db\struct.FunctionTypeQuery.html does not exist!
Found invalid urls in db\struct.StructIsUsedInUniformQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\hir_ty\db\struct.StructIsUsedInUniformQuery.html does not exist!
Found invalid urls in db\struct.InferQuery.html:
        Fragment #tymethod.execute at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\hir_ty\db\struct.InferQuery.html does not exist!
Found invalid urls in struct.RootDatabase.html:
        Fragment #tymethod.maybe_changed_since at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\ide\struct.RootDatabase.html does not exist!
        Fragment #tymethod.ops_salsa_runtime at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\ide\struct.RootDatabase.html does not exist!
        Fragment #tymethod.group_storage at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\ide\struct.RootDatabase.html does not exist!
        Fragment #tymethod.for_each_query at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\ide\struct.RootDatabase.html does not exist!
        Fragment #tymethod.fmt_index at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\ide\struct.RootDatabase.html does not exist!
        Fragment #tymethod.ops_salsa_runtime_mut at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\ide\struct.RootDatabase.html does not exist!
        Fragment #tymethod.ops_database at C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\ide\struct.RootDatabase.html does not exist!
        Linked file at path C:\Users\BenjaminBrienen\source\wgsl-analyzer\target\doc\ide\struct.QueryTable.html does not exist!

Meta

rustc --version --verbose:

rustc 1.87.0 (17067e9ac 2025-05-09)
binary: rustc
commit-hash: 17067e9ac6d7ecb70e50f92c1944e545188d2359
commit-date: 2025-05-09
host: x86_64-pc-windows-msvc
release: 1.87.0
LLVM version: 20.1.1

same result using cargo +nightly deadlinks

If I visit "file:///C:/Users/BenjaminBrienen/source/wgsl-analyzer/target/doc/ide/struct.RootDatabase.html#method.group_storage" then it does take me straight to group_storage method. If I put "file:///C:/Users/BenjaminBrienen/source/wgsl-analyzer/target/doc/ide/struct.RootDatabase.html#tymethod.group_storage" instead, then it only visits the page because the fragment is invalid.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-intra-doc-linksArea: Intra-doc links, the ability to link to items in docs by nameC-bugCategory: This is a bug.E-needs-mcveCall for participation: This issue has a repro, but needs a Minimal Complete and Verifiable ExampleT-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions