comparison mercurial/util.py @ 51846:f5c46c3518a5

util: make buffer readonly There is no use of writable buffers anywhere in the code, and this helps us make sure we don't get into unsound territory when sharing memory with Rust. This `toreadonly` method was not available in Python 3.6, but we dropped the support for it earlier that week, so no need for any compatibility code.
author Rapha?l Gom?s <rgomes@octobus.net>
date Tue, 26 Mar 2024 15:51:31 +0000
parents 62806be5cbda
children f4733654f144
comparison
equal deleted inserted replaced
51845:4dc1fc2b2f3a 51846:f5c46c3518a5
331 buffer = buffer # pytype: disable=name-error 331 buffer = buffer # pytype: disable=name-error
332 except NameError: 332 except NameError:
333 333
334 def buffer(sliceable, offset=0, length=None): 334 def buffer(sliceable, offset=0, length=None):
335 if length is not None: 335 if length is not None:
336 return memoryview(sliceable)[offset : offset + length] 336 view = memoryview(sliceable)[offset : offset + length]
337 return memoryview(sliceable)[offset:] 337 else:
338 view = memoryview(sliceable)[offset:]
339 return view.toreadonly()
338 340
339 341
340 _chunksize = 4096 342 _chunksize = 4096
341 343
342 344