Skip to content

Rust 1.79+ stdlib is unusable with MSVC when creating static libraries #129020

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
amyspark opened this issue Aug 12, 2024 · 17 comments · Fixed by #129257
Closed

Rust 1.79+ stdlib is unusable with MSVC when creating static libraries #129020

amyspark opened this issue Aug 12, 2024 · 17 comments · Fixed by #129257
Labels
A-linkage Area: linking into static, shared libraries and binaries C-bug Category: This is a bug. O-windows-msvc Toolchain: MSVC, Operating system: Windows regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@amyspark
Copy link
Contributor

amyspark commented Aug 12, 2024

Code

I tried to build librsvg using a simple meson setup build -Ddefault_library=both then meson compile -C build.

I expected to see this happen: linking success.

Instead, this happened: MSVC link returns LNK2005 and fails to /WHOLEARCHIVE the static library.

Version it worked on

It most recently worked on: 1.77.2

Version with regression

rustc --version --verbose:

rustc 1.79.0 (129f3b996 2024-06-10)
binary: rustc
commit-hash: 129f3b9964af4d4a709d1383930ade12dfe7c081
commit-date: 2024-06-10
host: x86_64-pc-windows-msvc
release: 1.79.0
LLVM version: 18.1.7

This is caused by both #121337 and #124019. When creating stdlibs, each MR causes the Rust compiler to add an export of __NULL_IMPORT_DESCRIPTOR; one comes from api-ms-win-core-synch-l1-2-0.dll and the other from bcryptprimitives.dll. This error will not be found until one consumes the Rust-generated library.

I am filing this report to consolidate the ones in rust-lang/cc-rs#1167 (comment) and mesonbuild/meson#13236 (comment).

Backtrace

Backtrace

[4/6] "link"  /MACHINE:x64 /OUT:rsvg/rsvg-2-2.dll rsvg/rsvg-2-2.dll.p/meson-generated_..__rsvg_dummy.c.obj "/LIBPATH:E:/cerbero-sources/dist/msvc_x86_64/lib" "/release" "/nologo" "/DEBUG" "/PDB:rsvg\rsvg-2-2.pdb" "/DLL" "/DEF:rsvg\librsvg-2.0.def" "/IMPLIB:rsvg\rsvg-2.lib" "/WHOLEARCHIVE:rsvg/rsvg_2.lib" "rsvg/rsvg_2.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/cairo.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/cairo-gobject.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/gobject-2.0.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/glib-2.0.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/intl.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/png16.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/z.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/dav1d.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/freetype.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/gdk_pixbuf-2.0.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/gio-2.0.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/harfbuzz.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/xml2.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/pangocairo-1.0.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/pango-1.0.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/pangoft2-1.0.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/fontconfig.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/gmodule-2.0.lib" "advapi32.lib" "ws2_32.lib" "userenv.lib" "kernel32.lib" "/defaultlib:msvcrt.lib" "ntdll.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "comdlg32.lib" "advapi32.lib"
FAILED: rsvg/rsvg-2-2.dll rsvg/rsvg-2-2.pdb
"link"  /MACHINE:x64 /OUT:rsvg/rsvg-2-2.dll rsvg/rsvg-2-2.dll.p/meson-generated_..__rsvg_dummy.c.obj "/LIBPATH:E:/cerbero-sources/dist/msvc_x86_64/lib" "/release" "/nologo" "/DEBUG" "/PDB:rsvg\rsvg-2-2.pdb" "/DLL" "/DEF:rsvg\librsvg-2.0.def" "/IMPLIB:rsvg\rsvg-2.lib" "/WHOLEARCHIVE:rsvg/rsvg_2.lib" "rsvg/rsvg_2.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/cairo.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/cairo-gobject.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/gobject-2.0.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/glib-2.0.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/intl.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/png16.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/z.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/dav1d.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/freetype.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/gdk_pixbuf-2.0.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/gio-2.0.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/harfbuzz.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/xml2.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/pangocairo-1.0.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/pango-1.0.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/pangoft2-1.0.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/fontconfig.lib" "E:/cerbero-sources/dist/msvc_x86_64/lib/gmodule-2.0.lib" "advapi32.lib" "ws2_32.lib" "userenv.lib" "kernel32.lib" "/defaultlib:msvcrt.lib" "ntdll.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "comdlg32.lib" "advapi32.lib"
rsvg_2.lib(api-ms-win-core-synch-l1-2-0.dll) : error LNK2005: __NULL_IMPORT_DESCRIPTOR already defined in rsvg_2.lib(bcryptprimitives.dll)

   Creating library rsvg\rsvg-2.lib and object rsvg\rsvg-2.exp

rsvg\rsvg-2-2.dll : fatal error LNK1169: one or more multiply defined symbols found

@rustbot modify labels: +regression-from-stable-to-stable -regression-untriaged

@amyspark amyspark added C-bug Category: This is a bug. regression-untriaged Untriaged performance or correctness regression. labels Aug 12, 2024
@rustbot rustbot added I-prioritize Issue: Indicates that prioritization has been requested for this issue. needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. regression-from-stable-to-stable Performance or correctness regression from one stable version to another. and removed regression-untriaged Untriaged performance or correctness regression. labels Aug 12, 2024
@jieyouxu jieyouxu added O-windows-msvc Toolchain: MSVC, Operating system: Windows T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Aug 12, 2024
@workingjubilee
Copy link
Member

cc @ChrisDenton

@ChrisDenton
Copy link
Member

Using /WHOLEARCHIVE for a rust staticlib seems weird to me but cc @dpaoliello

@amyspark
Copy link
Contributor Author

@ChrisDenton The purpose is to allow reexporting a subset of symbols on MSVC. This can be achieved with partial linking elsewhere, but this is not doable on Windows. I wrote about a specific application here: https://www.amyspark.me/blog/posts/2024/01/10/stripping-rust-libraries.html

@dpaoliello
Copy link
Contributor

Sorry, I'm confused, are you trying to create a dynamic or static library?

The article that you linked to talks about static libraries, but the backtrace in the OP shows that you are creating a dynamic library.

@amyspark
Copy link
Contributor Author

@dpaoliello Both: I'm using the Rust-produced static library through /WHOLEARCHIVE, plus a module definition file, to create a dynamic library.

This is because (apart from size considerations) GNOME's gobject-introspection needs a shared library, and Meson will only accept targets that are generated by itself.

Further context is here: https://github.com/GNOME/librsvg/blob/main/rsvg/meson.build#L176-L244

@amyspark
Copy link
Contributor Author

@dpaoliello In this particular case, because of the imports present in the stdlib, linking something against the Rust-produced static librsvg is enough to trigger the issue.

@jieyouxu jieyouxu added T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. A-linkage Area: linking into static, shared libraries and binaries and removed T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Aug 13, 2024
@ChrisDenton
Copy link
Member

ChrisDenton commented Aug 13, 2024

I am still struggling to understand why /WHOLEARCHIVE is needed, at least for MSVC.

So the DLL is created here:

librsvg_shared_lib = shared_library(
    rsvg_ver,
    rsvg_dummy,
    link_whole: librsvg_c_lib,
    link_args: link_args,
    link_depends: librsvg_ver,
    dependencies: library_dependencies,
    include_directories: [includeinc],
    vs_module_defs: librsvg_def,
    install: true,
    version: meson.project_version() # it's not exact as m4
  )

link_whole is used so that the DLL includes every single object in the staticlib, even if it's unneeded or indeed causes conflicts. But then vs_module_defs is used to add a .def which presumably defines what actually gets exported from the DLL. What I'm not understanding is what would be different if, for MSVC, it just linked librsvg_c_lib normally without link_whole? I.e. using link_with instead.

@amyspark
Copy link
Contributor Author

amyspark commented Aug 13, 2024

@ChrisDenton On MSVC, static linking doesn't let you reexport dependencies' symbols automatically, they're subject to DCE. That's what /WHOLEARCHIVE fixes. However, PE-COFF static libraries don't support symbol visibility, so the /DEF is there to make all Rust symbols private and keep only the librsvg ones. See e.g. #126633 and #111594 (comment) for consequences of not blocking out symbols like rust_eh_personality.

@ChrisDenton
Copy link
Member

Sure but the /def should work regardless of if /wholearchive is used or not because using the export will force the linker to go looking for the symbol(s) listed in the .def file.

E.g. as a test I have the following static lib (using no_mangle to make symbols easier to find):

// static.rs
#![crate_type = "staticlib"]

#[no_mangle]
pub extern "C" fn hello() {
    println!("Hello world!");
}

#[no_mangle]
pub extern "C" fn number() -> u32 {
    42
}

Which I compile into a static lib using:

rustc static.rs -O --crate-type=staticlib

And I have the following .def file:

// dll.def
LIBRARY dll
EXPORTS
        hello
        number

Which for simplicity I compile via rustc but I'm using an empty dll.rs file and also raw linker arguments:

rustc dll.rs -O --crate-type=cdylib -C link-args="./static.lib /def:dll.def"

This compiles and if dumpbin /exports dll.dll I see the two functions I wanted:

    ordinal hint RVA      name

          1    0 00015F00 hello = hello
          2    1 00015F40 number = number

No std symbols are exported.

@bjorn3
Copy link
Member

bjorn3 commented Aug 13, 2024

Independent of whether whole-archive is necessary for this specific use case, we should support linking rust staticlibs with whole-archive, even if because of the fact that not linking with whole-archive can mask linker errors, which will later show up when any change to the cgu partitioning is made, which often causes people to report a regression even though their crate is at fault.

@ChrisDenton
Copy link
Member

ChrisDenton commented Aug 13, 2024

If I repeat the above using /WHOLEARCHIVE even in this simple case I get a bunch of errors, not just __NULL_IMPORT_DESCRIPTOR:

= note: static.lib(static.3af68w0z3h1h5wohn67bam2t5.rcgu.o) : error LNK2005: __rust_alloc already defined in dll.5sbrdvh9pgq2lh7uwwimwezk0.rcgu.o
          static.lib(static.3af68w0z3h1h5wohn67bam2t5.rcgu.o) : error LNK2005: __rust_dealloc already defined in dll.5sbrdvh9pgq2lh7uwwimwezk0.rcgu.o
          static.lib(static.3af68w0z3h1h5wohn67bam2t5.rcgu.o) : error LNK2005: __rust_realloc already defined in dll.5sbrdvh9pgq2lh7uwwimwezk0.rcgu.o
          static.lib(static.3af68w0z3h1h5wohn67bam2t5.rcgu.o) : error LNK2005: __rust_alloc_zeroed already defined in dll.5sbrdvh9pgq2lh7uwwimwezk0.rcgu.o
          static.lib(static.3af68w0z3h1h5wohn67bam2t5.rcgu.o) : error LNK2005: __rust_alloc_error_handler already defined in dll.5sbrdvh9pgq2lh7uwwimwezk0.rcgu.o
          static.lib(static.3af68w0z3h1h5wohn67bam2t5.rcgu.o) : error LNK2005: __rust_alloc_error_handler_should_panic already defined in dll.5sbrdvh9pgq2lh7uwwimwezk0.rcgu.o
          static.lib(static.3af68w0z3h1h5wohn67bam2t5.rcgu.o) : error LNK2005: __rust_no_alloc_shim_is_unstable already defined in dll.5sbrdvh9pgq2lh7uwwimwezk0.rcgu.o
          static.lib(api-ms-win-core-synch-l1-2-0.dll) : error LNK2005: __NULL_IMPORT_DESCRIPTOR already defined in static.lib(bcryptprimitives.dll)

I'm not really sure if rustc can currently guarantee that whole archive will work without doing some of the work of a linker. Which sounds like a new feature and not specific to MSVC.

@bjorn3
Copy link
Member

bjorn3 commented Aug 13, 2024

All duplicate symbol errors for __rust_* are caused by #104707. That it works without /WHOLEARCHIVE is by accident and likely to break in case of cgu partitioning changes.

@ChrisDenton
Copy link
Member

ChrisDenton commented Aug 13, 2024

Sure, and then if I compile the static library with -C codegen-units=1 -C opt-level=3 -C lto=thin and use whole archive then I get a whole slew of errors, which I'll spoiler for length

linker errors
  = note: static.lib(static.3af68w0z3h1h5wohn67bam2t5.rcgu.o) : error LNK2005: __rust_alloc already defined in dll.5sbrdvh9pgq2lh7uwwimwezk0.rcgu.o
          static.lib(static.3af68w0z3h1h5wohn67bam2t5.rcgu.o) : error LNK2005: __rust_dealloc already defined in dll.5sbrdvh9pgq2lh7uwwimwezk0.rcgu.o
          static.lib(static.3af68w0z3h1h5wohn67bam2t5.rcgu.o) : error LNK2005: __rust_realloc already defined in dll.5sbrdvh9pgq2lh7uwwimwezk0.rcgu.o
          static.lib(static.3af68w0z3h1h5wohn67bam2t5.rcgu.o) : error LNK2005: __rust_alloc_error_handler already defined in dll.5sbrdvh9pgq2lh7uwwimwezk0.rcgu.o
          static.lib(static.3af68w0z3h1h5wohn67bam2t5.rcgu.o) : error LNK2005: __rust_no_alloc_shim_is_unstable already defined in dll.5sbrdvh9pgq2lh7uwwimwezk0.rcgu.o
          static.lib(static.3af68w0z3h1h5wohn67bam2t5.rcgu.o) : error LNK2005: __rust_alloc_error_handler_should_panic already defined in dll.5sbrdvh9pgq2lh7uwwimwezk0.rcgu.o
          static.lib(api-ms-win-core-synch-l1-2-0.dll) : error LNK2005: __NULL_IMPORT_DESCRIPTOR already defined in static.lib(bcryptprimitives.dll)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN3std3env11current_dir17hb882b8fbcc4e7ddcE already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN3std3env7_var_os17hd1d0b3d5249228f7E already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN60_$LT$std..io..error..Error$u20$as$u20$core..fmt..Display$GT$3fmt17hf1bc7f46baf3a0ceE already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN61_$LT$$RF$std..io..stdio..Stdout$u20$as$u20$std..io..Write$GT$9write_fmt17hcff2479570144451E already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN61_$LT$std..io..stdio..StdoutLock$u20$as$u20$std..io..Write$GT$9write_all17h2ab7bb77901a509dE already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN3std2io5stdio6_print17hfb1cb878ecb43904E already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN81_$LT$std..ffi..os_str..OsString$u20$as$u20$std..os..windows..ffi..OsStringExt$GT$9from_wide17hac20e654203e156fE already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN3std5panic19get_backtrace_style17hff4a5327e0771eb1E already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN3std4path10Components7as_path17h9031c0075c7d4cefE already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN80_$LT$std..path..Components$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hb99077dfec9e4f8eE already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN3std4path4Path11is_absolute17hd885e59088861b15E already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN3std4path4Path13_strip_prefix17hb48b88784cdf831cE already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN91_$LT$std..sys_common..backtrace.._print..DisplayBacktrace$u20$as$u20$core..fmt..Display$GT$3fmt17h672d2e30beb457abE already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN3std10sys_common4wtf87Wtf8Buf25push_code_point_unchecked17h4ffe851d4e30852dE already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN66_$LT$std..sys_common..wtf8..Wtf8$u20$as$u20$core..fmt..Display$GT$3fmt17hd2b8f84ca8cbb97bE already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: __rdl_alloc already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: __rdl_dealloc already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: __rdl_realloc already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: __rust_drop_panic already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN3std9panicking12default_hook17hda6005552b80eb02E already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN3std9panicking11panic_count17is_zero_slow_path17h3e5a8a26e75b6c3bE already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: rust_begin_unwind already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN102_$LT$std..panicking..begin_panic_handler..FormatStringPayload$u20$as$u20$core..panic..PanicPayload$GT$8take_box17h971cd55dd516abceE already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN102_$LT$std..panicking..begin_panic_handler..FormatStringPayload$u20$as$u20$core..panic..PanicPayload$GT$3get17hf5ddc7e905804f70E already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN99_$LT$std..panicking..begin_panic_handler..StaticStrPayload$u20$as$u20$core..panic..PanicPayload$GT$8take_box17hf95f53737f017a13E already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN3std9panicking20rust_panic_with_hook17h20725ba0eab22267E already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: rust_panic already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN79_$LT$std..backtrace_rs..symbolize..SymbolName$u20$as$u20$core..fmt..Display$GT$3fmt17h4c251f238eb290b0E already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN3std3sys3pal7windows5alloc18process_heap_alloc17h6a7f4a845728a1d0E already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN72_$LT$std..sys..pal..windows..stdio..Stderr$u20$as$u20$std..io..Write$GT$5write17h468036444caa7a43E already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN3std3sys3pal7windows16thread_local_key21register_keyless_dtor17hbe76087716750257E already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: rust_eh_personality already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN3std3sys4path7windows12parse_prefix17h4f3bd41b5a4f7065E already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN3std3sys4sync5mutex5futex5Mutex14lock_contended17h8c9dc019590b3cfeE already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN3std3sys4sync4once5queue4Once4call17h028ada4c67e00e11E already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN82_$LT$std..sys..sync..once..queue..WaiterQueue$u20$as$u20$core..ops..drop..Drop$GT$4drop17h3d7abbf31b11cd9fE already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN3std3sys4sync6rwlock5futex6RwLock14read_contended17hecf2920d6641da89E already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN3std3sys4sync6rwlock5futex6RwLock22wake_writer_or_readers17hb3c78d73deb6e620E already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN3std5alloc8rust_oom17hf9b508903b9a1075E already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: __rg_oom already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN3std12backtrace_rs9symbolize7dbghelp7resolve17h49998ae9c03f773bE already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN3std9panicking4HOOK17h364ac41ea808fdd5E already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN3std9panicking11panic_count18GLOBAL_PANIC_COUNT17h7807a23afebe65bbE already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libstd-d12b180ae2af61db.rlib(std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o) : error LNK2005: _ZN3std3sys3pal7windows5alloc4HEAP17h8b665d05d0d184ecE already defined in static.lib(static.std-d12b180ae2af61db.std.4f3d19e5cfafb1ab-cgu.0.rcgu.o.rcgu.o)
          libpanic_unwind-1381ab952b622680.rlib(panic_unwind-1381ab952b622680.panic_unwind.72baeae31b56309f-cgu.0.rcgu.o) : error LNK2005: __rust_start_panic already defined in static.lib(static.panic_unwind-1381ab952b622680.panic_unwind.72baeae31b56309f-cgu.0.rcgu.o.rcgu.o)
          librustc_demangle-1794455ce6ed0225.rlib(rustc_demangle-1794455ce6ed0225.rustc_demangle.efb2452aaf45d8fe-cgu.0.rcgu.o) : error LNK2005: _ZN71_$LT$rustc_demangle..legacy..Demangle$u20$as$u20$core..fmt..Display$GT$3fmt17h022686e3d55ddc9aE already defined in static.lib(static.rustc_demangle-1794455ce6ed0225.rustc_demangle.efb2452aaf45d8fe-cgu.0.rcgu.o.rcgu.o)
          librustc_demangle-1794455ce6ed0225.rlib(rustc_demangle-1794455ce6ed0225.rustc_demangle.efb2452aaf45d8fe-cgu.0.rcgu.o) : error LNK2005: _ZN64_$LT$rustc_demangle..v0..Ident$u20$as$u20$core..fmt..Display$GT$3fmt17h84172cfc5acec74cE already defined in static.lib(static.rustc_demangle-1794455ce6ed0225.rustc_demangle.efb2452aaf45d8fe-cgu.0.rcgu.o.rcgu.o)
          librustc_demangle-1794455ce6ed0225.rlib(rustc_demangle-1794455ce6ed0225.rustc_demangle.efb2452aaf45d8fe-cgu.0.rcgu.o) : error LNK2005: _ZN14rustc_demangle8demangle17hd0fefd57576dfc17E already defined in static.lib(static.rustc_demangle-1794455ce6ed0225.rustc_demangle.efb2452aaf45d8fe-cgu.0.rcgu.o.rcgu.o)
          librustc_demangle-1794455ce6ed0225.rlib(rustc_demangle-1794455ce6ed0225.rustc_demangle.efb2452aaf45d8fe-cgu.0.rcgu.o) : error LNK2005: _ZN14rustc_demangle12try_demangle17h293b6bd01fd2f8c0E already defined in static.lib(static.rustc_demangle-1794455ce6ed0225.rustc_demangle.efb2452aaf45d8fe-cgu.0.rcgu.o.rcgu.o)
          librustc_demangle-1794455ce6ed0225.rlib(rustc_demangle-1794455ce6ed0225.rustc_demangle.efb2452aaf45d8fe-cgu.0.rcgu.o) : error LNK2005: _ZN63_$LT$rustc_demangle..Demangle$u20$as$u20$core..fmt..Display$GT$3fmt17h9967b98f638b837fE already defined in static.lib(static.rustc_demangle-1794455ce6ed0225.rustc_demangle.efb2452aaf45d8fe-cgu.0.rcgu.o.rcgu.o)
          liballoc-47499d42920da425.rlib(alloc-47499d42920da425.alloc.3d8bda2084a76de4-cgu.0.rcgu.o) : error LNK2005: _ZN5alloc7raw_vec12handle_error17h6d6a669fe9ec9e86E already defined in static.lib(static.alloc-47499d42920da425.alloc.3d8bda2084a76de4-cgu.0.rcgu.o.rcgu.o)
          liballoc-47499d42920da425.rlib(alloc-47499d42920da425.alloc.3d8bda2084a76de4-cgu.0.rcgu.o) : error LNK2005: _ZN5alloc5alloc18handle_alloc_error17ha480bc829c06c161E already defined in static.lib(static.alloc-47499d42920da425.alloc.3d8bda2084a76de4-cgu.0.rcgu.o.rcgu.o)
          liballoc-47499d42920da425.rlib(alloc-47499d42920da425.alloc.3d8bda2084a76de4-cgu.0.rcgu.o) : error LNK2005: _ZN5alloc3fmt6format12format_inner17hd18f316631a5b9e9E already defined in static.lib(static.alloc-47499d42920da425.alloc.3d8bda2084a76de4-cgu.0.rcgu.o.rcgu.o)
          liballoc-47499d42920da425.rlib(alloc-47499d42920da425.alloc.3d8bda2084a76de4-cgu.0.rcgu.o) : error LNK2005: _ZN5alloc6string6String10from_utf1617hc8a5d0e40aa2cf31E already defined in static.lib(static.alloc-47499d42920da425.alloc.3d8bda2084a76de4-cgu.0.rcgu.o.rcgu.o)
          liballoc-47499d42920da425.rlib(alloc-47499d42920da425.alloc.3d8bda2084a76de4-cgu.0.rcgu.o) : error LNK2005: _ZN5alloc4sync32arcinner_layout_for_value_layout17h1713bb3a5c22b58eE already defined in static.lib(static.alloc-47499d42920da425.alloc.3d8bda2084a76de4-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3num23from_str_radix_panic_rt17h09fb81cdd7ecfcedE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3num20from_str_radix_panic17hfded7590635429f8E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN63_$LT$core..cell..BorrowMutError$u20$as$u20$core..fmt..Debug$GT$3fmt17ha8fe9667685726adE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core4cell22panic_already_borrowed17h095d34830450ba60E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core6option13unwrap_failed17h9b84e09b113862d2E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core6option13expect_failed17haa025fff87318a32E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN70_$LT$core..panic..location..Location$u20$as$u20$core..fmt..Display$GT$3fmt17h1c2d9d42bf9bf7b6E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN73_$LT$core..panic..panic_info..PanicInfo$u20$as$u20$core..fmt..Display$GT$3fmt17h44aee2cc46df87cbE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core9panicking9panic_fmt17hffb095124efd0a90E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core9panicking18panic_nounwind_fmt17h3f471fb8cdd2dbb1E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core9panicking5panic17h8518909e0ec9875bE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core9panicking14panic_nounwind17h517c4792a4a42160E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core9panicking18panic_bounds_check17h7c188e473e257eabE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core9panicking19panic_cannot_unwind17h0e2a6821f8410fbfE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core9panicking19assert_failed_inner17h3777c311397a03cdE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core6result13unwrap_failed17h77060c222a1dc3baE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN68_$LT$core..fmt..builders..PadAdapter$u20$as$u20$core..fmt..Write$GT$9write_str17hdda335cf531ebef1E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN68_$LT$core..fmt..builders..PadAdapter$u20$as$u20$core..fmt..Write$GT$10write_char17hc8fd98a001a71ee4E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt8builders11DebugStruct5field17h17b6f00df7d4ab9aE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt8builders10DebugTuple5field17ha70d403e57ea722aE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt8builders8DebugSet5entry17h952eb53f0e1633f1E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt8builders9DebugList6finish17h360ef797aa451479E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN59_$LT$core..fmt..Arguments$u20$as$u20$core..fmt..Display$GT$3fmt17h43e4326a921c1e1aE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt5write17h0bc6f6ba474e2f31E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt9Formatter12pad_integral17h5e3faa89a672b3c4E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt9Formatter3pad17hd4149da2cc6505feE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt9Formatter9write_str17h286ab1437a1dd885E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt9Formatter26debug_struct_field1_finish17hd507fb698003f94dE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt9Formatter26debug_struct_field2_finish17he04cbee8bd7222edE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt9Formatter25debug_tuple_field1_finish17h7b3ff7acfff28c35E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt9Formatter10debug_list17h176370d2b3f344f8E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN57_$LT$core..fmt..Formatter$u20$as$u20$core..fmt..Write$GT$10write_char17hd4cee20764e98a7cE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN40_$LT$str$u20$as$u20$core..fmt..Debug$GT$3fmt17h29bf846f9d1e146cE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN42_$LT$str$u20$as$u20$core..fmt..Display$GT$3fmt17h299824f42871ccbaE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN41_$LT$char$u20$as$u20$core..fmt..Debug$GT$3fmt17h0b790e2621f2f61fE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN43_$LT$char$u20$as$u20$core..fmt..Display$GT$3fmt17h56a0e93db33c1e97E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt17pointer_fmt_inner17h7b9b4c511ec04cf3E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core5slice6memchr14memchr_aligned17h4b0ef1e14b948a9aE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core5slice6memchr7memrchr17h34f1d8f4675f037aE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core5slice5index26slice_start_index_len_fail17h9b90e2443e97643bE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core5slice5index24slice_end_index_len_fail17hdb3a58d47a790d76E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core5slice5index22slice_index_order_fail17hcaa8603f264e51c3E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3str8converts9from_utf817h3eb536f177e351b4E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3str5count14do_count_chars17h63ea4c4cadd82e5cE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3str5count23char_count_general_case17h40894f2e285503a5E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3str6traits23str_index_overflow_fail17h8350feae41adad96E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3str7pattern11StrSearcher3new17h86b0d6217113b394E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3str16slice_error_fail17heb690b605274ed1dE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3str19slice_error_fail_rt17h2cd2c5eb43d2117dE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core7unicode9printable12is_printable17hd54602b16d108e9cE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3num62_$LT$impl$u20$core..str..traits..FromStr$u20$for$u20$usize$GT$8from_str17h7d1878a371799654E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3num21_$LT$impl$u20$u32$GT$14from_str_radix17hf8f7afca1d9c264dE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt3num52_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i8$GT$3fmt17h623ea3272e09c44aE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt3num52_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i8$GT$3fmt17hb7b94aa57d8140faE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i64$GT$3fmt17h375be9d5e4cbc087E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i64$GT$3fmt17h6017c9d85427276dE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt3num3imp51_$LT$impl$u20$core..fmt..Display$u20$for$u20$u8$GT$3fmt17h94880423e6d513cfE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$i32$GT$3fmt17hcff5348487353385E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17hf777d8b0b7b4c65cE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u64$GT$3fmt17h6aa13d959fbff40aE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core7unicode12unicode_data2cc6lookup17h120be95c5875e940E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core7unicode12unicode_data15grapheme_extend11lookup_slow17h04b69c874df7522bE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core7unicode12unicode_data11white_space14WHITESPACE_MAP17h5b8e2232bb3cf6abE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt3num52_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$u8$GT$3fmt17h8c2f3b9c339361ebE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt3num52_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$u8$GT$3fmt17h44b8ae336a325682E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt3num3imp54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17h8cfc498d4c90441dE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN57_$LT$core..fmt..Formatter$u20$as$u20$core..fmt..Write$GT$9write_str17h6ea2a03b5db0526cE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt8builders9DebugList5entry17hf425ab3a54bcffecE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt3num55_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$usize$GT$3fmt17hbb0e5a209643614aE already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt3num55_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$usize$GT$3fmt17hd05a3389a48e0983E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)
          libcore-66f9258885a5c25f.rlib(core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o) : error LNK2005: _ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$u64$GT$3fmt17hb51b09c13e4f6086E already defined in static.lib(static.core-66f9258885a5c25f.core.788d601b121ab5d5-cgu.0.rcgu.o.rcgu.o)

@mati865
Copy link
Member

mati865 commented Aug 13, 2024

There are also some technical details in msys2/MINGW-packages#21017 that kleisauke linked.

windows-gnu is unaffected because it uses legacy import libraries format.

@ChrisDenton
Copy link
Member

To get back to address /WHOLEARCHIVE case we could either:

  • Filter symbols when building a staticlib
  • Try using COMDAT in generated raw-dylibs (might not work in this situation)

@bjorn3
Copy link
Member

bjorn3 commented Aug 13, 2024

Filter symbols when building a staticlib

Filter in what way?

@ChrisDenton
Copy link
Member

When linking raw dylibs into a staticlib we could exclude the objects containing __NULL_IMPORT_DESCRIPTOR. Except for one.

tgross35 added a commit to tgross35/rust that referenced this issue Aug 17, 2024
Use `ar_archive_writer` for writing COFF import libs on all backends

This is mostly the same as the llvm backend but with the cranelift version copy/pasted in place of the LLVM library.

Also updates ar_archive_writer to 0.4.0 which fixes rust-lang#129020
bors added a commit to rust-lang-ci/rust that referenced this issue Aug 17, 2024
Use `ar_archive_writer` for writing COFF import libs on all backends

This is mostly the same as the llvm backend but with the cranelift version copy/pasted in place of the LLVM library.

Also updates ar_archive_writer to 0.4.0 which fixes rust-lang#129020

try-job: x86_64-msvc
@saethlin saethlin removed the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Aug 20, 2024
jieyouxu added a commit to jieyouxu/rust that referenced this issue Aug 20, 2024
…, r=jieyouxu

Allow rust staticlib to work with MSVC's /WHOLEARCHIVE

This fixes rust-lang#129020 by renaming the `__NULL_IMPORT_DESCRIPTOR` to prevent conflicts.
bors added a commit to rust-lang-ci/rust that referenced this issue Aug 20, 2024
…r=<try>

Allow rust staticlib to work with MSVC's /WHOLEARCHIVE

This fixes rust-lang#129020 by renaming the `__NULL_IMPORT_DESCRIPTOR` to prevent conflicts.

try-job: dist-i686-msvc
bors added a commit to rust-lang-ci/rust that referenced this issue Aug 20, 2024
…r=<try>

Allow rust staticlib to work with MSVC's /WHOLEARCHIVE

This fixes rust-lang#129020 by renaming the `__NULL_IMPORT_DESCRIPTOR` to prevent conflicts.

try-job: dist-i686-msvc
tgross35 added a commit to tgross35/rust that referenced this issue Aug 21, 2024
…, r=jieyouxu

Allow rust staticlib to work with MSVC's /WHOLEARCHIVE

This fixes rust-lang#129020 by renaming the `__NULL_IMPORT_DESCRIPTOR` to prevent conflicts.

try-job: dist-i686-msvc
tgross35 added a commit to tgross35/rust that referenced this issue Aug 21, 2024
…, r=jieyouxu

Allow rust staticlib to work with MSVC's /WHOLEARCHIVE

This fixes rust-lang#129020 by renaming the `__NULL_IMPORT_DESCRIPTOR` to prevent conflicts.

try-job: dist-i686-msvc
tgross35 added a commit to tgross35/rust that referenced this issue Aug 21, 2024
…, r=jieyouxu

Allow rust staticlib to work with MSVC's /WHOLEARCHIVE

This fixes rust-lang#129020 by renaming the `__NULL_IMPORT_DESCRIPTOR` to prevent conflicts.

try-job: dist-i686-msvc
bors added a commit to rust-lang-ci/rust that referenced this issue Aug 21, 2024
…r=jieyouxu

Allow rust staticlib to work with MSVC's /WHOLEARCHIVE

This fixes rust-lang#129020 by renaming the `__NULL_IMPORT_DESCRIPTOR` to prevent conflicts.

try-job: dist-i686-msvc
bors added a commit to rust-lang-ci/rust that referenced this issue Aug 22, 2024
…r=jieyouxu

Allow rust staticlib to work with MSVC's /WHOLEARCHIVE

This fixes rust-lang#129020 by renaming the `__NULL_IMPORT_DESCRIPTOR` to prevent conflicts.

try-job: dist-i686-msvc
jieyouxu added a commit to jieyouxu/rust that referenced this issue Aug 22, 2024
…, r=jieyouxu

Allow rust staticlib to work with MSVC's /WHOLEARCHIVE

This fixes rust-lang#129020 by renaming the `__NULL_IMPORT_DESCRIPTOR` to prevent conflicts.

try-job: dist-i686-msvc
tgross35 added a commit to tgross35/rust that referenced this issue Aug 22, 2024
…, r=jieyouxu

Allow rust staticlib to work with MSVC's /WHOLEARCHIVE

This fixes rust-lang#129020 by renaming the `__NULL_IMPORT_DESCRIPTOR` to prevent conflicts.

try-job: dist-i686-msvc
@bors bors closed this as completed in 5ad98b4 Aug 22, 2024
TobiasFella added a commit to quotient-im/libQuotient that referenced this issue Sep 1, 2024
TobiasFella added a commit to quotient-im/libQuotient that referenced this issue Sep 2, 2024
@apiraino apiraino removed the I-prioritize Issue: Indicates that prioritization has been requested for this issue. label Oct 9, 2024
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
A-linkage Area: linking into static, shared libraries and binaries C-bug Category: This is a bug. O-windows-msvc Toolchain: MSVC, Operating system: Windows regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

10 participants