[INFO] fetching crate croaring-sys-mw 0.4.5... [INFO] checking croaring-sys-mw-0.4.5 against try#f6e2f78768c57172b99c3e85892f867894dc7e30 for pr-75502 [INFO] extracting crate croaring-sys-mw 0.4.5 into /workspace/builds/worker-5/source [INFO] validating manifest of crates.io crate croaring-sys-mw 0.4.5 on toolchain f6e2f78768c57172b99c3e85892f867894dc7e30 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+f6e2f78768c57172b99c3e85892f867894dc7e30" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking crates.io crate croaring-sys-mw 0.4.5 [INFO] finished tweaking crates.io crate croaring-sys-mw 0.4.5 [INFO] tweaked toml for crates.io crate croaring-sys-mw 0.4.5 written to /workspace/builds/worker-5/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+f6e2f78768c57172b99c3e85892f867894dc7e30" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+f6e2f78768c57172b99c3e85892f867894dc7e30" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:e18d859f9e32a1da89bc7b2d7d51e13b57342044d1295d9fc0dd0068c58eb3d1" "/opt/rustwide/cargo-home/bin/cargo" "+f6e2f78768c57172b99c3e85892f867894dc7e30" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] b82b457d3428d52a76dbd87350294659b3672132230c7a477a339cbb885ac82a [INFO] running `Command { std: "docker" "start" "-a" "b82b457d3428d52a76dbd87350294659b3672132230c7a477a339cbb885ac82a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b82b457d3428d52a76dbd87350294659b3672132230c7a477a339cbb885ac82a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b82b457d3428d52a76dbd87350294659b3672132230c7a477a339cbb885ac82a", kill_on_drop: false }` [INFO] [stdout] b82b457d3428d52a76dbd87350294659b3672132230c7a477a339cbb885ac82a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:e18d859f9e32a1da89bc7b2d7d51e13b57342044d1295d9fc0dd0068c58eb3d1" "/opt/rustwide/cargo-home/bin/cargo" "+f6e2f78768c57172b99c3e85892f867894dc7e30" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 703947931fbf5f819bfdbb052b9e7f10411187be3c81bc9fda3a0a6edd5cfa3d [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "703947931fbf5f819bfdbb052b9e7f10411187be3c81bc9fda3a0a6edd5cfa3d", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.76 [INFO] [stderr] Compiling glob v0.3.0 [INFO] [stderr] Compiling cc v1.0.59 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling proc-macro2 v1.0.19 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling regex-syntax v0.6.18 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling unicode-width v0.1.8 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling strsim v0.8.0 [INFO] [stderr] Compiling bindgen v0.52.0 [INFO] [stderr] Compiling termcolor v1.1.0 [INFO] [stderr] Compiling ansi_term v0.11.0 [INFO] [stderr] Compiling vec_map v0.8.2 [INFO] [stderr] Compiling lazycell v1.3.0 [INFO] [stderr] Compiling peeking_take_while v0.1.2 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling shlex v0.1.1 [INFO] [stderr] Compiling nom v4.2.3 [INFO] [stderr] Compiling thread_local v1.0.1 [INFO] [stderr] Compiling humantime v1.3.0 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling memchr v2.3.3 [INFO] [stderr] Compiling log v0.4.11 [INFO] [stderr] Compiling aho-corasick v0.7.13 [INFO] [stderr] Compiling clang-sys v0.28.1 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling which v3.1.1 [INFO] [stderr] Compiling clap v2.33.3 [INFO] [stderr] Compiling libloading v0.5.2 [INFO] [stderr] Compiling cexpr v0.3.6 [INFO] [stderr] Compiling regex v1.3.9 [INFO] [stderr] Compiling env_logger v0.7.1 [INFO] [stderr] Compiling croaring-sys-mw v0.4.5 (/opt/rustwide/workdir) [INFO] [stderr] warning: In file included from CRoaring/roaring.c:10: [INFO] [stderr] warning: CRoaring/roaring.c: In function 'difference_vector16': [INFO] [stderr] warning: CRoaring/roaring.c:646:24: warning: comparison of integer expressions of different signedness: 'int32_t' {aka 'int'} and 'size_t' {aka 'long unsigned int'} [-Wsign-compare] [INFO] [stderr] warning: 646 | assert(count <= i_a); [INFO] [stderr] warning: | ^~ [INFO] [stderr] warning: CRoaring/roaring.c:647:20: warning: comparison of integer expressions of different signedness: 'int32_t' {aka 'int'} and 'size_t' {aka 'long unsigned int'} [-Wsign-compare] [INFO] [stderr] warning: 647 | if(count < i_a) { [INFO] [stderr] warning: | ^ [INFO] [stdout] warning: `extern` block uses type `u128`, which is not FFI-safe [INFO] [stdout] --> /opt/rustwide/target/debug/build/croaring-sys-mw-539d4574020a932f/out/croaring-sys.rs:3:24264 [INFO] [stdout] | [INFO] [stdout] 3 | ...__endptr : * mut * mut :: std :: os :: raw :: c_char ) -> u128 ; } extern "C" { pub fn strtof32 ( __nptr : * const :: std :: os :: raw... [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(improper_ctypes)]` on by default [INFO] [stdout] = note: 128-bit integers don't currently have a known stable ABI [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` block uses type `u128`, which is not FFI-safe [INFO] [stdout] --> /opt/rustwide/target/debug/build/croaring-sys-mw-539d4574020a932f/out/croaring-sys.rs:3:24867 [INFO] [stdout] | [INFO] [stdout] 3 | ...endptr : * mut * mut :: std :: os :: raw :: c_char ) -> _Float64x ; } extern "C" { pub fn strtol ( __nptr : * const :: std :: os :: ra... [INFO] [stdout] | ^^^^^^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = note: 128-bit integers don't currently have a known stable ABI [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` block uses type `u128`, which is not FFI-safe [INFO] [stdout] --> /opt/rustwide/target/debug/build/croaring-sys-mw-539d4574020a932f/out/croaring-sys.rs:3:26705 [INFO] [stdout] | [INFO] [stdout] 3 | ... __format : * const :: std :: os :: raw :: c_char , __f : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn strfromf32 ( ... [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = note: 128-bit integers don't currently have a known stable ABI [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` block uses type `u128`, which is not FFI-safe [INFO] [stdout] --> /opt/rustwide/target/debug/build/croaring-sys-mw-539d4574020a932f/out/croaring-sys.rs:3:27508 [INFO] [stdout] | [INFO] [stdout] 3 | ..._format : * const :: std :: os :: raw :: c_char , __f : _Float64x ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( ... [INFO] [stdout] | ^^^^^^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = note: 128-bit integers don't currently have a known stable ABI [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` block uses type `u128`, which is not FFI-safe [INFO] [stdout] --> /opt/rustwide/target/debug/build/croaring-sys-mw-539d4574020a932f/out/croaring-sys.rs:3:31005 [INFO] [stdout] | [INFO] [stdout] 3 | ...mut :: std :: os :: raw :: c_char , __loc : locale_t ) -> u128 ; } extern "C" { pub fn strtof32_l ( __nptr : * const :: std :: os :: r... [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = note: 128-bit integers don't currently have a known stable ABI [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` block uses type `u128`, which is not FFI-safe [INFO] [stdout] --> /opt/rustwide/target/debug/build/croaring-sys-mw-539d4574020a932f/out/croaring-sys.rs:3:31692 [INFO] [stdout] | [INFO] [stdout] 3 | ...t :: std :: os :: raw :: c_char , __loc : locale_t ) -> _Float64x ; } extern "C" { pub fn l64a ( __n : :: std :: os :: raw :: c_long )... [INFO] [stdout] | ^^^^^^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = note: 128-bit integers don't currently have a known stable ABI [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` block uses type `u128`, which is not FFI-safe [INFO] [stdout] --> /opt/rustwide/target/debug/build/croaring-sys-mw-539d4574020a932f/out/croaring-sys.rs:3:77801 [INFO] [stdout] | [INFO] [stdout] 3 | ...: raw :: c_char ; } extern "C" { pub fn qecvt ( __value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: o... [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = note: 128-bit integers don't currently have a known stable ABI [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` block uses type `u128`, which is not FFI-safe [INFO] [stdout] --> /opt/rustwide/target/debug/build/croaring-sys-mw-539d4574020a932f/out/croaring-sys.rs:3:78024 [INFO] [stdout] | [INFO] [stdout] 3 | ...: raw :: c_char ; } extern "C" { pub fn qfcvt ( __value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: o... [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = note: 128-bit integers don't currently have a known stable ABI [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` block uses type `u128`, which is not FFI-safe [INFO] [stdout] --> /opt/rustwide/target/debug/build/croaring-sys-mw-539d4574020a932f/out/croaring-sys.rs:3:78247 [INFO] [stdout] | [INFO] [stdout] 3 | ...: raw :: c_char ; } extern "C" { pub fn qgcvt ( __value : u128 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os ... [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = note: 128-bit integers don't currently have a known stable ABI [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` block uses type `u128`, which is not FFI-safe [INFO] [stdout] --> /opt/rustwide/target/debug/build/croaring-sys-mw-539d4574020a932f/out/croaring-sys.rs:3:78981 [INFO] [stdout] | [INFO] [stdout] 3 | ... raw :: c_int ; } extern "C" { pub fn qecvt_r ( __value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: o... [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = note: 128-bit integers don't currently have a known stable ABI [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` block uses type `u128`, which is not FFI-safe [INFO] [stdout] --> /opt/rustwide/target/debug/build/croaring-sys-mw-539d4574020a932f/out/croaring-sys.rs:3:79261 [INFO] [stdout] | [INFO] [stdout] 3 | ... raw :: c_int ; } extern "C" { pub fn qfcvt_r ( __value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: o... [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = note: 128-bit integers don't currently have a known stable ABI [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 11 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` block uses type `u128`, which is not FFI-safe [INFO] [stdout] --> /opt/rustwide/target/debug/build/croaring-sys-mw-539d4574020a932f/out/croaring-sys.rs:3:24264 [INFO] [stdout] | [INFO] [stdout] 3 | ...__endptr : * mut * mut :: std :: os :: raw :: c_char ) -> u128 ; } extern "C" { pub fn strtof32 ( __nptr : * const :: std :: os :: raw... [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(improper_ctypes)]` on by default [INFO] [stdout] = note: 128-bit integers don't currently have a known stable ABI [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` block uses type `u128`, which is not FFI-safe [INFO] [stdout] --> /opt/rustwide/target/debug/build/croaring-sys-mw-539d4574020a932f/out/croaring-sys.rs:3:24867 [INFO] [stdout] | [INFO] [stdout] 3 | ...endptr : * mut * mut :: std :: os :: raw :: c_char ) -> _Float64x ; } extern "C" { pub fn strtol ( __nptr : * const :: std :: os :: ra... [INFO] [stdout] | ^^^^^^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = note: 128-bit integers don't currently have a known stable ABI [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` block uses type `u128`, which is not FFI-safe [INFO] [stdout] --> /opt/rustwide/target/debug/build/croaring-sys-mw-539d4574020a932f/out/croaring-sys.rs:3:26705 [INFO] [stdout] | [INFO] [stdout] 3 | ... __format : * const :: std :: os :: raw :: c_char , __f : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn strfromf32 ( ... [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = note: 128-bit integers don't currently have a known stable ABI [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` block uses type `u128`, which is not FFI-safe [INFO] [stdout] --> /opt/rustwide/target/debug/build/croaring-sys-mw-539d4574020a932f/out/croaring-sys.rs:3:27508 [INFO] [stdout] | [INFO] [stdout] 3 | ..._format : * const :: std :: os :: raw :: c_char , __f : _Float64x ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( ... [INFO] [stdout] | ^^^^^^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = note: 128-bit integers don't currently have a known stable ABI [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` block uses type `u128`, which is not FFI-safe [INFO] [stdout] --> /opt/rustwide/target/debug/build/croaring-sys-mw-539d4574020a932f/out/croaring-sys.rs:3:31005 [INFO] [stdout] | [INFO] [stdout] 3 | ...mut :: std :: os :: raw :: c_char , __loc : locale_t ) -> u128 ; } extern "C" { pub fn strtof32_l ( __nptr : * const :: std :: os :: r... [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = note: 128-bit integers don't currently have a known stable ABI [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` block uses type `u128`, which is not FFI-safe [INFO] [stdout] --> /opt/rustwide/target/debug/build/croaring-sys-mw-539d4574020a932f/out/croaring-sys.rs:3:31692 [INFO] [stdout] | [INFO] [stdout] 3 | ...t :: std :: os :: raw :: c_char , __loc : locale_t ) -> _Float64x ; } extern "C" { pub fn l64a ( __n : :: std :: os :: raw :: c_long )... [INFO] [stdout] | ^^^^^^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = note: 128-bit integers don't currently have a known stable ABI [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` block uses type `u128`, which is not FFI-safe [INFO] [stdout] --> /opt/rustwide/target/debug/build/croaring-sys-mw-539d4574020a932f/out/croaring-sys.rs:3:77801 [INFO] [stdout] | [INFO] [stdout] 3 | ...: raw :: c_char ; } extern "C" { pub fn qecvt ( __value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: o... [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = note: 128-bit integers don't currently have a known stable ABI [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` block uses type `u128`, which is not FFI-safe [INFO] [stdout] --> /opt/rustwide/target/debug/build/croaring-sys-mw-539d4574020a932f/out/croaring-sys.rs:3:78024 [INFO] [stdout] | [INFO] [stdout] 3 | ...: raw :: c_char ; } extern "C" { pub fn qfcvt ( __value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: o... [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = note: 128-bit integers don't currently have a known stable ABI [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` block uses type `u128`, which is not FFI-safe [INFO] [stdout] --> /opt/rustwide/target/debug/build/croaring-sys-mw-539d4574020a932f/out/croaring-sys.rs:3:78247 [INFO] [stdout] | [INFO] [stdout] 3 | ...: raw :: c_char ; } extern "C" { pub fn qgcvt ( __value : u128 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os ... [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = note: 128-bit integers don't currently have a known stable ABI [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` block uses type `u128`, which is not FFI-safe [INFO] [stdout] --> /opt/rustwide/target/debug/build/croaring-sys-mw-539d4574020a932f/out/croaring-sys.rs:3:78981 [INFO] [stdout] | [INFO] [stdout] 3 | ... raw :: c_int ; } extern "C" { pub fn qecvt_r ( __value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: o... [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = note: 128-bit integers don't currently have a known stable ABI [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` block uses type `u128`, which is not FFI-safe [INFO] [stdout] --> /opt/rustwide/target/debug/build/croaring-sys-mw-539d4574020a932f/out/croaring-sys.rs:3:79261 [INFO] [stdout] | [INFO] [stdout] 3 | ... raw :: c_int ; } extern "C" { pub fn qfcvt_r ( __value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: o... [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = note: 128-bit integers don't currently have a known stable ABI [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 47s [INFO] [stdout] warning: 11 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "703947931fbf5f819bfdbb052b9e7f10411187be3c81bc9fda3a0a6edd5cfa3d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "703947931fbf5f819bfdbb052b9e7f10411187be3c81bc9fda3a0a6edd5cfa3d", kill_on_drop: false }` [INFO] [stdout] 703947931fbf5f819bfdbb052b9e7f10411187be3c81bc9fda3a0a6edd5cfa3d