Thanks to Daniel for alerting me to the fact that the Ravenscar examples were no longer compiling.

Those examples were no longer compiling with the GNAT GPL 2015 version of the compiler. The compilations were failing due to violations of the Ravenscar
restrictions, No_Protected_Type_Allocators and No_Local_Protected_Objects.

I believe these are valid restrictions that just were not being caught in earlier versions of the compiler. The problem is that the Stream Buffer has an
internal record component that is an internal buffer implemented as a protected type.

To address these restrictions, I had to pull out the internal buffer declaration, and instead have the programmer declare this separately, then on the Stream Buffer declaration, have the programmer reference the "internal" buffer via an access discriminant.