tustvold commented on code in PR #7405: URL: https://github.com/apache/arrow-rs/pull/7405#discussion_r2039676465
########## arrow-array/src/record_batch.rs: ########## @@ -359,11 +359,12 @@ impl RecordBatch { }) } - /// Overrides the schema of this [`RecordBatch`] - /// without additional schema checks. Note, however, that this pushes all the schema compatibility responsibilities - /// to the caller site. In particular, the caller guarantees that `schema` is a superset - /// of the current schema as determined by [`Schema::contains`]. - pub fn with_schema_unchecked(self, schema: SchemaRef) -> Result<Self, ArrowError> { + /// Overrides the schema of this [`RecordBatch`] without additional schema checks. + /// + /// # Safety + /// + /// `schema` must be a superset of the current schema as determined by [`Schema::contains`] + pub unsafe fn with_schema_unchecked(self, schema: SchemaRef) -> Result<Self, ArrowError> { Review Comment: Agreed, it is no different from people relying on undocumented behaviour, it's ultimately their choice to make. However, we should not compromise on soundness, and so any such API must be unsafe -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org