libR-sys icon indicating copy to clipboard operation
libR-sys copied to clipboard

Custom rustc target for Windows especially

Open CGMossa opened this issue 2 years ago • 2 comments

I've been on a journey to remove libgcc_eh and libgcc_s.a, and this is what I found out.

C:\Users\tpb398\Documents\GitHub\libR-sys>rustc +nightly -Z unstable-options --target=x86_64-pc-windows-gnu --print target-spec-json > x86_64-pc-windows-gnu_target_file.json

Resulting in:

Details

{
  "abi-return-struct-as-int": true,
  "allows-weak-linkage": false,
  "arch": "x86_64",
  "cpu": "x86-64",
  "crt-objects-fallback": "mingw",
  "data-layout": "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128",
  "debuginfo-kind": "pdb",
  "dll-prefix": "",
  "dll-suffix": ".dll",
  "dll-tls-export": false,
  "dynamic-linking": true,
  "eh-frame-header": false,
  "emit-debug-gdb-scripts": false,
  "env": "gnu",
  "exe-suffix": ".exe",
  "function-sections": false,
  "is-builtin": true,
  "is-like-windows": true,
  "late-link-args": {
    "gnu": [
      "-lmsvcrt",
      "-lmingwex",
      "-lmingw32",
      "-lgcc",
      "-lmsvcrt",
      "-luser32",
      "-lkernel32"
    ],
    "gnu-cc": [
      "-lmsvcrt",
      "-lmingwex",
      "-lmingw32",
      "-lgcc",
      "-lmsvcrt",
      "-luser32",
      "-lkernel32"
    ],
    "gnu-lld": [
      "-lmsvcrt",
      "-lmingwex",
      "-lmingw32",
      "-lgcc",
      "-lmsvcrt",
      "-luser32",
      "-lkernel32"
    ],
    "gnu-lld-cc": [
      "-lmsvcrt",
      "-lmingwex",
      "-lmingw32",
      "-lgcc",
      "-lmsvcrt",
      "-luser32",
      "-lkernel32"
    ]
  },
  "late-link-args-dynamic": {
    "gnu": [
      "-lgcc_s"
    ],
    "gnu-cc": [
      "-lgcc_s"
    ],
    "gnu-lld": [
      "-lgcc_s"
    ],
    "gnu-lld-cc": [
      "-lgcc_s"
    ]
  },
  "late-link-args-static": {
    "gnu": [
      "-lgcc_eh",
      "-l:libpthread.a"
    ],
    "gnu-cc": [
      "-lgcc_eh",
      "-l:libpthread.a"
    ],
    "gnu-lld": [
      "-lgcc_eh",
      "-l:libpthread.a"
    ],
    "gnu-lld-cc": [
      "-lgcc_eh",
      "-l:libpthread.a"
    ]
  },
  "linker": "x86_64-w64-mingw32-gcc",
  "linker-flavor": "gnu-cc",
  "llvm-target": "x86_64-pc-windows-gnu",
  "max-atomic-width": 64,
  "os": "windows",
  "plt-by-default": false,
  "post-link-objects": {
    "dynamic-dylib": [
      "rsend.o"
    ],
    "dynamic-nopic-exe": [
      "rsend.o"
    ],
    "dynamic-pic-exe": [
      "rsend.o"
    ],
    "static-dylib": [
      "rsend.o"
    ],
    "static-nopic-exe": [
      "rsend.o"
    ],
    "static-pic-exe": [
      "rsend.o"
    ]
  },
  "post-link-objects-fallback": {
    "dynamic-dylib": [
      "rsend.o"
    ],
    "dynamic-nopic-exe": [
      "rsend.o"
    ],
    "dynamic-pic-exe": [
      "rsend.o"
    ],
    "static-dylib": [
      "rsend.o"
    ],
    "static-nopic-exe": [
      "rsend.o"
    ],
    "static-pic-exe": [
      "rsend.o"
    ]
  },
  "pre-link-args": {
    "gnu": [
      "--dynamicbase",
      "--disable-auto-image-base",
      "-m",
      "i386pep",
      "--high-entropy-va"
    ],
    "gnu-cc": [
      "-fno-use-linker-plugin",
      "-Wl,--dynamicbase",
      "-Wl,--disable-auto-image-base",
      "-m64",
      "-Wl,--high-entropy-va"
    ],
    "gnu-lld": [
      "--dynamicbase",
      "--disable-auto-image-base",
      "-m",
      "i386pep",
      "--high-entropy-va"
    ],
    "gnu-lld-cc": [
      "-fno-use-linker-plugin",
      "-Wl,--dynamicbase",
      "-Wl,--disable-auto-image-base",
      "-m64",
      "-Wl,--high-entropy-va"
    ]
  },
  "pre-link-objects": {
    "dynamic-dylib": [
      "rsbegin.o"
    ],
    "dynamic-nopic-exe": [
      "rsbegin.o"
    ],
    "dynamic-pic-exe": [
      "rsbegin.o"
    ],
    "static-dylib": [
      "rsbegin.o"
    ],
    "static-nopic-exe": [
      "rsbegin.o"
    ],
    "static-pic-exe": [
      "rsbegin.o"
    ]
  },
  "pre-link-objects-fallback": {
    "dynamic-dylib": [
      "dllcrt2.o",
      "rsbegin.o"
    ],
    "dynamic-nopic-exe": [
      "crt2.o",
      "rsbegin.o"
    ],
    "dynamic-pic-exe": [
      "crt2.o",
      "rsbegin.o"
    ],
    "static-dylib": [
      "dllcrt2.o",
      "rsbegin.o"
    ],
    "static-nopic-exe": [
      "crt2.o",
      "rsbegin.o"
    ],
    "static-pic-exe": [
      "crt2.o",
      "rsbegin.o"
    ]
  },
  "requires-uwtable": true,
  "target-family": [
    "windows"
  ],
  "target-pointer-width": "64",
  "vendor": "pc"
}

Information about what can be set in these files are: https://doc.rust-lang.org/beta/nightly-rustc/rustc_target/spec/struct.TargetOptions.html

Then I read about how one could make their own custom target json file and use that instead of relaying on these ones, see https://docs.rust-embedded.org/embedonomicon/custom-target.html

  • Set "is-builtin": false
  • Removed lines with -lgcc_s, and -lgcc_eh from everywhere.
  • Set "panic-strategy": "abort" as gcc_eh is the one responsible for normal panics.
  • Changed linker from x86_64-w64-mingw32-gcc, to x86_64-w64-mingw32.static.posix-gcc.exe
  • Changed linker-flavor to gcc.
  • Added to pre-link-args:

  "pre-link-args": {
    "gcc": [
        "-Wl,--as-needed",
        "-Wl,-z,noexecstack",
        "-m64"
    ],
  • Added
  "post-link-args": {
    "gcc": [
        "-Wl,--allow-multiple-definition",
        "-Wl,--start-group,-lc,-lm,-lgcc,-lstdc++,-lsupc++,--end-group"
    ]
  },

Maybe I should use R CMD config --ldflags:

I've tried this with libR-sys on main-branch:

cargo +nightly build -Z build-std -Z build-std-features --features use-bindgen --target custom_rtools_target.json -vv 

with .cargo/config.toml file that is:

[env]
LIBRSYS_BINDINGS_OUTPUT_PATH = "bindings"
LIBRSYS_LIBCLANG_INCLUDE_PATH = "C:/Users/tpb398/scoop/apps/rtools/current/x86_64-w64-mingw32.static.posix/include"
~\Documents\GitHub\libR-sys> rustc --print cfg --target .\custom_rtools_target.json                                                                                                                                                                                               debug_assertions      
overflow_checks       
panic="abort"
relocation_model="pic"
target_abi=""
target_arch="x86_64"  
target_endian="little"
target_env="gnu"
target_family="windows"
target_feature="fxsr"
target_feature="sse"
target_feature="sse2"
target_has_atomic
target_has_atomic="16"
target_has_atomic="32"
target_has_atomic="64"
target_has_atomic="8"
target_has_atomic="ptr"
target_has_atomic_equal_alignment="16"
target_has_atomic_equal_alignment="32"
target_has_atomic_equal_alignment="64"
target_has_atomic_equal_alignment="8"
target_has_atomic_equal_alignment="ptr"
target_has_atomic_load_store
target_has_atomic_load_store="16"
target_has_atomic_load_store="32"
target_has_atomic_load_store="64"
target_has_atomic_load_store="8"
target_has_atomic_load_store="ptr"
target_os="windows"
target_pointer_width="64"
target_vendor="pc"
windows

But I get these weird net missing issues or something. See below:

Details

       Fresh core v0.0.0 (C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core)
       Fresh glob v0.3.1
       Fresh rustc-std-workspace-core v1.99.0 (C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\rustc-std-workspace-core)
       Fresh compiler_builtins v0.1.101
warning: unused import: `self::acos::acos`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:197:9
    |
197 | pub use self::acos::acos;
    |         ^^^^^^^^^^^^^^^^
    |
    = note: `#[warn(unused_imports)]` on by default

warning: unused import: `self::acosf::acosf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:198:9
    |
198 | pub use self::acosf::acosf;
    |         ^^^^^^^^^^^^^^^^^^

warning: unused import: `self::acosh::acosh`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:199:9
    |
199 | pub use self::acosh::acosh;
    |         ^^^^^^^^^^^^^^^^^^

warning: unused import: `self::acoshf::acoshf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:200:9
    |
200 | pub use self::acoshf::acoshf;
    |         ^^^^^^^^^^^^^^^^^^^^

warning: unused import: `self::asin::asin`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:201:9
    |
201 | pub use self::asin::asin;
    |         ^^^^^^^^^^^^^^^^

warning: unused import: `self::asinf::asinf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:202:9
    |
202 | pub use self::asinf::asinf;
    |         ^^^^^^^^^^^^^^^^^^

warning: unused import: `self::asinh::asinh`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:203:9
    |
203 | pub use self::asinh::asinh;
    |         ^^^^^^^^^^^^^^^^^^

warning: unused import: `self::asinhf::asinhf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:204:9
    |
204 | pub use self::asinhf::asinhf;
    |         ^^^^^^^^^^^^^^^^^^^^

warning: unused import: `self::atan2::atan2`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:206:9
    |
206 | pub use self::atan2::atan2;
    |         ^^^^^^^^^^^^^^^^^^

warning: unused import: `self::atan2f::atan2f`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:207:9
    |
207 | pub use self::atan2f::atan2f;
    |         ^^^^^^^^^^^^^^^^^^^^

warning: unused import: `self::atanh::atanh`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:209:9
    |
209 | pub use self::atanh::atanh;
    |         ^^^^^^^^^^^^^^^^^^

warning: unused import: `self::atanhf::atanhf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:210:9
    |
210 | pub use self::atanhf::atanhf;
    |         ^^^^^^^^^^^^^^^^^^^^

warning: unused import: `self::cbrt::cbrt`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:211:9
    |
211 | pub use self::cbrt::cbrt;
    |         ^^^^^^^^^^^^^^^^

warning: unused import: `self::cbrtf::cbrtf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:212:9
    |
212 | pub use self::cbrtf::cbrtf;
    |         ^^^^^^^^^^^^^^^^^^

warning: unused import: `self::ceil::ceil`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:213:9
    |
213 | pub use self::ceil::ceil;
    |         ^^^^^^^^^^^^^^^^

warning: unused import: `self::ceilf::ceilf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:214:9
    |
214 | pub use self::ceilf::ceilf;
    |         ^^^^^^^^^^^^^^^^^^

warning: unused import: `self::cosh::cosh`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:219:9
    |
219 | pub use self::cosh::cosh;
    |         ^^^^^^^^^^^^^^^^

warning: unused import: `self::coshf::coshf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:220:9
    |
220 | pub use self::coshf::coshf;
    |         ^^^^^^^^^^^^^^^^^^

warning: unused import: `self::erf::erf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:221:9
    |
221 | pub use self::erf::erf;
    |         ^^^^^^^^^^^^^^

warning: unused import: `self::erf::erfc`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:222:9
    |
222 | pub use self::erf::erfc;
    |         ^^^^^^^^^^^^^^^

warning: unused import: `self::erff::erfcf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:223:9
    |
223 | pub use self::erff::erfcf;
    |         ^^^^^^^^^^^^^^^^^

warning: unused import: `self::erff::erff`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:224:9
    |
224 | pub use self::erff::erff;
    |         ^^^^^^^^^^^^^^^^

warning: unused import: `self::exp10::exp10`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:226:9
    |
226 | pub use self::exp10::exp10;
    |         ^^^^^^^^^^^^^^^^^^

warning: unused import: `self::exp10f::exp10f`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:227:9
    |
227 | pub use self::exp10f::exp10f;
    |         ^^^^^^^^^^^^^^^^^^^^

warning: unused import: `self::fdim::fdim`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:235:9
    |
235 | pub use self::fdim::fdim;
    |         ^^^^^^^^^^^^^^^^

warning: unused import: `self::fdimf::fdimf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:236:9
    |
236 | pub use self::fdimf::fdimf;
    |         ^^^^^^^^^^^^^^^^^^

warning: unused import: `self::fma::fma`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:239:9
    |
239 | pub use self::fma::fma;
    |         ^^^^^^^^^^^^^^

warning: unused import: `self::fmaf::fmaf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:240:9
    |
240 | pub use self::fmaf::fmaf;
    |         ^^^^^^^^^^^^^^^^

warning: unused import: `self::fmax::fmax`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:241:9
    |
241 | pub use self::fmax::fmax;
    |         ^^^^^^^^^^^^^^^^

warning: unused import: `self::fmaxf::fmaxf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:242:9
    |
242 | pub use self::fmaxf::fmaxf;
    |         ^^^^^^^^^^^^^^^^^^

warning: unused import: `self::fmin::fmin`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:243:9
    |
243 | pub use self::fmin::fmin;
    |         ^^^^^^^^^^^^^^^^

warning: unused import: `self::fminf::fminf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:244:9
    |
244 | pub use self::fminf::fminf;
    |         ^^^^^^^^^^^^^^^^^^

warning: unused import: `self::fmod::fmod`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:245:9
    |
245 | pub use self::fmod::fmod;
    |         ^^^^^^^^^^^^^^^^

warning: unused import: `self::fmodf::fmodf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:246:9
    |
246 | pub use self::fmodf::fmodf;
    |         ^^^^^^^^^^^^^^^^^^

warning: unused import: `self::frexp::frexp`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:247:9
    |
247 | pub use self::frexp::frexp;
    |         ^^^^^^^^^^^^^^^^^^

warning: unused import: `self::frexpf::frexpf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:248:9
    |
248 | pub use self::frexpf::frexpf;
    |         ^^^^^^^^^^^^^^^^^^^^

warning: unused import: `self::hypot::hypot`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:249:9
    |
249 | pub use self::hypot::hypot;
    |         ^^^^^^^^^^^^^^^^^^

warning: unused import: `self::hypotf::hypotf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:250:9
    |
250 | pub use self::hypotf::hypotf;
    |         ^^^^^^^^^^^^^^^^^^^^

warning: unused import: `self::ilogb::ilogb`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:251:9
    |
251 | pub use self::ilogb::ilogb;
    |         ^^^^^^^^^^^^^^^^^^

warning: unused import: `self::ilogbf::ilogbf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:252:9
    |
252 | pub use self::ilogbf::ilogbf;
    |         ^^^^^^^^^^^^^^^^^^^^

warning: unused import: `self::jn::jn`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:261:9
    |
261 | pub use self::jn::jn;
    |         ^^^^^^^^^^^^

warning: unused import: `self::jn::yn`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:262:9
    |
262 | pub use self::jn::yn;
    |         ^^^^^^^^^^^^

warning: unused import: `self::jnf::jnf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:263:9
    |
263 | pub use self::jnf::jnf;
    |         ^^^^^^^^^^^^^^

warning: unused import: `self::jnf::ynf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:264:9
    |
264 | pub use self::jnf::ynf;
    |         ^^^^^^^^^^^^^^

warning: unused import: `self::ldexp::ldexp`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:265:9
    |
265 | pub use self::ldexp::ldexp;
    |         ^^^^^^^^^^^^^^^^^^

warning: unused import: `self::ldexpf::ldexpf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:266:9
    |
266 | pub use self::ldexpf::ldexpf;
    |         ^^^^^^^^^^^^^^^^^^^^

warning: unused import: `self::lgamma::lgamma`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:267:9
    |
267 | pub use self::lgamma::lgamma;
    |         ^^^^^^^^^^^^^^^^^^^^

warning: unused import: `self::lgammaf::lgammaf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:269:9
    |
269 | pub use self::lgammaf::lgammaf;
    |         ^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `self::log10::log10`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:272:9
    |
272 | pub use self::log10::log10;
    |         ^^^^^^^^^^^^^^^^^^

warning: unused import: `self::log10f::log10f`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:273:9
    |
273 | pub use self::log10f::log10f;
    |         ^^^^^^^^^^^^^^^^^^^^

warning: unused import: `self::log2::log2`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:276:9
    |
276 | pub use self::log2::log2;
    |         ^^^^^^^^^^^^^^^^

warning: unused import: `self::log2f::log2f`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:277:9
    |
277 | pub use self::log2f::log2f;
    |         ^^^^^^^^^^^^^^^^^^

warning: unused import: `self::nextafter::nextafter`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:281:9
    |
281 | pub use self::nextafter::nextafter;
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `self::nextafterf::nextafterf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:282:9
    |
282 | pub use self::nextafterf::nextafterf;
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `self::powf::powf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:284:9
    |
284 | pub use self::powf::powf;
    |         ^^^^^^^^^^^^^^^^

warning: unused import: `self::remainder::remainder`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:285:9
    |
285 | pub use self::remainder::remainder;
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `self::remainderf::remainderf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:286:9
    |
286 | pub use self::remainderf::remainderf;
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `self::rint::rint`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:289:9
    |
289 | pub use self::rint::rint;
    |         ^^^^^^^^^^^^^^^^

warning: unused import: `self::rintf::rintf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:290:9
    |
290 | pub use self::rintf::rintf;
    |         ^^^^^^^^^^^^^^^^^^

warning: unused import: `self::round::round`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:291:9
    |
291 | pub use self::round::round;
    |         ^^^^^^^^^^^^^^^^^^

warning: unused import: `self::roundf::roundf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:292:9
    |
292 | pub use self::roundf::roundf;
    |         ^^^^^^^^^^^^^^^^^^^^

warning: unused import: `self::sincos::sincos`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:296:9
    |
296 | pub use self::sincos::sincos;
    |         ^^^^^^^^^^^^^^^^^^^^

warning: unused import: `self::sincosf::sincosf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:297:9
    |
297 | pub use self::sincosf::sincosf;
    |         ^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `self::sinh::sinh`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:299:9
    |
299 | pub use self::sinh::sinh;
    |         ^^^^^^^^^^^^^^^^

warning: unused import: `self::sinhf::sinhf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:300:9
    |
300 | pub use self::sinhf::sinhf;
    |         ^^^^^^^^^^^^^^^^^^

warning: unused import: `self::tan::tan`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:303:9
    |
303 | pub use self::tan::tan;
    |         ^^^^^^^^^^^^^^

warning: unused import: `self::tanf::tanf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:304:9
    |
304 | pub use self::tanf::tanf;
    |         ^^^^^^^^^^^^^^^^

warning: unused import: `self::tanh::tanh`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:305:9
    |
305 | pub use self::tanh::tanh;
    |         ^^^^^^^^^^^^^^^^

warning: unused import: `self::tanhf::tanhf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:306:9
    |
306 | pub use self::tanhf::tanhf;
    |         ^^^^^^^^^^^^^^^^^^

warning: unused import: `self::tgammaf::tgammaf`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\compiler_builtins-0.1.101\src\..\libm\src\math\mod.rs:308:9
    |
308 | pub use self::tgammaf::tgammaf;
    |         ^^^^^^^^^^^^^^^^^^^^^^

       Fresh windows_x86_64_msvc v0.48.5
       Fresh winapi v0.3.9
warning: `compiler_builtins` (lib) generated 70 warnings
       Fresh windows-targets v0.48.5
       Fresh alloc v0.0.0 (C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\alloc)
       Fresh cfg-if v1.0.0
       Fresh unicode-ident v1.0.12
       Fresh windows-sys v0.48.0
       Fresh cc v1.0.79
       Fresh proc-macro2 v1.0.69
       Fresh libc v0.2.149
       Fresh errno v0.3.5
       Fresh libloading v0.7.4
       Fresh minimal-lexical v0.2.1
       Fresh regex-syntax v0.8.2
       Fresh memchr v2.6.4
       Fresh bitflags v2.4.1
warning: unused import: `external::__private::*`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\bitflags-2.4.1\src\lib.rs:255:21
    |
255 |     pub use crate::{external::__private::*, traits::__private::*};
    |                     ^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: `#[warn(unused_imports)]` on by default

       Fresh regex-automata v0.4.3
       Fresh nom v7.1.3
warning: unused import: `self::str::*`
   --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\nom-7.1.3\src\lib.rs:439:9
    |
439 | pub use self::str::*;
    |         ^^^^^^^^^^^^
    |
    = note: `#[warn(unused_imports)]` on by default

       Fresh clang-sys v1.6.1
warning: `bitflags` (lib) generated 1 warning
warning: `nom` (lib) generated 1 warning
       Fresh rustix v0.38.21
       Fresh quote v1.0.33
       Fresh home v0.5.5
       Fresh rustc-std-workspace-alloc v1.99.0 (C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\rustc-std-workspace-alloc)
       Fresh either v1.9.0
       Fresh once_cell v1.18.0
       Fresh syn v1.0.109
       Fresh cexpr v0.6.0
       Fresh unwind v0.0.0 (C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\unwind)
       Fresh which v4.4.2
       Fresh regex v1.10.2
       Fresh rustc-hash v1.1.0
       Fresh peeking_take_while v0.1.2
       Fresh shlex v1.2.0
       Fresh lazycell v1.3.0
       Fresh lazy_static v1.4.0
       Fresh log v0.4.20
       Fresh bitflags v1.3.2
       Fresh hashbrown v0.14.2
warning: `extern crate` is not idiomatic in the new edition
  --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\hashbrown-0.14.2\src\lib.rs:46:1
   |
46 | extern crate alloc;
   | ^^^^^^^^^^^^^^^^^^^
   |
note: the lint level is defined here
  --> C:\Users\tpb398\.cargo\registry\src\index.crates.io-6f17d22bba15001f\hashbrown-0.14.2\src\lib.rs:38:9
   |
38 | #![warn(rust_2018_idioms)]
   |         ^^^^^^^^^^^^^^^^
   = note: `#[warn(unused_extern_crates)]` implied by `#[warn(rust_2018_idioms)]`
help: convert it to a `use`
   |
46 | use alloc;
   | ~~~

       Fresh std_detect v0.1.5 (C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\stdarch\crates\std_detect)
warning: `hashbrown` (lib) generated 1 warning
       Fresh bindgen v0.64.0
       Fresh clang v2.0.0
       Fresh panic_abort v0.0.0 (C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\panic_abort)
       Fresh rustc-demangle v0.1.23
       Fresh panic_unwind v0.0.0 (C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\panic_unwind)
   Compiling std v0.0.0 (C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std)
     Running `set CARGO=\\?\C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\bin\cargo.exe&& set CARGO_CRATE_NAME=std&& set CARGO_MANIFEST_DIR=C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std&& set CARGO_PKG_AUTHORS=""&& set CARGO_PKG_DESCRIPTION="The Rust Standard Library"&& set CARGO_PKG_HOMEPAGE=""&& set CARGO_PKG_LICENSE="MIT OR Apache-2.0"&& set CARGO_PKG_LICENSE_FILE=""&& set CARGO_PKG_NAME=std&& set CARGO_PKG_README=""&& set CARGO_PKG_REPOSITORY=https://github.com/rust-lang/rust.git&& set CARGO_PKG_RUST_VERSION=""&& set CARGO_PKG_VERSION=0.0.0&& set CARGO_PKG_VERSION_MAJOR=0&& set CARGO_PKG_VERSION_MINOR=0&& set CARGO_PKG_VERSION_PATCH=0&& set CARGO_PKG_VERSION_PRE=""&& set LIBRSYS_BINDINGS_OUTPUT_PATH=bindings&& set LIBRSYS_LIBCLANG_INCLUDE_PATH=C:/Users/tpb398/scoop/apps/rtools/current/x86_64-w64-mingw32.static.posix/include&& set OUT_DIR=C:/cargo_target_dir\custom_rtools_target\debug\build\std-2c021b97771a10eb\out&& set PATH="C:/cargo_target_dir\debug\deps;C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\bin;C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\bin;C:\Users\tpb398\scoop\apps\R\current/bin/x64;C:/rtools42/x86_64-w64-mingw32.static.posix/bin;C:/rtools42/usr/bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\dotnet\;C:\Users\tpb398\scoop\apps\vscode\current\bin;C:\Users\tpb398\scoop\apps\llvm\current\bin;C:\Users\tpb398\scoop\apps\imagemagick\current;C:\Users\tpb398\scoop\apps\ghostscript\current\lib;C:\Users\tpb398\scoop\apps\python\current\Scripts;C:\Users\tpb398\scoop\apps\python\current;C:\Users\tpb398\scoop\apps\dotnet-sdk\current;C:\Users\tpb398\scoop\apps\latex\current\texmfs\install\miktex\bin\x64;C:\Users\tpb398\scoop\apps\nodejs\current\bin;C:\Users\tpb398\scoop\apps\nodejs\current;C:\Users\tpb398\.cargo\bin;C:\Users\tpb398\scoop\apps\perl\current\perl\site\bin;C:\Users\tpb398\scoop\apps\perl\current\perl\bin;C:\Users\tpb398\scoop\apps\miniconda3\current\scripts;C:\Users\tpb398\scoop\apps\miniconda3\current\Library\bin;C:\Users\tpb398\scoop\shims;C:\Users\tpb398\AppData\Local\Microsoft\WindowsApps;C:\Users\tpb398\scoop\apps\R\current\bin\x64;C:\rtools43\x86_64-w64-mingw32.static.posix\bin;"&& set RUSTC_BOOTSTRAP=1&& set STD_ENV_ARCH=x86_64&& rustc --crate-name std --edition=2021 C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type rlib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 -C metadata=77657a7ae0c1e6a9 -C extra-filename=-77657a7ae0c1e6a9 --out-dir C:/cargo_target_dir\custom_rtools_target\debug\deps --target \\?\C:\Users\tpb398\Documents\GitHub\libR-sys\custom_rtools_target.json -Z force-unstable-if-unmarked -L dependency=C:/cargo_target_dir\custom_rtools_target\debug\deps -L dependency=C:/cargo_target_dir\debug\deps --extern alloc=C:/cargo_target_dir\custom_rtools_target\debug\deps\liballoc-78386e5fd1781ccb.rmeta --extern priv:cfg_if=C:/cargo_target_dir\custom_rtools_target\debug\deps\libcfg_if-72aeef5bfc82a638.rmeta --extern priv:compiler_builtins=C:/cargo_target_dir\custom_rtools_target\debug\deps\libcompiler_builtins-12ad31c11349612a.rmeta --extern core=C:/cargo_target_dir\custom_rtools_target\debug\deps\libcore-c4c7d83fccd33768.rmeta --extern priv:hashbrown=C:/cargo_target_dir\custom_rtools_target\debug\deps\libhashbrown-2213c512fd96d0ff.rmeta --extern libc=C:/cargo_target_dir\custom_rtools_target\debug\deps\liblibc-5ffa82a4159fbab5.rmeta --extern priv:panic_abort=C:/cargo_target_dir\custom_rtools_target\debug\deps\libpanic_abort-ce3b9b90f4188be0.rmeta --extern priv:rustc_demangle=C:/cargo_target_dir\custom_rtools_target\debug\deps\librustc_demangle-248b641be5e092ff.rmeta --extern priv:std_detect=C:/cargo_target_dir\custom_rtools_target\debug\deps\libstd_detect-8bb3fa2911476f2b.rmeta --extern priv:unwind=C:/cargo_target_dir\custom_rtools_target\debug\deps\libunwind-660ea960f2850abc.rmeta -Z unstable-options --cap-lints warn -Ctarget-cpu=native --cfg "feature=\"restricted-std\"" --cfg backtrace_in_libstd`
error[E0432]: unresolved import `crate::sys_common::net::LookupHost`
  --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\net\socket_addr.rs:12:5
   |
12 | use crate::sys_common::net::LookupHost;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `LookupHost` in `sys::windows::net`

error[E0412]: cannot find type `TcpStream` in module `net_imp`
  --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\net\tcp.rs:50:31
   |
50 | pub struct TcpStream(net_imp::TcpStream);
   |                               ^^^^^^^^^ not found in `net_imp`
   |
help: consider importing this struct through its public re-export
   |
6  + use crate::net::TcpStream;
   |
help: if you import `TcpStream`, refer to it directly
   |
50 - pub struct TcpStream(net_imp::TcpStream);
50 + pub struct TcpStream(TcpStream);
   |

error[E0412]: cannot find type `TcpListener` in module `net_imp`
  --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\net\tcp.rs:86:33
   |
86 | pub struct TcpListener(net_imp::TcpListener);
   |                                 ^^^^^^^^^^^ not found in `net_imp`
   |
help: consider importing this struct through its public re-export
   |
6  + use crate::net::TcpListener;
   |
help: if you import `TcpListener`, refer to it directly
   |
86 - pub struct TcpListener(net_imp::TcpListener);
86 + pub struct TcpListener(TcpListener);
   |

error[E0433]: failed to resolve: could not find `TcpStream` in `net_imp`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\net\tcp.rs:157:41
    |
157 |         super::each_addr(addr, net_imp::TcpStream::connect).map(TcpStream)
    |                                         ^^^^^^^^^ could not find `TcpStream` in `net_imp`
    |
help: consider importing this struct through its public re-export
    |
6   + use crate::net::TcpStream;
    |
help: if you import `TcpStream`, refer to it directly
    |
157 -         super::each_addr(addr, net_imp::TcpStream::connect).map(TcpStream)
157 +         super::each_addr(addr, TcpStream::connect).map(TcpStream)
    |

error[E0433]: failed to resolve: could not find `TcpStream` in `net_imp`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\net\tcp.rs:173:18
    |
173 |         net_imp::TcpStream::connect_timeout(addr, timeout).map(TcpStream)
    |                  ^^^^^^^^^ could not find `TcpStream` in `net_imp`
    |
help: consider importing this struct through its public re-export
    |
6   + use crate::net::TcpStream;
    |
help: if you import `TcpStream`, refer to it directly
    |
173 -         net_imp::TcpStream::connect_timeout(addr, timeout).map(TcpStream)
173 +         TcpStream::connect_timeout(addr, timeout).map(TcpStream)
    |

error[E0412]: cannot find type `TcpStream` in module `net_imp`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\net\tcp.rs:695:23
    |
695 | impl AsInner<net_imp::TcpStream> for TcpStream {
    |                       ^^^^^^^^^ not found in `net_imp`
    |
help: consider importing this struct through its public re-export
    |
6   + use crate::net::TcpStream;
    |
help: if you import `TcpStream`, refer to it directly
    |
695 - impl AsInner<net_imp::TcpStream> for TcpStream {
695 + impl AsInner<TcpStream> for TcpStream {
    |

error[E0412]: cannot find type `TcpStream` in module `net_imp`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\net\tcp.rs:697:37
    |
697 |     fn as_inner(&self) -> &net_imp::TcpStream {
    |                                     ^^^^^^^^^ not found in `net_imp`
    |
help: consider importing this struct through its public re-export
    |
6   + use crate::net::TcpStream;
    |
help: if you import `TcpStream`, refer to it directly
    |
697 -     fn as_inner(&self) -> &net_imp::TcpStream {
697 +     fn as_inner(&self) -> &TcpStream {
    |

error[E0412]: cannot find type `TcpStream` in module `net_imp`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\net\tcp.rs:702:25
    |
702 | impl FromInner<net_imp::TcpStream> for TcpStream {
    |                         ^^^^^^^^^ not found in `net_imp`
    |
help: consider importing this struct through its public re-export
    |
6   + use crate::net::TcpStream;
    |
help: if you import `TcpStream`, refer to it directly
    |
702 - impl FromInner<net_imp::TcpStream> for TcpStream {
702 + impl FromInner<TcpStream> for TcpStream {
    |

error[E0412]: cannot find type `TcpStream` in module `net_imp`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\net\tcp.rs:703:35
    |
703 |     fn from_inner(inner: net_imp::TcpStream) -> TcpStream {
    |                                   ^^^^^^^^^ not found in `net_imp`
    |
help: consider importing this struct through its public re-export
    |
6   + use crate::net::TcpStream;
    |
help: if you import `TcpStream`, refer to it directly
    |
703 -     fn from_inner(inner: net_imp::TcpStream) -> TcpStream {
703 +     fn from_inner(inner: TcpStream) -> TcpStream {
    |

error[E0412]: cannot find type `TcpStream` in module `net_imp`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\net\tcp.rs:708:25
    |
708 | impl IntoInner<net_imp::TcpStream> for TcpStream {
    |                         ^^^^^^^^^ not found in `net_imp`
    |
help: consider importing this struct through its public re-export
    |
6   + use crate::net::TcpStream;
    |
help: if you import `TcpStream`, refer to it directly
    |
708 - impl IntoInner<net_imp::TcpStream> for TcpStream {
708 + impl IntoInner<TcpStream> for TcpStream {
    |

error[E0412]: cannot find type `TcpStream` in module `net_imp`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\net\tcp.rs:709:37
    |
709 |     fn into_inner(self) -> net_imp::TcpStream {
    |                                     ^^^^^^^^^ not found in `net_imp`
    |
help: consider importing this struct through its public re-export
    |
6   + use crate::net::TcpStream;
    |
help: if you import `TcpStream`, refer to it directly
    |
709 -     fn into_inner(self) -> net_imp::TcpStream {
709 +     fn into_inner(self) -> TcpStream {
    |

error[E0433]: failed to resolve: could not find `TcpListener` in `net_imp`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\net\tcp.rs:772:41
    |
772 |         super::each_addr(addr, net_imp::TcpListener::bind).map(TcpListener)
    |                                         ^^^^^^^^^^^ could not find `TcpListener` in `net_imp`
    |
help: consider importing this struct through its public re-export
    |
6   + use crate::net::TcpListener;
    |
help: if you import `TcpListener`, refer to it directly
    |
772 -         super::each_addr(addr, net_imp::TcpListener::bind).map(TcpListener)
772 +         super::each_addr(addr, TcpListener::bind).map(TcpListener)
    |

error[E0412]: cannot find type `TcpListener` in module `net_imp`
    --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\net\tcp.rs:1047:23
     |
1047 | impl AsInner<net_imp::TcpListener> for TcpListener {
     |                       ^^^^^^^^^^^ not found in `net_imp`
     |
help: consider importing this struct through its public re-export
     |
6    + use crate::net::TcpListener;
     |
help: if you import `TcpListener`, refer to it directly
     |
1047 - impl AsInner<net_imp::TcpListener> for TcpListener {
1047 + impl AsInner<TcpListener> for TcpListener {
     |

error[E0412]: cannot find type `TcpListener` in module `net_imp`
    --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\net\tcp.rs:1049:37
     |
1049 |     fn as_inner(&self) -> &net_imp::TcpListener {
     |                                     ^^^^^^^^^^^ not found in `net_imp`
     |
help: consider importing this struct through its public re-export
     |
6    + use crate::net::TcpListener;
     |
help: if you import `TcpListener`, refer to it directly
     |
1049 -     fn as_inner(&self) -> &net_imp::TcpListener {
1049 +     fn as_inner(&self) -> &TcpListener {
     |

error[E0412]: cannot find type `TcpListener` in module `net_imp`
    --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\net\tcp.rs:1054:25
     |
1054 | impl FromInner<net_imp::TcpListener> for TcpListener {
     |                         ^^^^^^^^^^^ not found in `net_imp`
     |
help: consider importing this struct through its public re-export
     |
6    + use crate::net::TcpListener;
     |
help: if you import `TcpListener`, refer to it directly
     |
1054 - impl FromInner<net_imp::TcpListener> for TcpListener {
1054 + impl FromInner<TcpListener> for TcpListener {
     |

error[E0412]: cannot find type `TcpListener` in module `net_imp`
    --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\net\tcp.rs:1055:35
     |
1055 |     fn from_inner(inner: net_imp::TcpListener) -> TcpListener {
     |                                   ^^^^^^^^^^^ not found in `net_imp`
     |
help: consider importing this struct through its public re-export
     |
6    + use crate::net::TcpListener;
     |
help: if you import `TcpListener`, refer to it directly
     |
1055 -     fn from_inner(inner: net_imp::TcpListener) -> TcpListener {
1055 +     fn from_inner(inner: TcpListener) -> TcpListener {
     |

error[E0412]: cannot find type `TcpListener` in module `net_imp`
    --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\net\tcp.rs:1060:25
     |
1060 | impl IntoInner<net_imp::TcpListener> for TcpListener {
     |                         ^^^^^^^^^^^ not found in `net_imp`
     |
help: consider importing this struct through its public re-export
     |
6    + use crate::net::TcpListener;
     |
help: if you import `TcpListener`, refer to it directly
     |
1060 - impl IntoInner<net_imp::TcpListener> for TcpListener {
1060 + impl IntoInner<TcpListener> for TcpListener {
     |

error[E0412]: cannot find type `TcpListener` in module `net_imp`
    --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\net\tcp.rs:1061:37
     |
1061 |     fn into_inner(self) -> net_imp::TcpListener {
     |                                     ^^^^^^^^^^^ not found in `net_imp`
     |
help: consider importing this struct through its public re-export
     |
6    + use crate::net::TcpListener;
     |
help: if you import `TcpListener`, refer to it directly
     |
1061 -     fn into_inner(self) -> net_imp::TcpListener {
1061 +     fn into_inner(self) -> TcpListener {
     |

error[E0412]: cannot find type `UdpSocket` in module `net_imp`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\net\udp.rs:58:31
    |
58  | pub struct UdpSocket(net_imp::UdpSocket);
    |                               ^^^^^^^^^
    |
   ::: C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\os\windows\io\socket.rs:235:1
    |
235 | pub trait AsSocket {
    | ------------------ similarly named trait `AsSocket` defined here
    |
help: a trait with a similar name exists
    |
58  | pub struct UdpSocket(net_imp::AsSocket);
    |                               ~~~~~~~~
help: consider importing this struct through its public re-export
    |
4   + use crate::net::UdpSocket;
    |
help: if you import `UdpSocket`, refer to it directly
    |
58  - pub struct UdpSocket(net_imp::UdpSocket);
58  + pub struct UdpSocket(UdpSocket);
    |

error[E0433]: failed to resolve: could not find `UdpSocket` in `net_imp`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\net\udp.rs:114:41
    |
114 |         super::each_addr(addr, net_imp::UdpSocket::bind).map(UdpSocket)
    |                                         ^^^^^^^^^ could not find `UdpSocket` in `net_imp`
    |
help: a trait with a similar name exists
    |
114 |         super::each_addr(addr, net_imp::AsSocket::bind).map(UdpSocket)
    |                                         ~~~~~~~~
help: consider importing this struct through its public re-export
    |
4   + use crate::net::UdpSocket;
    |
help: if you import `UdpSocket`, refer to it directly
    |
114 -         super::each_addr(addr, net_imp::UdpSocket::bind).map(UdpSocket)
114 +         super::each_addr(addr, UdpSocket::bind).map(UdpSocket)
    |

error[E0412]: cannot find type `UdpSocket` in module `net_imp`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\net\udp.rs:818:23
    |
818 | impl AsInner<net_imp::UdpSocket> for UdpSocket {
    |                       ^^^^^^^^^
    |
   ::: C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\os\windows\io\socket.rs:235:1
    |
235 | pub trait AsSocket {
    | ------------------ similarly named trait `AsSocket` defined here
    |
help: a trait with a similar name exists
    |
818 | impl AsInner<net_imp::AsSocket> for UdpSocket {
    |                       ~~~~~~~~
help: consider importing this struct through its public re-export
    |
4   + use crate::net::UdpSocket;
    |
help: if you import `UdpSocket`, refer to it directly
    |
818 - impl AsInner<net_imp::UdpSocket> for UdpSocket {
818 + impl AsInner<UdpSocket> for UdpSocket {
    |

error[E0412]: cannot find type `UdpSocket` in module `net_imp`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\net\udp.rs:820:37
    |
820 |     fn as_inner(&self) -> &net_imp::UdpSocket {
    |                                     ^^^^^^^^^
    |
   ::: C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\os\windows\io\socket.rs:235:1
    |
235 | pub trait AsSocket {
    | ------------------ similarly named trait `AsSocket` defined here
    |
help: a trait with a similar name exists
    |
820 |     fn as_inner(&self) -> &net_imp::AsSocket {
    |                                     ~~~~~~~~
help: consider importing this struct through its public re-export
    |
4   + use crate::net::UdpSocket;
    |
help: if you import `UdpSocket`, refer to it directly
    |
820 -     fn as_inner(&self) -> &net_imp::UdpSocket {
820 +     fn as_inner(&self) -> &UdpSocket {
    |

error[E0412]: cannot find type `UdpSocket` in module `net_imp`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\net\udp.rs:825:25
    |
825 | impl FromInner<net_imp::UdpSocket> for UdpSocket {
    |                         ^^^^^^^^^
    |
   ::: C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\os\windows\io\socket.rs:235:1
    |
235 | pub trait AsSocket {
    | ------------------ similarly named trait `AsSocket` defined here
    |
help: a trait with a similar name exists
    |
825 | impl FromInner<net_imp::AsSocket> for UdpSocket {
    |                         ~~~~~~~~
help: consider importing this struct through its public re-export
    |
4   + use crate::net::UdpSocket;
    |
help: if you import `UdpSocket`, refer to it directly
    |
825 - impl FromInner<net_imp::UdpSocket> for UdpSocket {
825 + impl FromInner<UdpSocket> for UdpSocket {
    |

error[E0412]: cannot find type `UdpSocket` in module `net_imp`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\net\udp.rs:826:35
    |
826 |     fn from_inner(inner: net_imp::UdpSocket) -> UdpSocket {
    |                                   ^^^^^^^^^
    |
   ::: C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\os\windows\io\socket.rs:235:1
    |
235 | pub trait AsSocket {
    | ------------------ similarly named trait `AsSocket` defined here
    |
help: a trait with a similar name exists
    |
826 |     fn from_inner(inner: net_imp::AsSocket) -> UdpSocket {
    |                                   ~~~~~~~~
help: consider importing this struct through its public re-export
    |
4   + use crate::net::UdpSocket;
    |
help: if you import `UdpSocket`, refer to it directly
    |
826 -     fn from_inner(inner: net_imp::UdpSocket) -> UdpSocket {
826 +     fn from_inner(inner: UdpSocket) -> UdpSocket {
    |

error[E0412]: cannot find type `UdpSocket` in module `net_imp`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\net\udp.rs:831:25
    |
831 | impl IntoInner<net_imp::UdpSocket> for UdpSocket {
    |                         ^^^^^^^^^
    |
   ::: C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\os\windows\io\socket.rs:235:1
    |
235 | pub trait AsSocket {
    | ------------------ similarly named trait `AsSocket` defined here
    |
help: a trait with a similar name exists
    |
831 | impl IntoInner<net_imp::AsSocket> for UdpSocket {
    |                         ~~~~~~~~
help: consider importing this struct through its public re-export
    |
4   + use crate::net::UdpSocket;
    |
help: if you import `UdpSocket`, refer to it directly
    |
831 - impl IntoInner<net_imp::UdpSocket> for UdpSocket {
831 + impl IntoInner<UdpSocket> for UdpSocket {
    |

error[E0412]: cannot find type `UdpSocket` in module `net_imp`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\net\udp.rs:832:37
    |
832 |     fn into_inner(self) -> net_imp::UdpSocket {
    |                                     ^^^^^^^^^
    |
   ::: C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\os\windows\io\socket.rs:235:1
    |
235 | pub trait AsSocket {
    | ------------------ similarly named trait `AsSocket` defined here
    |
help: a trait with a similar name exists
    |
832 |     fn into_inner(self) -> net_imp::AsSocket {
    |                                     ~~~~~~~~
help: consider importing this struct through its public re-export
    |
4   + use crate::net::UdpSocket;
    |
help: if you import `UdpSocket`, refer to it directly
    |
832 -     fn into_inner(self) -> net_imp::UdpSocket {
832 +     fn into_inner(self) -> UdpSocket {
    |

error[E0433]: failed to resolve: could not find `TcpStream` in `net`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\os\windows\io\raw.rs:264:53
    |
264 |         net::TcpStream::from_inner(sys_common::net::TcpStream::from_inner(sock))
    |                                                     ^^^^^^^^^ could not find `TcpStream` in `net`
    |
help: consider importing this struct through its public re-export
    |
5   + use crate::net::TcpStream;
    |
help: if you import `TcpStream`, refer to it directly
    |
264 -         net::TcpStream::from_inner(sys_common::net::TcpStream::from_inner(sock))
264 +         net::TcpStream::from_inner(TcpStream::from_inner(sock))
    |

error[E0433]: failed to resolve: could not find `TcpListener` in `net`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\os\windows\io\raw.rs:272:55
    |
272 |         net::TcpListener::from_inner(sys_common::net::TcpListener::from_inner(sock))
    |                                                       ^^^^^^^^^^^ could not find `TcpListener` in `net`
    |
help: consider importing this struct through its public re-export
    |
5   + use crate::net::TcpListener;
    |
help: if you import `TcpListener`, refer to it directly
    |
272 -         net::TcpListener::from_inner(sys_common::net::TcpListener::from_inner(sock))
272 +         net::TcpListener::from_inner(TcpListener::from_inner(sock))
    |

error[E0433]: failed to resolve: could not find `UdpSocket` in `net`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\os\windows\io\raw.rs:280:53
    |
280 |         net::UdpSocket::from_inner(sys_common::net::UdpSocket::from_inner(sock))
    |                                                     ^^^^^^^^^ could not find `UdpSocket` in `net`
    |
help: a trait with a similar name exists
    |
280 |         net::UdpSocket::from_inner(sys_common::net::AsSocket::from_inner(sock))
    |                                                     ~~~~~~~~
help: consider importing this struct through its public re-export
    |
5   + use crate::net::UdpSocket;
    |
help: if you import `UdpSocket`, refer to it directly
    |
280 -         net::UdpSocket::from_inner(sys_common::net::UdpSocket::from_inner(sock))
280 +         net::UdpSocket::from_inner(UdpSocket::from_inner(sock))
    |

error[E0425]: cannot find function `sockaddr_to_addr` in module `net`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\sys\windows\net.rs:323:33
    |
323 |                     Ok((0, net::sockaddr_to_addr(&storage, addrlen as usize)?))
    |                                 ^^^^^^^^^^^^^^^^ not found in `net`

error[E0425]: cannot find function `sockaddr_to_addr` in module `net`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\sys\windows\net.rs:328:44
    |
328 |             _ => Ok((result as usize, net::sockaddr_to_addr(&storage, addrlen as usize)?)),
    |                                            ^^^^^^^^^^^^^^^^ not found in `net`

error[E0425]: cannot find function `setsockopt` in module `net`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\sys\windows\net.rs:376:14
    |
376 |         net::setsockopt(self, c::SOL_SOCKET, kind, timeout)
    |              ^^^^^^^^^^ not found in `net`
    |
help: consider importing one of these items
    |
3   + use crate::sys::c::setsockopt;
    |
3   + use libc::setsockopt;
    |
help: if you import `setsockopt`, refer to it directly
    |
376 -         net::setsockopt(self, c::SOL_SOCKET, kind, timeout)
376 +         setsockopt(self, c::SOL_SOCKET, kind, timeout)
    |

error[E0425]: cannot find function `getsockopt` in module `net`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\sys\windows\net.rs:380:34
    |
380 |         let raw: c::DWORD = net::getsockopt(self, c::SOL_SOCKET, kind)?;
    |                                  ^^^^^^^^^^ not found in `net`
    |
help: consider importing one of these items
    |
3   + use crate::sys::c::getsockopt;
    |
3   + use libc::getsockopt;
    |
help: if you import `getsockopt`, refer to it directly
    |
380 -         let raw: c::DWORD = net::getsockopt(self, c::SOL_SOCKET, kind)?;
380 +         let raw: c::DWORD = getsockopt(self, c::SOL_SOCKET, kind)?;
    |

error[E0425]: cannot find function `setsockopt` in module `net`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\sys\windows\net.rs:413:14
    |
413 |         net::setsockopt(self, c::SOL_SOCKET, c::SO_LINGER, linger)
    |              ^^^^^^^^^^ not found in `net`
    |
help: consider importing one of these items
    |
3   + use crate::sys::c::setsockopt;
    |
3   + use libc::setsockopt;
    |
help: if you import `setsockopt`, refer to it directly
    |
413 -         net::setsockopt(self, c::SOL_SOCKET, c::SO_LINGER, linger)
413 +         setsockopt(self, c::SOL_SOCKET, c::SO_LINGER, linger)
    |

error[E0425]: cannot find function `getsockopt` in module `net`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\sys\windows\net.rs:417:35
    |
417 |         let val: c::linger = net::getsockopt(self, c::SOL_SOCKET, c::SO_LINGER)?;
    |                                   ^^^^^^^^^^ not found in `net`
    |
help: consider importing one of these items
    |
3   + use crate::sys::c::getsockopt;
    |
3   + use libc::getsockopt;
    |
help: if you import `getsockopt`, refer to it directly
    |
417 -         let val: c::linger = net::getsockopt(self, c::SOL_SOCKET, c::SO_LINGER)?;
417 +         let val: c::linger = getsockopt(self, c::SOL_SOCKET, c::SO_LINGER)?;
    |

error[E0425]: cannot find function `setsockopt` in module `net`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\sys\windows\net.rs:423:14
    |
423 |         net::setsockopt(self, c::IPPROTO_TCP, c::TCP_NODELAY, nodelay as c::BOOL)
    |              ^^^^^^^^^^ not found in `net`
    |
help: consider importing one of these items
    |
3   + use crate::sys::c::setsockopt;
    |
3   + use libc::setsockopt;
    |
help: if you import `setsockopt`, refer to it directly
    |
423 -         net::setsockopt(self, c::IPPROTO_TCP, c::TCP_NODELAY, nodelay as c::BOOL)
423 +         setsockopt(self, c::IPPROTO_TCP, c::TCP_NODELAY, nodelay as c::BOOL)
    |

error[E0425]: cannot find function `getsockopt` in module `net`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\sys\windows\net.rs:427:33
    |
427 |         let raw: c::BOOL = net::getsockopt(self, c::IPPROTO_TCP, c::TCP_NODELAY)?;
    |                                 ^^^^^^^^^^ not found in `net`
    |
help: consider importing one of these items
    |
3   + use crate::sys::c::getsockopt;
    |
3   + use libc::getsockopt;
    |
help: if you import `getsockopt`, refer to it directly
    |
427 -         let raw: c::BOOL = net::getsockopt(self, c::IPPROTO_TCP, c::TCP_NODELAY)?;
427 +         let raw: c::BOOL = getsockopt(self, c::IPPROTO_TCP, c::TCP_NODELAY)?;
    |

error[E0425]: cannot find function `getsockopt` in module `net`
   --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\sys\windows\net.rs:432:31
    |
432 |         let raw: c_int = net::getsockopt(self, c::SOL_SOCKET, c::SO_ERROR)?;
    |                               ^^^^^^^^^^ not found in `net`
    |
help: consider importing one of these items
    |
3   + use crate::sys::c::getsockopt;
    |
3   + use libc::getsockopt;
    |
help: if you import `getsockopt`, refer to it directly
    |
432 -         let raw: c_int = net::getsockopt(self, c::SOL_SOCKET, c::SO_ERROR)?;
432 +         let raw: c_int = getsockopt(self, c::SOL_SOCKET, c::SO_ERROR)?;
    |

warning: unused import: `crate::sys::c::ADDRINFOA as addrinfo`
  --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\sys\windows\net.rs:24:13
   |
24 |     pub use crate::sys::c::ADDRINFOA as addrinfo;
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` on by default

warning: unused import: `crate::sys::c::SOCKADDR as sockaddr`
  --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\sys\windows\net.rs:25:13
   |
25 |     pub use crate::sys::c::SOCKADDR as sockaddr;
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `crate::sys::c::SOCKADDR_STORAGE_LH as sockaddr_storage`
  --> C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\sys\windows\net.rs:26:13
   |
26 |     pub use crate::sys::c::SOCKADDR_STORAGE_LH as sockaddr_storage;
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Some errors have detailed explanations: E0412, E0425, E0432, E0433.
For more information about an error, try `rustc --explain E0412`.
warning: `std` (lib) generated 3 warnings
error: could not compile `std` (lib) due to 38 previous errors; 3 warnings emitted

Caused by:
  process didn't exit successfully: `set CARGO=\\?\C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\bin\cargo.exe&& set CARGO_CRATE_NAME=std&& set CARGO_MANIFEST_DIR=C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std&& set CARGO_PKG_AUTHORS=""&& set CARGO_PKG_DESCRIPTION="The Rust Standard Library"&& set CARGO_PKG_HOMEPAGE=""&& set CARGO_PKG_LICENSE="MIT OR Apache-2.0"&& set CARGO_PKG_LICENSE_FILE=""&& set CARGO_PKG_NAME=std&& set CARGO_PKG_README=""&& set CARGO_PKG_REPOSITORY=https://github.com/rust-lang/rust.git&& set CARGO_PKG_RUST_VERSION=""&& set CARGO_PKG_VERSION=0.0.0&& set CARGO_PKG_VERSION_MAJOR=0&& set CARGO_PKG_VERSION_MINOR=0&& set CARGO_PKG_VERSION_PATCH=0&& set CARGO_PKG_VERSION_PRE=""&& set LIBRSYS_BINDINGS_OUTPUT_PATH=bindings&& set LIBRSYS_LIBCLANG_INCLUDE_PATH=C:/Users/tpb398/scoop/apps/rtools/current/x86_64-w64-mingw32.static.posix/include&& set OUT_DIR=C:/cargo_target_dir\custom_rtools_target\debug\build\std-2c021b97771a10eb\out&& set PATH="C:/cargo_target_dir\debug\deps;C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\bin;C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\bin;C:\Users\tpb398\scoop\apps\R\current/bin/x64;C:/rtools42/x86_64-w64-mingw32.static.posix/bin;C:/rtools42/usr/bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\dotnet\;C:\Users\tpb398\scoop\apps\vscode\current\bin;C:\Users\tpb398\scoop\apps\llvm\current\bin;C:\Users\tpb398\scoop\apps\imagemagick\current;C:\Users\tpb398\scoop\apps\ghostscript\current\lib;C:\Users\tpb398\scoop\apps\python\current\Scripts;C:\Users\tpb398\scoop\apps\python\current;C:\Users\tpb398\scoop\apps\dotnet-sdk\current;C:\Users\tpb398\scoop\apps\latex\current\texmfs\install\miktex\bin\x64;C:\Users\tpb398\scoop\apps\nodejs\current\bin;C:\Users\tpb398\scoop\apps\nodejs\current;C:\Users\tpb398\.cargo\bin;C:\Users\tpb398\scoop\apps\perl\current\perl\site\bin;C:\Users\tpb398\scoop\apps\perl\current\perl\bin;C:\Users\tpb398\scoop\apps\miniconda3\current\scripts;C:\Users\tpb398\scoop\apps\miniconda3\current\Library\bin;C:\Users\tpb398\scoop\shims;C:\Users\tpb398\AppData\Local\Microsoft\WindowsApps;C:\Users\tpb398\scoop\apps\R\current\bin\x64;C:\rtools43\x86_64-w64-mingw32.static.posix\bin;"&& set RUSTC_BOOTSTRAP=1&& set STD_ENV_ARCH=x86_64&& rustc --crate-name std --edition=2021 C:\Users\tpb398\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type rlib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 -C metadata=77657a7ae0c1e6a9 -C extra-filename=-77657a7ae0c1e6a9 --out-dir C:/cargo_target_dir\custom_rtools_target\debug\deps --target \\?\C:\Users\tpb398\Documents\GitHub\libR-sys\custom_rtools_target.json -Z force-unstable-if-unmarked -L dependency=C:/cargo_target_dir\custom_rtools_target\debug\deps -L dependency=C:/cargo_target_dir\debug\deps --extern alloc=C:/cargo_target_dir\custom_rtools_target\debug\deps\liballoc-78386e5fd1781ccb.rmeta --extern priv:cfg_if=C:/cargo_target_dir\custom_rtools_target\debug\deps\libcfg_if-72aeef5bfc82a638.rmeta --extern priv:compiler_builtins=C:/cargo_target_dir\custom_rtools_target\debug\deps\libcompiler_builtins-12ad31c11349612a.rmeta --extern core=C:/cargo_target_dir\custom_rtools_target\debug\deps\libcore-c4c7d83fccd33768.rmeta --extern priv:hashbrown=C:/cargo_target_dir\custom_rtools_target\debug\deps\libhashbrown-2213c512fd96d0ff.rmeta --extern libc=C:/cargo_target_dir\custom_rtools_target\debug\deps\liblibc-5ffa82a4159fbab5.rmeta --extern priv:panic_abort=C:/cargo_target_dir\custom_rtools_target\debug\deps\libpanic_abort-ce3b9b90f4188be0.rmeta --extern priv:rustc_demangle=C:/cargo_target_dir\custom_rtools_target\debug\deps\librustc_demangle-248b641be5e092ff.rmeta --extern priv:std_detect=C:/cargo_target_dir\custom_rtools_target\debug\deps\libstd_detect-8bb3fa2911476f2b.rmeta --extern priv:unwind=C:/cargo_target_dir\custom_rtools_target\debug\deps\libunwind-660ea960f2850abc.rmeta -Z unstable-options --cap-lints warn -Ctarget-cpu=native --cfg "feature=\"restricted-std\"" --cfg backtrace_in_libstd` (exit code: 1)

CGMossa avatar Nov 02 '23 11:11 CGMossa

It would be nice if all the native R commands was used to compile the whole thing, with linker, etc.

~\Documents\GitHub\libR-sys> R CMD config --ldflags
-LC:/Users/tpb398/scoop/apps/R/current/bin/x64 -lR -lm
~\Documents\GitHub\libR-sys> R CMD config --cppflags
-IC:/Users/tpb398/scoop/apps/R/current/include -IC:/Users/tpb398/scoop/apps/R/current/include/x64
Details

11/02/2023 12:57:17 PMCC = gcc
CFLAGS = -O2 -Wall -mfpmath=sse -msse2 -mstackrealign
CPICFLAGS =
CPPFLAGS =
CC17 = gcc
C17FLAGS = -O2 -Wall -std=gnu17 -mfpmath=sse -msse2 -mstackrealign
CC23 = gcc
C23FLAGS = -O2 -Wall -std=gnu2x -mfpmath=sse -msse2 -mstackrealign
CC90 = gcc
C90FLAGS = -O2 -Wall -std=gnu90 -mfpmath=sse -msse2 -mstackrealign
CC99 = gcc
C99FLAGS = -O2 -Wall -std=gnu99 -mfpmath=sse -msse2 -mstackrealign
CXX = g++ -std=gnu++17
CXXFLAGS = -O2 -Wall -mfpmath=sse -msse2 -mstackrealign
CXXPICFLAGS =
CXX11 = g++
CXX11STD = -std=gnu++11
CXX11FLAGS = -O2 -Wall -mfpmath=sse -msse2 -mstackrealign
CXX11PICFLAGS =
CXX14 = g++
CXX14STD = -std=gnu++14
CXX14FLAGS = -O2 -Wall -mfpmath=sse -msse2 -mstackrealign
CXX14PICFLAGS =
CXX17 = g++
CXX17STD = -std=gnu++17
CXX17FLAGS = -O2 -Wall -mfpmath=sse -msse2 -mstackrealign
CXX17PICFLAGS =
CXX20 = g++
CXX20STD = -std=gnu++20
CXX20FLAGS = -O2 -Wall -mfpmath=sse -msse2 -mstackrealign
CXX20PICFLAG =
CXX23 = g++
CXX23STD = -std=gnu++2b
CXX23FLAGS = -O2 -Wall -mfpmath=sse -msse2 -mstackrealign
CXX23PICFLAGS =
DYLIB_EXT = .dll
DYLIB_LD = gcc
DYLIB_LDFLAGS = -shared
FC = gfortran
FFLAGS = -O2 -mfpmath=sse -msse2 -mstackrealign
FPICFLAGS =
FLIBS = -lgfortran -lm -lquadmath
FCFLAGS = -O2 -mfpmath=sse -msse2 -mstackrealign
SAFE_FFLAGS = -O2 -msse2 -mfpmath=sse
OBJC = gcc
OBJCFLAGS = -O2
JAVA =
JAVAC =
JAVAH =
JAR =
JAVA_HOME =
JAVA_LIBS = -L/bin/client -ljvm -ljvm-w32
JAVA_CPPFLAGS = -I/../include -I/../include/win32
LDFLAGS =
SHLIB_CFLAGS =
SHLIB_CXXFLAGS =
SHLIB_CXXLD = g++ -std=gnu++17
SHLIB_CXXLDFLAGS = -shared
SHLIB_CXX11LD = g++
SHLIB_CXX11LDFLAGS = -shared
SHLIB_CXX14LD = g++
SHLIB_CXX14LDFLAGS = -shared
SHLIB_CXX17LD = g++
SHLIB_CXX17LDFLAGS = -shared
SHLIB_CXX20LD = g++
SHLIB_CXX20LDFLAGS = -shared
SHLIB_CXX23LD = g++
SHLIB_CXX23LDFLAGS = -shared
SHLIB_EXT = .dll
SHLIB_FFLAGS =
SHLIB_LD = gcc
SHLIB_LDFLAGS = -shared
TCLTK_CPPFLAGS = -I C:/Users/tpb398/scoop/apps/R/current/Tcl/include -DWin32
TCLTK_LIBS = -LC:/Users/tpb398/scoop/apps/R/current/Tcl/bin -ltcl86 -ltk86
BLAS_LIBS = -LC:/Users/tpb398/scoop/apps/R/current/bin/x64 -lRblas
LAPACK_LIBS = -LC:/Users/tpb398/scoop/apps/R/current/bin/x64 -lRlapack
MAKE = make
LIBnn = lib
AR = ar
NM = nm
RANLIB = ranlib
LTO =
LTO_FC =
LTO_LD =
LOCAL_SOFT = c:/rtools43/x86_64-w64-mingw32.static.posix
R_TOOLS_SOFT = c:/rtools43/x86_64-w64-mingw32.static.posix
COMPILED_BY = gcc-12.2.0
OBJDUMP = objdump

CGMossa avatar Nov 02 '23 11:11 CGMossa