Skip to content

windows-sys v0.59.0 (latest version) hits a FCW on the latest nightly #142330

Closed
microsoft/windows-rs
#3622

Description

@tgross35

I happened to notice this on the playground https://play.rust-lang.org/?version=nightly&mode=debug&edition=2024&gist=ef32dafd88af58c9b698a698fd39d818:

warning: the following packages contain code that will be rejected by a future version of Rust: windows-sys v0.59.0

It appears on nightly but not beta so this must be from a recent change. I don't currently have access to a Windows machine to check out what the error actually is, but considering windows-sys is a top 100 crate, we should probably consider removing the relevant lint from report_in_deps before the beta branch to give some migration time. Otherwise almost everybody developing on Windows is going to have a new error that they can't do much about.

Activity

  1. added
    needs-triageThis issue may need triage. Remove when done. See docs forge.rust-lang.org/release/issue-triaging
    on Jun 11, 2025
  2. added
    O-windowsOperating system: Windows
    A-diagnosticsArea: Messages for errors, warnings, and lints
    E-needs-bisectionCall for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustc
    and removed
    needs-triageThis issue may need triage. Remove when done. See docs forge.rust-lang.org/release/issue-triaging
    on Jun 11, 2025
  3. added
    T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.
    on Jun 11, 2025
  4. tgross35 commented on Jun 11, 2025

    @tgross35
    MemberAuthor

    Cc @kennykerr since I believe you maintain windows-sys

  5. workingjubilee commented on Jun 11, 2025

    @workingjubilee
    Member

    Probably code involving extern "stdcall", cc @RalfJung

  6. tgross35 commented on Jun 11, 2025

    @tgross35
    MemberAuthor

    That makes perfect sense, #141435 includes

    report_in_deps: true,
    . Maybe we could drop the report_in_deps for a version or two so windows-sys has a chance to migrate?

  7. tgross35 commented on Jun 11, 2025

    @tgross35
    MemberAuthor
  8. workingjubilee commented on Jun 11, 2025

    @workingjubilee
    Member

    I am revising my guess: it actually is probably usages of extern "cdecl".

  9. added and removed
    E-needs-bisectionCall for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustc
    on Jun 11, 2025
  10. Noratrieb commented on Jun 11, 2025

    @Noratrieb
    Member

    I agree that emitting an FCW on every windows build is really bad, we should back that out again. I can do that but will only get to it later today, so if someone else wants to do it that'd be great.

  11. 4 remaining items

  12. RalfJung commented on Jun 11, 2025

    @RalfJung
    Member

    And that was building for an x86_64 windows target, I assume? Yeah then we would indeed complain about cdecl now.

  13. added 2 commits that reference this issue on Jun 12, 2025
  14. added 2 commits that reference this issue on Jun 12, 2025
  15. added a commit that references this issue on Jun 12, 2025
  16. added a commit that references this issue on Jun 12, 2025
  17. added a commit that references this issue on Jun 13, 2025
  18. jieyouxu commented on Jun 14, 2025

    @jieyouxu
    Member

    #142353 merged to downgrade the FCW to not report-in-deps1, so I believe this is no longer P-critical for prioritization purposes, but the long term discussion of how to transition the FCW to report-in-deps I believe is still outstanding (so this issue should be kept open).

    @rustbot label: -P-critical

    Footnotes

    1. In the short term. ↩

  19. RalfJung commented on Jun 14, 2025

    @RalfJung
    Member

    the long term discussion of how to transition the FCW to report-in-deps I believe is still outstanding (so this issue should be kept open).

    Isn't #137018 the more natural place for that discussion?

  20. jieyouxu commented on Jun 14, 2025

    @jieyouxu
    Member

    Feel free to close this issue in favor of that if that issue is more suitable :) I was just looking at P-criticals

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-diagnosticsArea: Messages for errors, warnings, and lintsC-future-incompatibilityCategory: Future-incompatibility lintsO-windowsOperating system: WindowsT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-nightlyPerformance or correctness regression from stable to nightly.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions