Remove the use of associated_type_defaults

Removed as unstable feature is not allowed in Android code base without
exemption.

Change-Id: I49f9553513e6fc9542e5a5c05a0057458d6414f8
diff --git a/gbl/libefi/src/ab_slots.rs b/gbl/libefi/src/ab_slots.rs
index fa6c2fd..eeb2513 100644
--- a/gbl/libefi/src/ab_slots.rs
+++ b/gbl/libefi/src/ab_slots.rs
@@ -178,6 +178,7 @@
         slots::{Bootability, Cursor, RecoveryTarget, UnbootableReason},
         BootImages, Gbl, GblOps, Result as GblResult,
     };
+    use gbl_storage::BlockIoNull;
     use gbl_storage_testlib::TestBlockDevice;
     use libgbl::ops::ImageBuffer;
     // TODO(b/350526796): use ptr.is_aligned() when Rust 1.79 is in Android
@@ -248,6 +249,8 @@
     where
         Self: 'a,
     {
+        type PartitionBlockIo = BlockIoNull;
+
         fn console_out(&mut self) -> Option<&mut dyn Write> {
             unimplemented!();
         }
diff --git a/gbl/libgbl/src/lib.rs b/gbl/libgbl/src/lib.rs
index cf30785..1a5df8b 100644
--- a/gbl/libgbl/src/lib.rs
+++ b/gbl/libgbl/src/lib.rs
@@ -29,7 +29,6 @@
 // TODO: b/312610985 - return warning for unused partitions
 #![allow(unused_variables, dead_code)]
 #![allow(async_fn_in_trait)]
-#![feature(associated_type_defaults)]
 // TODO: b/312608163 - Adding ZBI library usage to check dependencies
 extern crate avb;
 extern crate core;
diff --git a/gbl/libgbl/src/ops.rs b/gbl/libgbl/src/ops.rs
index 5f6cb70..413922f 100644
--- a/gbl/libgbl/src/ops.rs
+++ b/gbl/libgbl/src/ops.rs
@@ -24,7 +24,7 @@
 use core::ffi::CStr;
 use core::{fmt::Write, num::NonZeroUsize, result::Result};
 use gbl_async::block_on;
-use gbl_storage::{BlockIoAsync, BlockIoNull};
+use gbl_storage::BlockIoAsync;
 
 // Re-exports of types from other dependencies that appear in the APIs of this library.
 pub use avb::{
@@ -76,7 +76,7 @@
 {
     /// Type that implements `BlockIoAsync` for the array of `PartitionBlockDevice` returned by]
     /// `partitions()`.
-    type PartitionBlockIo: BlockIoAsync = BlockIoNull;
+    type PartitionBlockIo: BlockIoAsync;
 
     /// Gets a console for logging messages.
     fn console_out(&mut self) -> Option<&mut dyn Write>;