[INFO] cloning repository https://github.com/Colin1860/rustytorch [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Colin1860/rustytorch" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FColin1860%2Frustytorch", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FColin1860%2Frustytorch'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2a2aff01c8216a9ee8a64faf1986dd0618de1aa5 [INFO] testing Colin1860/rustytorch against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FColin1860%2Frustytorch" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Colin1860/rustytorch [INFO] finished tweaking git repo https://github.com/Colin1860/rustytorch [INFO] tweaked toml for git repo https://github.com/Colin1860/rustytorch written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Colin1860/rustytorch on toolchain 1.99.0-beta.8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Colin1860/rustytorch already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded zerovec-derive v0.11.5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 814da4e14919a58fec6b5423143651575d174597183e55ed097a2f03a227925b [INFO] running `Command { std: "docker" "start" "814da4e14919a58fec6b5423143651575d174597183e55ed097a2f03a227925b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "814da4e14919a58fec6b5423143651575d174597183e55ed097a2f03a227925b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "814da4e14919a58fec6b5423143651575d174597183e55ed097a2f03a227925b" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "814da4e14919a58fec6b5423143651575d174597183e55ed097a2f03a227925b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "814da4e14919a58fec6b5423143651575d174597183e55ed097a2f03a227925b" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling libc v0.2.186 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling zerocopy v0.8.54 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling libm v0.2.16 [INFO] [stderr] Compiling autocfg v1.5.1 [INFO] [stderr] Compiling serde_core v1.0.229 [INFO] [stderr] Compiling zmij v1.0.23 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling serde_json v1.0.151 [INFO] [stderr] Compiling serde v1.0.229 [INFO] [stderr] Compiling eyre v0.6.12 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling indenter v0.3.4 [INFO] [stderr] Compiling memchr v2.8.3 [INFO] [stderr] Compiling itoa v1.0.18 [INFO] [stderr] Compiling syn v3.0.3 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling serde_derive v1.0.229 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand v0.9.5 [INFO] [stderr] Compiling rand_distr v0.5.1 [INFO] [stderr] Compiling rustytorch v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 46.55s [INFO] running `Command { std: "docker" "inspect" "814da4e14919a58fec6b5423143651575d174597183e55ed097a2f03a227925b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "814da4e14919a58fec6b5423143651575d174597183e55ed097a2f03a227925b" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling syn v3.0.3 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling shlex v2.0.1 [INFO] [stderr] Compiling writeable v0.6.4 [INFO] [stderr] Compiling find-msvc-tools v0.1.11 [INFO] [stderr] Compiling litemap v0.8.3 [INFO] [stderr] Compiling icu_properties_data v2.3.0 [INFO] [stderr] Compiling icu_normalizer_data v2.3.0 [INFO] [stderr] Compiling utf8_iter v1.0.4 [INFO] [stderr] Compiling zeroize v1.9.0 [INFO] [stderr] Compiling cc v1.4.3 [INFO] [stderr] Compiling smallvec v1.15.2 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling rustls-pki-types v1.15.1 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling adler2 v2.0.1 [INFO] [stderr] Compiling rustls v0.23.43 [INFO] [stderr] Compiling simd-adler32 v0.3.10 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling log v0.4.33 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling webpki-roots v1.0.9 [INFO] [stderr] Compiling webpki-roots v0.26.11 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling zerovec-derive v0.11.5 [INFO] [stderr] Compiling displaydoc v0.2.7 [INFO] [stderr] Compiling serde_derive v1.0.229 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling zerofrom-derive v0.1.7 [INFO] [stderr] Compiling yoke-derive v0.8.2 [INFO] [stderr] Compiling zerofrom v0.1.8 [INFO] [stderr] Compiling yoke v0.8.3 [INFO] [stderr] Compiling zerovec v0.11.8 [INFO] [stderr] Compiling zerotrie v0.2.5 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling tinystr v0.8.4 [INFO] [stderr] Compiling potential_utf v0.1.6 [INFO] [stderr] Compiling icu_collections v2.3.0 [INFO] [stderr] Compiling icu_locale_core v2.3.0 [INFO] [stderr] Compiling serde v1.0.229 [INFO] [stderr] Compiling rustytorch v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling icu_provider v2.3.0 [INFO] [stderr] Compiling icu_properties v2.3.0 [INFO] [stderr] Compiling icu_normalizer v2.3.0 [INFO] [stderr] Compiling idna_adapter v1.2.2 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling rustls-webpki v0.103.14 [INFO] [stderr] Compiling ureq v2.12.1 [INFO] [stderr] Finished `release` profile [optimized] target(s) in 1m 58s [INFO] running `Command { std: "docker" "inspect" "814da4e14919a58fec6b5423143651575d174597183e55ed097a2f03a227925b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "814da4e14919a58fec6b5423143651575d174597183e55ed097a2f03a227925b" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.13s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/deps/rustytorch-7c72368c3a91a183) [INFO] [stdout] [INFO] [stdout] running 303 tests [INFO] [stdout] test activation::tests::test_activation_enum_softmax ... ok [INFO] [stdout] test activation::tests::test_gelu_preserves_shape ... ok [INFO] [stdout] test activation::tests::test_gelu_small_negative ... ok [INFO] [stdout] test activation::tests::test_activation_enum_relu ... ok [INFO] [stdout] test activation::tests::test_gelu_smooth_around_zero ... ok [INFO] [stdout] test activation::tests::test_activation_enum_sigmoid ... ok [INFO] [stdout] test activation::tests::test_all_activations_preserve_shape ... ok [INFO] [stdout] test activation::tests::test_gelu_positive_value ... ok [INFO] [stdout] test activation::tests::test_gelu_zero ... ok [INFO] [stdout] test activation::tests::test_sigmoid_known_value ... ok [INFO] [stdout] test activation::tests::test_relu_preserves_shape ... ok [INFO] [stdout] test activation::tests::test_sigmoid_preserves_shape ... ok [INFO] [stdout] test activation::tests::test_relu_mixed ... ok [INFO] [stdout] test activation::tests::test_relu_preserves_positives ... ok [INFO] [stdout] test activation::tests::test_relu_zero_stays_zero ... ok [INFO] [stdout] test activation::tests::test_sigmoid_range ... ok [INFO] [stdout] test activation::tests::test_sigmoid_zero ... ok [INFO] [stdout] test activation::tests::test_softmax_2d_rows_sum_to_one ... ok [INFO] [stdout] test activation::tests::test_softmax_dim0_cols_sum_to_one ... ok [INFO] [stdout] test activation::tests::test_softmax_largest_input_largest_output ... ok [INFO] [stdout] test activation::tests::test_relu_then_softmax_chain ... ok [INFO] [stdout] test activation::tests::test_softmax_numerical_stability ... ok [INFO] [stdout] test activation::tests::test_softmax_negative_dim_matches_positive ... ok [INFO] [stdout] test activation::tests::test_relu_zeros_negatives ... ok [INFO] [stdout] test activation::tests::test_sigmoid_extreme_values ... ok [INFO] [stdout] test activation::tests::test_softmax_all_in_zero_one ... ok [INFO] [stdout] test activation::tests::test_softmax_axis_out_of_bounds ... ok [INFO] [stdout] test activation::tests::test_softmax_negative_axis_out_of_bounds ... ok [INFO] [stdout] test activation::tests::test_softmax_sums_to_one_1d ... ok [INFO] [stdout] test activation::tests::test_tanh_range ... ok [INFO] [stdout] test dataloader::tensor::tests::test_get_batch_unchecked_non_contiguous_indices ... ok [INFO] [stdout] test dataloader::tensor::tests::test_get_unchecked_correct_values ... ok [INFO] [stdout] test dataloader::tensor::tests::test_get_unchecked_feature_shape ... ok [INFO] [stdout] test dataloader::tensor::tests::test_get_batch_unchecked_shapes ... ok [INFO] [stdout] test activation::tests::test_tanh_extreme_values ... ok [INFO] [stdout] test activation::tests::test_tanh_preserves_shape ... ok [INFO] [stdout] test activation::tests::test_tanh_symmetry ... ok [INFO] [stdout] test activation::tests::test_tanh_zero ... ok [INFO] [stdout] test dataloader::tensor::tests::test_get_batch_unchecked_single_index ... ok [INFO] [stdout] test dataloader::tests::test_batch_count_exact ... ok [INFO] [stdout] test dataloader::tests::test_batch_shapes ... ok [INFO] [stdout] test dataloader::tests::test_all_samples_covered_no_shuffle ... ok [INFO] [stdout] test dataloader::tests::test_batch_size_equals_dataset ... ok [INFO] [stdout] test dataloader::tests::test_batch_size_one ... ok [INFO] [stdout] test dataloader::tests::test_partial_last_batch ... ok [INFO] [stdout] test layer::tests::test_dropout_accepts_boundary_values ... ok [INFO] [stdout] test layer::tests::test_dropout_full_drop ... ok [INFO] [stdout] test dataloader::tests::test_shuffle_covers_all_samples ... ok [INFO] [stdout] test dataloader::tensor::tests::test_len ... ok [INFO] [stdout] test layer::tests::test_dropout_survival_rate ... ok [INFO] [stdout] test layer::tests::test_dropout_surviving_values_scaled ... ok [INFO] [stdout] test layer::tests::test_dropout_inference_passthrough ... ok [INFO] [stdout] test layer::tests::test_dropout_preserves_shape ... ok [INFO] [stdout] test layer::tests::test_dropout_no_parameters ... ok [INFO] [stdout] test layer::tests::test_dropout_rejects_negative_p ... ok [INFO] [stdout] test layer::tests::test_linear_bias_zeros ... ok [INFO] [stdout] test dataloader::tensor::tests::test_try_new_rejects_mismatched_lengths ... ok [INFO] [stdout] test layer::tests::test_linear_forward_context_ignored ... ok [INFO] [stdout] test layer::tests::test_linear_forward_no_bias_shape ... ok [INFO] [stdout] test layer::tests::test_linear_bias_shape ... ok [INFO] [stdout] test layer::tests::test_linear_forward_shape ... ok [INFO] [stdout] test layer::tests::test_linear_no_bias ... ok [INFO] [stdout] test layer::tests::test_linear_parameters_mut_no_bias ... ok [INFO] [stdout] test layer::tests::test_linear_parameters_mut_writes_are_visible_on_the_real_layer ... ok [INFO] [stdout] test layer::tests::test_linear_parameters_no_bias ... ok [INFO] [stdout] test layer::tests::test_linear_parameters_mut_order_matches_parameters ... ok [INFO] [stdout] test layer::tests::test_linear_parameters_mut_with_bias ... ok [INFO] [stdout] test layer::tests::test_linear_forward_known_values ... ok [INFO] [stdout] test loss::tests::test_bce_accuracy_boundary_at_0_5_counts_as_positive ... ok [INFO] [stdout] test loss::tests::test_bce_accuracy_all_wrong ... ok [INFO] [stdout] test layer::tests::test_dropout_rejects_p_above_one ... ok [INFO] [stdout] test loss::tests::test_bce_accuracy_all_correct ... ok [INFO] [stdout] test layer::tests::test_linear_weight_shape ... ok [INFO] [stdout] test loss::tests::test_bce_perfect_predictions_low_loss ... ok [INFO] [stdout] test loss::tests::test_bce_numerical_stability_at_boundaries ... ok [INFO] [stdout] test loss::tests::test_bce_rejects_2d ... ok [INFO] [stdout] test loss::tests::test_bce_accuracy_mixed ... ok [INFO] [stdout] test loss::tests::test_bce_backward_matches_closed_form ... ok [INFO] [stdout] test loss::tests::test_bce_worst_predictions_high_loss ... ok [INFO] [stdout] test loss::tests::test_bce_uniform_predictions ... ok [INFO] [stdout] test loss::tests::test_ce_accuracy_all_correct ... ok [INFO] [stdout] test loss::tests::test_bce_non_negative ... ok [INFO] [stdout] test loss::tests::test_ce_accuracy_all_wrong ... ok [INFO] [stdout] test loss::tests::test_bce_rejects_shape_mismatch ... ok [INFO] [stdout] test layer::tests::test_linear_parameters_with_bias ... ok [INFO] [stdout] test loss::tests::test_ce_accuracy_mixed ... ok [INFO] [stdout] test loss::tests::test_ce_confident_wrong_high_loss ... ok [INFO] [stdout] test loss::tests::test_ce_rejects_non_2d ... ok [INFO] [stdout] test loss::tests::test_ce_numerical_stability ... ok [INFO] [stdout] test loss::tests::test_ce_rejects_mismatched_batch ... ok [INFO] [stdout] test loss::tests::test_ce_non_negative ... ok [INFO] [stdout] test loss::tests::test_ce_uniform_loss_equals_log_classes ... ok [INFO] [stdout] test loss::tests::test_ce_confident_correct_low_loss ... ok [INFO] [stdout] test loss::tests::test_mse_non_negative ... ok [INFO] [stdout] test loss::tests::test_cross_entropy_backward_matches_closed_form ... ok [INFO] [stdout] test loss::tests::test_mse_perfect_predictions ... ok [INFO] [stdout] test loss::tests::test_mse_2d ... ok [INFO] [stdout] test optimizer::tests::test_adam_skips_params_without_grad ... ok [INFO] [stdout] test optimizer::tests::test_adam_weight_decay_is_coupled_into_the_gradient ... ok [INFO] [stdout] test loss::tests::test_mse_backward_matches_closed_form ... ok [INFO] [stdout] test loss::tests::test_mse_known_value ... ok [INFO] [stdout] test loss::tests::test_mse_metric_is_always_none ... ok [INFO] [stdout] test optimizer::tests::test_sgd_basic_step_no_momentum_no_decay ... ok [INFO] [stdout] test optimizer::tests::test_sgd_momentum_and_weight_decay_compose ... ok [INFO] [stdout] test layer::tests::test_linear_weight_scale ... ok [INFO] [stdout] test optimizer::tests::test_sgd_skips_params_without_grad ... ok [INFO] [stdout] test optimizer::tests::test_adamw_weight_decay_is_decoupled_from_the_gradient ... ok [INFO] [stdout] test optimizer::tests::test_sgd_weight_decay ... ok [INFO] [stdout] test optimizer::tests::test_update_moments_second_call_accumulates ... ok [INFO] [stdout] test tensor::backward::tests::test_add_backward_broadcast_column_vector ... ok [INFO] [stdout] test tensor::backward::tests::test_add_backward_broadcast_row_vector ... ok [INFO] [stdout] test tensor::backward::tests::test_add_backward_no_broadcast ... ok [INFO] [stdout] test tensor::backward::tests::test_add_backward_returns_saved_inputs ... ok [INFO] [stdout] test loss::tests::test_mse_symmetric ... ok [INFO] [stdout] test tensor::backward::tests::test_clamp_backward_all_in_range ... ok [INFO] [stdout] test optimizer::tests::test_adam_constant_gradient_moves_by_roughly_lr_each_step ... ok [INFO] [stdout] test optimizer::tests::test_adam_moment_buffers_init_lazily_per_param_on_first_use ... ok [INFO] [stdout] test optimizer::tests::test_adamw_matches_adam_when_weight_decay_is_zero ... ok [INFO] [stdout] test tensor::backward::tests::test_div_backward_broadcast ... ok [INFO] [stdout] test tensor::backward::tests::test_div_backward_no_broadcast ... ok [INFO] [stdout] test tensor::backward::tests::test_cross_entropy_backward_matches_closed_form ... ok [INFO] [stdout] test optimizer::tests::test_sgd_momentum_accumulates_across_steps ... ok [INFO] [stdout] test tensor::backward::tests::test_clamp_backward_boundary_values_pass_through ... ok [INFO] [stdout] test optimizer::tests::test_sgd_momentum_buffers_are_positional ... ok [INFO] [stdout] test tensor::backward::tests::test_clamp_backward_zeroes_out_of_range ... ok [INFO] [stdout] test optimizer::tests::test_update_moments_first_call ... ok [INFO] [stdout] test tensor::backward::tests::test_matmul_backward_2d ... ok [INFO] [stdout] test tensor::backward::tests::test_mean_backward_axis_keepdims_false ... ok [INFO] [stdout] test tensor::backward::tests::test_mean_backward_axis_none ... ok [INFO] [stdout] test tensor::backward::tests::test_matmul_backward_batch_broadcast ... ok [INFO] [stdout] test tensor::backward::tests::test_mean_backward_axis_keepdims_true ... ok [INFO] [stdout] test tensor::backward::tests::test_exp_backward_uses_saved_output ... ok [INFO] [stdout] test tensor::backward::tests::test_gelu_backward_matches_closed_form ... ok [INFO] [stdout] test tensor::backward::tests::test_log_backward ... ok [INFO] [stdout] test tensor::backward::tests::test_mul_backward_broadcast ... ok [INFO] [stdout] test tensor::backward::tests::test_mul_backward_no_broadcast ... ok [INFO] [stdout] test tensor::backward::tests::test_relu_backward_masks_negatives ... ok [INFO] [stdout] test tensor::backward::tests::test_relu_backward_zero_is_excluded_not_included ... ok [INFO] [stdout] test tensor::backward::tests::test_one_hot_encode ... ok [INFO] [stdout] test tensor::backward::tests::test_softmax_backward_matches_closed_form ... ok [INFO] [stdout] test tensor::backward::tests::test_sub_backward_no_broadcast ... ok [INFO] [stdout] test tensor::backward::tests::test_sub_backward_broadcast ... ok [INFO] [stdout] test tensor::backward::tests::test_sum_backward_axis_keepdims_false ... ok [INFO] [stdout] test tensor::backward::tests::test_slice_backward_idx0_gets_nonzero_gradient ... ok [INFO] [stdout] test tensor::backward::tests::test_reshape_backward_restores_original_shape ... ok [INFO] [stdout] test tensor::backward::tests::test_sum_backward_axis_keepdims_true ... ok [INFO] [stdout] test tensor::backward::tests::test_reshape_backward_restores_3d_shape ... ok [INFO] [stdout] test tensor::backward::tests::test_transpose_backward_non_adjacent_axes_3d ... ok [INFO] [stdout] test tensor::tests::test_2d_valid ... ok [INFO] [stdout] test tensor::tests::test_3d_valid ... ok [INFO] [stdout] test tensor::backward::tests::test_slice_backward_idx1_places_grad_in_row1_with_real_values ... ok [INFO] [stdout] test tensor::backward::tests::test_transpose_backward_2d_values ... ok [INFO] [stdout] test tensor::tests::test_1d_valid ... ok [INFO] [stdout] test tensor::tests::test_add_broadcast_3d ... ok [INFO] [stdout] test tensor::backward::tests::test_sum_backward_axis_none ... ok [INFO] [stdout] test tensor::tests::test_add_broadcast_column_vector ... ok [INFO] [stdout] test tensor::tests::test_add_broadcast_row_vector ... ok [INFO] [stdout] test tensor::tests::test_add_completely_incompatible ... ok [INFO] [stdout] test tensor::backward::tests::test_one_hot_encode_row_sums_to_one ... ok [INFO] [stdout] test tensor::tests::test_add_grad_fn_computes_correct_gradients ... ok [INFO] [stdout] test tensor::tests::test_add_incompatible_shapes ... ok [INFO] [stdout] test tensor::tests::test_add_rhs_requires_grad_tracks ... ok [INFO] [stdout] test tensor::tests::test_add_lhs_requires_grad_tracks ... ok [INFO] [stdout] test tensor::tests::test_add_neither_requires_grad_no_tracking ... ok [INFO] [stdout] test tensor::tests::test_argmax_axis_out_of_bounds ... ok [INFO] [stdout] test tensor::tests::test_add_owned_and_ref_combinations_agree ... ok [INFO] [stdout] test tensor::tests::test_argmax_keepdims ... ok [INFO] [stdout] test tensor::tests::test_add_result_values_unaffected_by_grad_tracking ... ok [INFO] [stdout] test tensor::tests::test_add_scalar ... ok [INFO] [stdout] test tensor::tests::test_argmax_ties_break_to_first_occurrence ... ok [INFO] [stdout] test tensor::tests::test_argmax_matches_max_value_at_returned_index ... ok [INFO] [stdout] test tensor::tests::test_argmax_output_does_not_require_grad ... ok [INFO] [stdout] test tensor::tests::test_argmax_ties_break_to_first_occurrence_per_axis ... ok [INFO] [stdout] test tensor::tests::test_add_same_shape ... ok [INFO] [stdout] test tensor::tests::test_backward_on_pre_built_graph_still_works_inside_no_grad ... ok [INFO] [stdout] test tensor::tests::test_argmax_all ... ok [INFO] [stdout] test tensor::tests::test_backward_shape_mismatch_errors ... ok [INFO] [stdout] test tensor::tests::test_backward_accumulates_shared_tensor ... ok [INFO] [stdout] test tensor::tests::test_backward_noop_when_not_requires_grad ... ok [INFO] [stdout] test tensor::tests::test_backward_through_get ... ok [INFO] [stdout] test tensor::tests::test_backward_broadcast_bias ... ok [INFO] [stdout] test tensor::tests::test_backward_through_get_noop_when_not_requires_grad ... ok [INFO] [stdout] test tensor::tests::test_backward_through_relu ... ok [INFO] [stdout] test tensor::tests::test_argmax_axis0 ... ok [INFO] [stdout] test tensor::tests::test_data_mut_does_not_mutate_other_clones_sharing_the_buffer ... ok [INFO] [stdout] test tensor::tests::test_backward_simple_add ... ok [INFO] [stdout] test tensor::tests::test_argmax_axis1 ... ok [INFO] [stdout] test tensor::tests::test_data_mut_mutates_in_place_when_sole_owner ... ok [INFO] [stdout] test tensor::tests::test_backward_through_gelu ... ok [INFO] [stdout] test tensor::tests::test_data_mut_writes_all_elements ... ok [INFO] [stdout] test tensor::tests::test_empty_shape_rejected ... ok [INFO] [stdout] test tensor::tests::test_get_1d_returns_shape_1 ... ok [INFO] [stdout] test tensor::tests::test_backward_through_softmax ... ok [INFO] [stdout] test tensor::tests::test_div_scalar ... ok [INFO] [stdout] test tensor::tests::test_get_2d_first_row ... ok [INFO] [stdout] test tensor::tests::test_get_1d_via_sliced_tensor ... ok [INFO] [stdout] test tensor::tests::test_get_2d_second_row ... ok [INFO] [stdout] test tensor::tests::test_get_3d_reduces_rank ... ok [INFO] [stdout] test tensor::tests::test_get_out_of_bounds ... ok [INFO] [stdout] test tensor::tests::test_get_zero_copy_for_nd ... ok [INFO] [stdout] test tensor::tests::test_grad_tracking_resumes_after_guard_drops ... ok [INFO] [stdout] test tensor::tests::test_matmul_2d_non_square ... ok [INFO] [stdout] test tensor::tests::test_matmul_batched_broadcast ... ok [INFO] [stdout] test tensor::tests::test_matmul_inner_dim_mismatch ... ok [INFO] [stdout] test tensor::tests::test_matmul_2d_square ... ok [INFO] [stdout] test tensor::tests::test_matmul_batched ... ok [INFO] [stdout] test tensor::tests::test_matmul_requires_2d ... ok [INFO] [stdout] test tensor::tests::test_max_all ... ok [INFO] [stdout] test tensor::tests::test_max_axis1 ... ok [INFO] [stdout] test tensor::tests::test_max_axis0 ... ok [INFO] [stdout] test tensor::tests::test_data_preserved ... ok [INFO] [stdout] test tensor::tests::test_div_broadcast_row_vector ... ok [INFO] [stdout] test tensor::tests::test_div_incompatible_shapes ... ok [INFO] [stdout] test tensor::tests::test_div_same_shape ... ok [INFO] [stdout] test tensor::tests::test_mean_all ... ok [INFO] [stdout] test tensor::tests::test_mean_axis0 ... ok [INFO] [stdout] test tensor::tests::test_mean_keepdims ... ok [INFO] [stdout] test tensor::tests::test_mean_axis1 ... ok [INFO] [stdout] test tensor::tests::test_mean_axis_out_of_bounds ... ok [INFO] [stdout] test tensor::tests::test_misaligned_data_too_long ... ok [INFO] [stdout] test tensor::tests::test_misaligned_data_too_short ... ok [INFO] [stdout] test tensor::tests::test_mul_scalar ... ok [INFO] [stdout] test tensor::tests::test_nested_no_grad_scopes_restore_correctly ... ok [INFO] [stdout] test tensor::tests::test_no_grad_suppresses_grad_fn_construction ... ok [INFO] [stdout] test tensor::tests::test_reshape_1d_to_2d ... ok [INFO] [stdout] test tensor::tests::test_max_axis_out_of_bounds ... ok [INFO] [stdout] test tensor::tests::test_reshape_2d_to_1d ... ok [INFO] [stdout] test tensor::tests::test_reshape_2d_to_2d ... ok [INFO] [stdout] test tensor::tests::test_reshape_shares_buffer ... ok [INFO] [stdout] test tensor::tests::test_reshape_size_mismatch ... ok [INFO] [stdout] test tensor::tests::test_mul_incompatible_shapes ... ok [INFO] [stdout] test tensor::tests::test_mul_same_shape ... ok [INFO] [stdout] test tensor::tests::test_stack_2d ... ok [INFO] [stdout] test tensor::tests::test_reshape_to_3d ... ok [INFO] [stdout] test tensor::tests::test_single_element ... ok [INFO] [stdout] test tensor::tests::test_stack_rejects_empty ... ok [INFO] [stdout] test tensor::tests::test_stack_1d ... ok [INFO] [stdout] test tensor::tests::test_stack_transposed ... ok [INFO] [stdout] test tensor::tests::test_sub_broadcast_row_vector ... ok [INFO] [stdout] test tensor::tests::test_stack_single ... ok [INFO] [stdout] test tensor::tests::test_sub_incompatible_shapes ... ok [INFO] [stdout] test tensor::tests::test_sub_same_shape ... ok [INFO] [stdout] test tensor::tests::test_sub_scalar ... ok [INFO] [stdout] test tensor::tests::test_sum_axis1 ... ok [INFO] [stdout] test tensor::tests::test_matmul_transposed_rhs ... ok [INFO] [stdout] test tensor::tests::test_sum_axis2_3d ... ok [INFO] [stdout] test tensor::tests::test_max_keepdims ... ok [INFO] [stdout] test tensor::tests::test_sum_axis0 ... ok [INFO] [stdout] test tensor::tests::test_sum_all ... ok [INFO] [stdout] test tensor::tests::test_sum_axis_out_of_bounds ... ok [INFO] [stdout] test tensor::tests::test_sum_keepdims ... ok [INFO] [stdout] test tensor::tests::test_stack_rejects_shape_mismatch ... ok [INFO] [stdout] test tensor::tests::test_sub_broadcast_column_vector ... ok [INFO] [stdout] test tensor::tests::test_sub_mul_div_owned_combinations ... ok [INFO] [stdout] test tensor::tests::test_transpose_3d_axes_0_2 ... ok [INFO] [stdout] test tensor::tests::test_transpose_out_of_bounds ... ok [INFO] [stdout] test tensor::tests::test_sum_keepdims_axis0 ... ok [INFO] [stdout] test tensor::tests::test_sum_single_element ... ok [INFO] [stdout] test tensor::tests::test_transpose_3d_axes_0_1 ... ok [INFO] [stdout] test tensor::tests::test_transpose_same_axis_is_noop ... ok [INFO] [stdout] test tensor::tests::test_transpose_2d ... ok [INFO] [stdout] test tensor::tests::test_unbroadcast_3d_middle_axis ... ok [INFO] [stdout] test tensor::tests::test_unbroadcast_collapses_singleton_dim ... ok [INFO] [stdout] test tensor::tests::test_unbroadcast_drops_leading_dim ... ok [INFO] [stdout] test tensor::tests::test_transpose_shares_buffer ... ok [INFO] [stdout] test tensor::tests::test_unbroadcast_multiple_leading_dims ... ok [INFO] [stdout] test tensor::tests::test_unbroadcast_multiple_singleton_dims_same_call ... ok [INFO] [stdout] test tensor::tests::test_unbroadcast_noop_same_shape ... ok [INFO] [stdout] test tensor::tests::test_zero_grad_on_tensor_with_no_gradient_yet_is_a_noop ... ok [INFO] [stdout] test tests::it_works ... ok [INFO] [stdout] test training::tests::test_clip_grad_norm_is_global_across_multiple_params ... ok [INFO] [stdout] test tensor::tests::test_zero_grad_resets_accumulated_gradient ... ok [INFO] [stdout] test training::tests::test_clip_grad_norm_exactly_at_max_is_not_clipped ... ok [INFO] [stdout] test training::tests::test_clip_grad_norm_scales_down_when_over_max ... ok [INFO] [stdout] test training::tests::test_cosine_schedule_is_monotonically_non_increasing ... ok [INFO] [stdout] test training::tests::test_clip_grad_norm_skips_params_without_a_gradient ... ok [INFO] [stdout] test training::tests::test_cosine_schedule_clamps_past_total_epochs ... ok [INFO] [stdout] test training::tests::test_cosine_schedule_degenerate_constant_when_max_equals_min ... ok [INFO] [stdout] test training::tests::test_cosine_schedule_end_is_min_lr ... ok [INFO] [stdout] test training::tests::test_cosine_schedule_midpoint_is_exact_average ... ok [INFO] [stdout] test training::tests::test_cosine_schedule_start_is_max_lr ... ok [INFO] [stdout] test training::trainer::tests::test_evaluate_does_not_leave_gradients_behind ... ok [INFO] [stdout] test training::trainer::tests::test_evaluate_reports_classification_accuracy ... ok [INFO] [stdout] test training::trainer::tests::test_evaluate_returns_finite_loss_and_does_not_change_parameters ... ok [INFO] [stdout] test training::tests::test_clip_grad_norm_empty_params_returns_zero ... ok [INFO] [stdout] test training::tests::test_clip_grad_norm_leaves_small_gradients_untouched ... ok [INFO] [stdout] test tensor::tests::test_unbroadcast_leading_and_singleton_combined ... ok [INFO] [stdout] test training::trainer::tests::test_load_checkpoint_restores_epoch_step_and_history ... ok [INFO] [stdout] test training::trainer::tests::test_load_checkpoint_rejects_shape_mismatch ... ok [INFO] [stdout] test training::trainer::tests::test_optimizer_update_clips_gradients_when_grad_clip_norm_is_set ... ok [INFO] [stdout] test training::trainer::tests::test_process_batch_populates_parameter_gradients ... ok [INFO] [stdout] test training::trainer::tests::test_save_checkpoint_captures_current_parameter_values ... ok [INFO] [stdout] test training::trainer::tests::test_save_checkpoint_writes_epoch_step_and_history ... ok [INFO] [stdout] test training::trainer::tests::test_process_batch_returns_finite_nonnegative_loss ... ok [INFO] [stdout] test training::trainer::tests::test_train_epoch_flushes_partial_leftover_window ... ok [INFO] [stdout] test training::trainer::tests::test_load_checkpoint_restores_model_weights ... ok [INFO] [stdout] test training::trainer::tests::test_save_then_load_round_trip_preserves_everything ... ok [INFO] [stdout] test training::trainer::tests::test_new_initializes_state ... ok [INFO] [stdout] test training::trainer::tests::test_train_epoch_accumulation_steps_reduces_update_count ... ok [INFO] [stdout] test training::trainer::tests::test_process_batch_scales_loss_by_accumulation_steps ... ok [INFO] [stdout] test training::trainer::tests::test_optimizer_update_changes_parameters_and_zeros_gradients ... ok [INFO] [stdout] test training::trainer::tests::test_train_epoch_updates_history_and_counters ... ok [INFO] [stdout] test training::trainer::tests::test_train_epoch_scheduler_records_epoch_zero_rate ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 303 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stderr] Doc-tests rustytorch [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test src/tensor/grad_mode.rs - tensor::grad_mode::no_grad (line 31) ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] all doctests ran in 0.36s; merged doctests compilation took 0.35s [INFO] running `Command { std: "docker" "inspect" "814da4e14919a58fec6b5423143651575d174597183e55ed097a2f03a227925b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "814da4e14919a58fec6b5423143651575d174597183e55ed097a2f03a227925b", kill_on_drop: false }` [INFO] [stdout] 814da4e14919a58fec6b5423143651575d174597183e55ed097a2f03a227925b