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

pantsbuild / pants / 18913303678

29 Oct 2025 03:29PM UTC coverage: 80.004% (-0.3%) from 80.283%
18913303678

push

github

web-flow
Updating 3rd party lockfiles for PBS script and MyPy (#22796)

Also small bumps to fastapi and starlette, which updated over the last few days. Starlette updated for features, and then a security vulnerability.

Fastapi bumped just for starlette.

88 of 93 new or added lines in 73 files covered. (94.62%)

221 existing lines in 15 files now uncovered.

77334 of 96663 relevant lines covered (80.0%)

5.2 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/python/pants/backend/rust/lint/rustfmt/rules.py
1
# Copyright 2023 Pants project contributors (see CONTRIBUTORS.md).
2
# Licensed under the Apache License, Version 2.0 (see LICENSE).
3

4
from __future__ import annotations
×
5

6
from dataclasses import dataclass
×
7

8
from pants.backend.rust.lint.rustfmt import skip_field
×
9
from pants.backend.rust.lint.rustfmt.skip_field import SkipRustfmtField
×
10
from pants.backend.rust.lint.rustfmt.subsystem import RustfmtSubsystem
×
11
from pants.backend.rust.target_types import RustPackageSourcesField
×
12
from pants.backend.rust.util_rules.toolchains import RustToolchainProcess
×
13
from pants.core.goals.fmt import FmtResult, FmtTargetsRequest
×
14
from pants.core.util_rules.partitions import PartitionerType
×
15
from pants.engine.process import execute_process_or_raise
×
16
from pants.engine.rules import collect_rules, implicitly, rule
×
17
from pants.engine.target import FieldSet, Target
×
18
from pants.util.logging import LogLevel
×
19
from pants.util.strutil import pluralize
×
20

21

22
@dataclass(frozen=True)
×
23
class RustfmtFieldSet(FieldSet):
×
24
    required_fields = (RustPackageSourcesField,)
×
25

26
    sources: RustPackageSourcesField
×
27

28
    @classmethod
×
29
    def opt_out(cls, tgt: Target) -> bool:
×
30
        return tgt.get(SkipRustfmtField).value
×
31

32

33
class RustfmtRequest(FmtTargetsRequest):
×
34
    field_set_type = RustfmtFieldSet
×
NEW
35
    tool_subsystem = RustfmtSubsystem  # type: ignore[assignment]
×
36
    partitioner_type = PartitionerType.DEFAULT_SINGLE_PARTITION
×
37

38

39
@rule(desc="Format with rustfmt")
×
40
async def rustfmt_fmt(request: RustfmtRequest.Batch) -> FmtResult:
×
41
    result = await execute_process_or_raise(
×
42
        **implicitly(
43
            RustToolchainProcess(
44
                binary="rustfmt",
45
                args=request.snapshot.files,
46
                input_digest=request.snapshot.digest,
47
                output_files=request.snapshot.files,
48
                description=f"Run rustfmt on {pluralize(len(request.files), 'file')}.",
49
                level=LogLevel.DEBUG,
50
            )
51
        )
52
    )
53
    return await FmtResult.create(request, result)
×
54

55

56
def rules():
×
57
    return (
×
58
        *collect_rules(),
59
        *skip_field.rules(),
60
        *RustfmtRequest.rules(),
61
    )
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