mirror of
				https://github.com/ARM-software/devlib.git
				synced 2025-11-04 07:51:21 +00:00 
			
		
		
		
	utils/misc: document memoized limitation
Document the issue with using memoized with mutable types.
This commit is contained in:
		
				
					committed by
					
						
						Marc Bonnici
					
				
			
			
				
	
			
			
			
						parent
						
							94c1339efd
						
					
				
				
					commit
					a3c04fc140
				
			@@ -648,7 +648,15 @@ def __get_memo_id(obj):
 | 
			
		||||
 | 
			
		||||
@wrapt.decorator
 | 
			
		||||
def memoized(wrapped, instance, args, kwargs):  # pylint: disable=unused-argument
 | 
			
		||||
    """A decorator for memoizing functions and methods."""
 | 
			
		||||
    """
 | 
			
		||||
    A decorator for memoizing functions and methods.
 | 
			
		||||
 | 
			
		||||
    .. warning:: this may not detect changes to mutable types. As long as the
 | 
			
		||||
                 memoized function was used with an object as an argument
 | 
			
		||||
                 before, the cached result will be returned, even if the
 | 
			
		||||
                 structure of the object (e.g. a list) has changed in the mean time.
 | 
			
		||||
 | 
			
		||||
    """
 | 
			
		||||
    func_id = repr(wrapped)
 | 
			
		||||
 | 
			
		||||
    def memoize_wrapper(*args, **kwargs):
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user