[INFO] fetching crate cervisia 0.0.1... [INFO] building cervisia-0.0.1 against master#f3126500f25114ba4e0ac3e76694dd45a22de56d for pr-107620-1 [INFO] extracting crate cervisia 0.0.1 into /workspace/builds/worker-1-tc1/source [INFO] validating manifest of crates.io crate cervisia 0.0.1 on toolchain f3126500f25114ba4e0ac3e76694dd45a22de56d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f3126500f25114ba4e0ac3e76694dd45a22de56d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate cervisia 0.0.1 [INFO] finished tweaking crates.io crate cervisia 0.0.1 [INFO] tweaked toml for crates.io crate cervisia 0.0.1 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" __CARGO_TEST_CHANNEL_OVERRIDE_DO_NOT_USE_THIS="nightly" "/workspace/cargo-home/bin/cargo" "+f3126500f25114ba4e0ac3e76694dd45a22de56d" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f3126500f25114ba4e0ac3e76694dd45a22de56d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded lmdb v0.7.2 [INFO] [stderr] Downloaded closet v0.2.2 [INFO] [stderr] Downloaded suffix-rs v0.1.0 [INFO] [stderr] Downloaded lmdb-sys v0.7.2 [INFO] [stderr] Downloaded rustix-bl v0.3.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:3d532c2baa59a8a48e45c3be7eb049f77ac5a58a7a6514a58a8e878df1c3d03d" "/opt/rustwide/cargo-home/bin/cargo" "+f3126500f25114ba4e0ac3e76694dd45a22de56d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fede92b1c9b66eac15617b2482f3cdb31b1766975ef05756fc2df255198d7caa [INFO] running `Command { std: "docker" "start" "-a" "fede92b1c9b66eac15617b2482f3cdb31b1766975ef05756fc2df255198d7caa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fede92b1c9b66eac15617b2482f3cdb31b1766975ef05756fc2df255198d7caa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fede92b1c9b66eac15617b2482f3cdb31b1766975ef05756fc2df255198d7caa", kill_on_drop: false }` [INFO] [stdout] fede92b1c9b66eac15617b2482f3cdb31b1766975ef05756fc2df255198d7caa [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "RUSTDOCFLAGS=--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:3d532c2baa59a8a48e45c3be7eb049f77ac5a58a7a6514a58a8e878df1c3d03d" "/opt/rustwide/cargo-home/bin/cargo" "+f3126500f25114ba4e0ac3e76694dd45a22de56d" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 08ed232d1e190b3974dd14b42e624f421c7f33e9ba3bc7d7b01e0bfb17cf1404 [INFO] running `Command { std: "docker" "start" "-a" "08ed232d1e190b3974dd14b42e624f421c7f33e9ba3bc7d7b01e0bfb17cf1404", kill_on_drop: false }` [INFO] [stderr] Compiling pkg-config v0.3.26 [INFO] [stderr] Compiling libc v0.2.139 [INFO] [stderr] Compiling bitflags v0.9.1 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling proc-macro2 v1.0.50 [INFO] [stderr] Compiling lazy_static v0.2.11 [INFO] [stderr] Compiling unicode-ident v1.0.6 [INFO] [stderr] Compiling serde v1.0.152 [INFO] [stderr] Compiling quote v1.0.23 [INFO] [stderr] Compiling syn v1.0.107 [INFO] [stderr] Compiling unicode-xid v0.0.4 [INFO] [stderr] Compiling gcc v0.3.51 [INFO] [stderr] Compiling synom v0.11.3 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling quote v0.3.15 [INFO] [stderr] Compiling cairo-rs v0.2.0 [INFO] [stderr] Compiling gio v0.2.0 [INFO] [stderr] Compiling glib-sys v0.4.0 [INFO] [stderr] Compiling gobject-sys v0.4.0 [INFO] [stderr] Compiling gio-sys v0.4.0 [INFO] [stderr] Compiling cairo-sys-rs v0.4.0 [INFO] [stderr] Compiling gdk-pixbuf-sys v0.4.0 [INFO] [stderr] Compiling pango-sys v0.4.0 [INFO] [stderr] Compiling gdk-sys v0.4.0 [INFO] [stderr] Compiling atk-sys v0.4.0 [INFO] [stderr] Compiling lmdb-sys v0.7.2 [INFO] [stderr] Compiling gtk-sys v0.4.0 [INFO] [stderr] Compiling gdk-pixbuf v0.2.0 [INFO] [stderr] Compiling serde_json v1.0.91 [INFO] [stderr] Compiling serde_derive v1.0.152 [INFO] [stderr] Compiling glib v0.3.1 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling syn v0.11.11 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling c_vec v1.2.1 [INFO] [stderr] Compiling ryu v1.0.12 [INFO] [stderr] Compiling itoa v1.0.5 [INFO] [stderr] Compiling gdk v0.6.0 [INFO] [stderr] Compiling derive_builder v0.5.1 [INFO] [stderr] Compiling pango v0.2.0 [INFO] [stderr] Compiling derive_builder_core v0.2.0 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling remove_dir_all v0.5.3 [INFO] [stderr] Compiling gtk v0.2.0 [INFO] [stderr] Compiling bincode v0.8.0 [INFO] [stderr] Compiling tempdir v0.3.7 [INFO] [stderr] Compiling lmdb v0.7.2 [INFO] [stderr] Compiling rand v0.3.23 [INFO] [stderr] Compiling time v0.1.45 [INFO] [stderr] Compiling iana-time-zone v0.1.53 [INFO] [stderr] Compiling custom_derive v0.1.7 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling chrono v0.4.23 [INFO] [stderr] Compiling closet v0.2.2 [INFO] [stderr] Compiling suffix-rs v0.1.0 [INFO] [stderr] Compiling rustix-bl v0.3.4 [INFO] [stderr] Compiling cervisia v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/static_variables.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | / lazy_static! { [INFO] [stdout] 17 | | pub static ref GLOBAL_BACKEND: [INFO] [stdout] 18 | | Mutex> = [INFO] [stdout] 19 | | Mutex::new(build_transient_backend_with( [INFO] [stdout] ... | [INFO] [stdout] 32 | | pub static ref ITEMS_ON_SCREEN : Mutex> = Mutex::new(Vec::new()); [INFO] [stdout] 33 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/static_variables.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | / lazy_static! { [INFO] [stdout] 17 | | pub static ref GLOBAL_BACKEND: [INFO] [stdout] 18 | | Mutex> = [INFO] [stdout] 19 | | Mutex::new(build_transient_backend_with( [INFO] [stdout] ... | [INFO] [stdout] 32 | | pub static ref ITEMS_ON_SCREEN : Mutex> = Mutex::new(Vec::new()); [INFO] [stdout] 33 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/static_variables.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | / lazy_static! { [INFO] [stdout] 17 | | pub static ref GLOBAL_BACKEND: [INFO] [stdout] 18 | | Mutex> = [INFO] [stdout] 19 | | Mutex::new(build_transient_backend_with( [INFO] [stdout] ... | [INFO] [stdout] 32 | | pub static ref ITEMS_ON_SCREEN : Mutex> = Mutex::new(Vec::new()); [INFO] [stdout] 33 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/static_variables.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | / lazy_static! { [INFO] [stdout] 17 | | pub static ref GLOBAL_BACKEND: [INFO] [stdout] 18 | | Mutex> = [INFO] [stdout] 19 | | Mutex::new(build_transient_backend_with( [INFO] [stdout] ... | [INFO] [stdout] 32 | | pub static ref ITEMS_ON_SCREEN : Mutex> = Mutex::new(Vec::new()); [INFO] [stdout] 33 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/static_variables.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | / lazy_static! { [INFO] [stdout] 17 | | pub static ref GLOBAL_BACKEND: [INFO] [stdout] 18 | | Mutex> = [INFO] [stdout] 19 | | Mutex::new(build_transient_backend_with( [INFO] [stdout] ... | [INFO] [stdout] 32 | | pub static ref ITEMS_ON_SCREEN : Mutex> = Mutex::new(Vec::new()); [INFO] [stdout] 33 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/static_variables.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | / lazy_static! { [INFO] [stdout] 17 | | pub static ref GLOBAL_BACKEND: [INFO] [stdout] 18 | | Mutex> = [INFO] [stdout] 19 | | Mutex::new(build_transient_backend_with( [INFO] [stdout] ... | [INFO] [stdout] 32 | | pub static ref ITEMS_ON_SCREEN : Mutex> = Mutex::new(Vec::new()); [INFO] [stdout] 33 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 09s [INFO] running `Command { std: "docker" "inspect" "08ed232d1e190b3974dd14b42e624f421c7f33e9ba3bc7d7b01e0bfb17cf1404", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "08ed232d1e190b3974dd14b42e624f421c7f33e9ba3bc7d7b01e0bfb17cf1404", kill_on_drop: false }` [INFO] [stdout] 08ed232d1e190b3974dd14b42e624f421c7f33e9ba3bc7d7b01e0bfb17cf1404 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "RUSTDOCFLAGS=--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:3d532c2baa59a8a48e45c3be7eb049f77ac5a58a7a6514a58a8e878df1c3d03d" "/opt/rustwide/cargo-home/bin/cargo" "+f3126500f25114ba4e0ac3e76694dd45a22de56d" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ada380515b6169485da8aa84ece056864056ac668bb956f3c701b1b3ee2af817 [INFO] running `Command { std: "docker" "start" "-a" "ada380515b6169485da8aa84ece056864056ac668bb956f3c701b1b3ee2af817", kill_on_drop: false }` [INFO] [stderr] Compiling cervisia v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/static_variables.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | / lazy_static! { [INFO] [stdout] 17 | | pub static ref GLOBAL_BACKEND: [INFO] [stdout] 18 | | Mutex> = [INFO] [stdout] 19 | | Mutex::new(build_transient_backend_with( [INFO] [stdout] ... | [INFO] [stdout] 32 | | pub static ref ITEMS_ON_SCREEN : Mutex> = Mutex::new(Vec::new()); [INFO] [stdout] 33 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/static_variables.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | / lazy_static! { [INFO] [stdout] 17 | | pub static ref GLOBAL_BACKEND: [INFO] [stdout] 18 | | Mutex> = [INFO] [stdout] 19 | | Mutex::new(build_transient_backend_with( [INFO] [stdout] ... | [INFO] [stdout] 32 | | pub static ref ITEMS_ON_SCREEN : Mutex> = Mutex::new(Vec::new()); [INFO] [stdout] 33 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/static_variables.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | / lazy_static! { [INFO] [stdout] 17 | | pub static ref GLOBAL_BACKEND: [INFO] [stdout] 18 | | Mutex> = [INFO] [stdout] 19 | | Mutex::new(build_transient_backend_with( [INFO] [stdout] ... | [INFO] [stdout] 32 | | pub static ref ITEMS_ON_SCREEN : Mutex> = Mutex::new(Vec::new()); [INFO] [stdout] 33 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/static_variables.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | / lazy_static! { [INFO] [stdout] 17 | | pub static ref GLOBAL_BACKEND: [INFO] [stdout] 18 | | Mutex> = [INFO] [stdout] 19 | | Mutex::new(build_transient_backend_with( [INFO] [stdout] ... | [INFO] [stdout] 32 | | pub static ref ITEMS_ON_SCREEN : Mutex> = Mutex::new(Vec::new()); [INFO] [stdout] 33 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/static_variables.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | / lazy_static! { [INFO] [stdout] 17 | | pub static ref GLOBAL_BACKEND: [INFO] [stdout] 18 | | Mutex> = [INFO] [stdout] 19 | | Mutex::new(build_transient_backend_with( [INFO] [stdout] ... | [INFO] [stdout] 32 | | pub static ref ITEMS_ON_SCREEN : Mutex> = Mutex::new(Vec::new()); [INFO] [stdout] 33 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/static_variables.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | / lazy_static! { [INFO] [stdout] 17 | | pub static ref GLOBAL_BACKEND: [INFO] [stdout] 18 | | Mutex> = [INFO] [stdout] 19 | | Mutex::new(build_transient_backend_with( [INFO] [stdout] ... | [INFO] [stdout] 32 | | pub static ref ITEMS_ON_SCREEN : Mutex> = Mutex::new(Vec::new()); [INFO] [stdout] 33 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.68s [INFO] running `Command { std: "docker" "inspect" "ada380515b6169485da8aa84ece056864056ac668bb956f3c701b1b3ee2af817", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ada380515b6169485da8aa84ece056864056ac668bb956f3c701b1b3ee2af817", kill_on_drop: false }` [INFO] [stdout] ada380515b6169485da8aa84ece056864056ac668bb956f3c701b1b3ee2af817