refactor(tvix/eval): box PathBuf
This shaves another 8 bytes off Value. How did that type get so big?! Change-Id: I65e9b59a1636bd57e3cc4aec5fea16887070b832 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8153 Reviewed-by: raitobezarius <tvl@lahfa.xyz> Tested-by: BuildkiteCI
This commit is contained in:
		
							parent
							
								
									52b7a76268
								
							
						
					
					
						commit
						43d04d9b98
					
				
					 5 changed files with 16 additions and 13 deletions
				
			
		| 
						 | 
				
			
			@ -42,7 +42,7 @@ pub const CURRENT_PLATFORM: &str = env!("TVIX_CURRENT_SYSTEM");
 | 
			
		|||
pub async fn coerce_value_to_path(co: &GenCo, v: Value) -> Result<PathBuf, ErrorKind> {
 | 
			
		||||
    let value = generators::request_force(co, v).await;
 | 
			
		||||
    if let Value::Path(p) = value {
 | 
			
		||||
        return Ok(p);
 | 
			
		||||
        return Ok(*p);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    let vs = generators::request_string_coerce(co, value, CoercionKind::Weak).await;
 | 
			
		||||
| 
						 | 
				
			
			@ -246,7 +246,7 @@ mod pure_builtins {
 | 
			
		|||
            })
 | 
			
		||||
            .unwrap_or(".");
 | 
			
		||||
        if is_path {
 | 
			
		||||
            Ok(Value::Path(result.into()))
 | 
			
		||||
            Ok(Value::Path(Box::new(result.into())))
 | 
			
		||||
        } else {
 | 
			
		||||
            Ok(result.into())
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			@ -1038,7 +1038,7 @@ mod placeholder_builtins {
 | 
			
		|||
        let res = [
 | 
			
		||||
            ("line", 42.into()),
 | 
			
		||||
            ("col", 42.into()),
 | 
			
		||||
            ("file", Value::Path("/deep/thought".into())),
 | 
			
		||||
            ("file", Value::Path(Box::new("/deep/thought".into()))),
 | 
			
		||||
        ];
 | 
			
		||||
        Ok(Value::attrs(NixAttrs::from_iter(res.into_iter())))
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue