[INFO] cloning repository https://github.com/tomhrr/owhois [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tomhrr/owhois" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftomhrr%2Fowhois", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftomhrr%2Fowhois'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 94791fca1e01c7bfc5fe7f001d65fe3755213ab3 [INFO] testing tomhrr/owhois against master#a77da2d454e6caa227a85b16410b95f93495e7e0 for pr-91031 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftomhrr%2Fowhois" "/workspace/builds/worker-2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/tomhrr/owhois on toolchain a77da2d454e6caa227a85b16410b95f93495e7e0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/tomhrr/owhois [INFO] finished tweaking git repo https://github.com/tomhrr/owhois [INFO] tweaked toml for git repo https://github.com/tomhrr/owhois written to /workspace/builds/worker-2/source/Cargo.toml [INFO] crate git repo https://github.com/tomhrr/owhois already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fa4eb1ba0d2275c9b820c47f08cb161cf8fdb519d09b76efd4fcb50d2e4fe2fe [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" "fa4eb1ba0d2275c9b820c47f08cb161cf8fdb519d09b76efd4fcb50d2e4fe2fe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fa4eb1ba0d2275c9b820c47f08cb161cf8fdb519d09b76efd4fcb50d2e4fe2fe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fa4eb1ba0d2275c9b820c47f08cb161cf8fdb519d09b76efd4fcb50d2e4fe2fe", kill_on_drop: false }` [INFO] [stdout] fa4eb1ba0d2275c9b820c47f08cb161cf8fdb519d09b76efd4fcb50d2e4fe2fe [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "build" "--frozen" "--message-format=json", 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] faf00c9ea9f4dda5bf400f76b3f6fa0f577180c7f174091ac705e90fd9b1ea45 [INFO] running `Command { std: "docker" "start" "-a" "faf00c9ea9f4dda5bf400f76b3f6fa0f577180c7f174091ac705e90fd9b1ea45", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.82 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling log v0.4.13 [INFO] [stderr] Compiling serde v1.0.119 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling regex v0.2.11 [INFO] [stderr] Compiling ucd-util v0.1.8 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling lazycell v1.3.0 [INFO] [stderr] Compiling utf8-ranges v1.0.4 [INFO] [stderr] Compiling unicode-width v0.1.8 [INFO] [stderr] Compiling termcolor v1.1.2 [INFO] [stderr] Compiling treebitmap v0.2.3 [INFO] [stderr] Compiling ipnet v1.2.1 [INFO] [stderr] Compiling regex-automata v0.1.9 [INFO] [stderr] Compiling intervaltree v0.2.6 [INFO] [stderr] Compiling thread_local v1.1.0 [INFO] [stderr] Compiling thread_local v0.3.6 [INFO] [stderr] Compiling smallvec v0.6.14 [INFO] [stderr] Compiling csv-core v0.1.10 [INFO] [stderr] Compiling aho-corasick v0.6.10 [INFO] [stderr] Compiling getopts v0.2.21 [INFO] [stderr] Compiling regex-syntax v0.5.6 [INFO] [stderr] Compiling parking_lot_core v0.6.2 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Compiling regex v1.4.3 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling memoffset v0.5.6 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling iovec v0.1.4 [INFO] [stderr] Compiling net2 v0.2.37 [INFO] [stderr] Compiling num_cpus v1.13.0 [INFO] [stderr] Compiling inotify-sys v0.1.5 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling filetime v0.2.13 [INFO] [stderr] Compiling time v0.1.44 [INFO] [stderr] Compiling bytes v0.4.12 [INFO] [stderr] Compiling inotify v0.7.1 [INFO] [stderr] Compiling mio v0.6.23 [INFO] [stderr] Compiling tokio-executor v0.1.10 [INFO] [stderr] Compiling crossbeam-queue v0.2.3 [INFO] [stderr] Compiling tokio-timer v0.2.13 [INFO] [stderr] Compiling tokio-current-thread v0.1.7 [INFO] [stderr] Compiling tokio-io v0.1.13 [INFO] [stderr] Compiling env_logger v0.5.13 [INFO] [stderr] Compiling crossbeam-deque v0.7.3 [INFO] [stderr] Compiling rand v0.3.23 [INFO] [stderr] Compiling tokio-threadpool v0.1.18 [INFO] [stderr] Compiling mio-uds v0.6.8 [INFO] [stderr] Compiling mio-extras v2.0.6 [INFO] [stderr] Compiling tokio-reactor v0.1.12 [INFO] [stderr] Compiling tokio-codec v0.1.2 [INFO] [stderr] Compiling notify v4.0.15 [INFO] [stderr] Compiling tokio-fs v0.1.7 [INFO] [stderr] Compiling tokio-udp v0.1.6 [INFO] [stderr] Compiling tokio-uds v0.2.7 [INFO] [stderr] Compiling tokio-tcp v0.1.4 [INFO] [stderr] Compiling tokio v0.1.22 [INFO] [stderr] Compiling tokio-core v0.1.18 [INFO] [stderr] Compiling bstr v0.2.14 [INFO] [stderr] Compiling csv v1.1.5 [INFO] [stderr] Compiling owhois v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/bin/owhois.rs:27:28 [INFO] [stdout] | [INFO] [stdout] 27 | Err(f) => { panic!(f.to_string()) } [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 27 | Err(f) => { panic!("{}", f.to_string()) } [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 14s [INFO] running `Command { std: "docker" "inspect" "faf00c9ea9f4dda5bf400f76b3f6fa0f577180c7f174091ac705e90fd9b1ea45", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "faf00c9ea9f4dda5bf400f76b3f6fa0f577180c7f174091ac705e90fd9b1ea45", kill_on_drop: false }` [INFO] [stdout] faf00c9ea9f4dda5bf400f76b3f6fa0f577180c7f174091ac705e90fd9b1ea45 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] eefb8fa0a45987361882c71977ac20257779213c052e57b17a6757cd4b4494b4 [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" "eefb8fa0a45987361882c71977ac20257779213c052e57b17a6757cd4b4494b4", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling owhois v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/bin/owhois.rs:27:28 [INFO] [stdout] | [INFO] [stdout] 27 | Err(f) => { panic!(f.to_string()) } [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 27 | Err(f) => { panic!("{}", f.to_string()) } [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/bin/owhois.rs:27:28 [INFO] [stdout] | [INFO] [stdout] 27 | Err(f) => { panic!(f.to_string()) } [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 27 | Err(f) => { panic!("{}", f.to_string()) } [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 13.75s [INFO] running `Command { std: "docker" "inspect" "eefb8fa0a45987361882c71977ac20257779213c052e57b17a6757cd4b4494b4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "eefb8fa0a45987361882c71977ac20257779213c052e57b17a6757cd4b4494b4", kill_on_drop: false }` [INFO] [stdout] eefb8fa0a45987361882c71977ac20257779213c052e57b17a6757cd4b4494b4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 2c12c6bc621088054ca6c704826da63a2f8a1a11facda5df244e36a30daa0a7e [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" "2c12c6bc621088054ca6c704826da63a2f8a1a11facda5df244e36a30daa0a7e", kill_on_drop: false }` [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/bin/owhois.rs:27:28 [INFO] [stderr] | [INFO] [stderr] 27 | Err(f) => { panic!(f.to_string()) } [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stderr] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 27 | Err(f) => { panic!("{}", f.to_string()) } [INFO] [stderr] | +++++ [INFO] [stderr] [INFO] [stderr] warning: `owhois` (bin "owhois" test) generated 1 warning [INFO] [stderr] warning: `owhois` (bin "owhois") generated 1 warning (1 duplicate) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.16s [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/owhois-e695de43a420896d) [INFO] [stdout] running 0 tests [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/owhois-36837d195493d1c6) [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/process_public_data-d785e2277ddb05c1) [INFO] [stdout] [INFO] [stderr] Running tests/test_context.rs (/opt/rustwide/target/debug/deps/test_context-9f96ceef40cbf5da) [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stderr] Running tests/test_data_delegated.rs (/opt/rustwide/target/debug/deps/test_data_delegated-6f2b30d89fe6eaa1) [INFO] [stdout] test test_context::context ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stderr] Running tests/test_data_iana.rs (/opt/rustwide/target/debug/deps/test_data_iana-fae8a2e6a7dd4cb2) [INFO] [stdout] test test_data_delegated::delegated ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stderr] Running tests/test_lookup_asn.rs (/opt/rustwide/target/debug/deps/test_lookup_asn-ec3b7c1b2b0c3adb) [INFO] [stdout] test test_data_iana::iana ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test test_lookup::asn_lookup_empty ... ok [INFO] [stdout] test test_lookup::asn_lookup_multiple ... ok [INFO] [stdout] test test_lookup::asn_lookup_single ... ok [INFO] [stdout] test test_lookup::asn_lookup_parents ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/test_lookup_ipv4.rs (/opt/rustwide/target/debug/deps/test_lookup_ipv4-cd4dffaad0e26b15) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test test_lookup::ipv4_lookup_multiple ... ok [INFO] [stdout] test test_lookup::ipv4_lookup_single ... ok [INFO] [stdout] test test_lookup::ipv4_lookup_bounds ... ok [INFO] [stdout] test test_lookup::ipv4_lookup_empty ... ok [INFO] [stdout] test test_lookup::ipv4_lookup_parents ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/test_lookup_ipv6.rs (/opt/rustwide/target/debug/deps/test_lookup_ipv6-07ee694e56164c89) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test test_lookup::ipv6_lookup_multiple ... ok [INFO] [stdout] test test_lookup::ipv6_lookup_parents ... ok [INFO] [stdout] test test_lookup::ipv6_lookup_empty ... ok [INFO] [stdout] test test_lookup::ipv6_lookup_single ... ok [INFO] [stdout] test test_lookup::ipv6_lookup_bounds ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Doc-tests owhois [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "2c12c6bc621088054ca6c704826da63a2f8a1a11facda5df244e36a30daa0a7e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2c12c6bc621088054ca6c704826da63a2f8a1a11facda5df244e36a30daa0a7e", kill_on_drop: false }` [INFO] [stdout] 2c12c6bc621088054ca6c704826da63a2f8a1a11facda5df244e36a30daa0a7e