pw_allocator: Use c++20-friendly pointer operations on spans

With C++20 enabled pigweed uses std::span from the standard library.
It doesn't specify they iterator type and it is not always possible to
cast it to the pointer directly. We need to use .data() instead.

Change-Id: Ib1db9eef079a5def813a6cc90745b5cf45825947
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/98901
Reviewed-by: Alexei Frolov <frolv@google.com>
Pigweed-Auto-Submit: Dennis Kormalev <denk@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
diff --git a/pw_allocator/block.cc b/pw_allocator/block.cc
index f477674..4b22371 100644
--- a/pw_allocator/block.cc
+++ b/pw_allocator/block.cc
@@ -41,7 +41,8 @@
   // with the following storage. Since the space between this block and the
   // next are implicitly part of the raw data, size can be computed by
   // subtracting the pointers.
-  aliased.block->next_ = reinterpret_cast<Block*>(region.end());
+  aliased.block->next_ =
+      reinterpret_cast<Block*>(region.data() + region.size_bytes());
   aliased.block->MarkLast();
 
   aliased.block->prev_ = nullptr;