feat(tvix/eval): Record formals on lambda
In preparation for both implementing the `functionArgs` builtin and adding support for validating closed formals, record information about the formal arguments to a function *on the Lambda itself*. This may seem a little odd for the purposes of just closed formal checking, but is something we have to have anyway for builtins.functionArgs so I figured I'd do it this way to kill both birds with one stone. Change-Id: Ie3770a607bf352a1eb395c79ca29bb25d5978cd8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7001 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
This commit is contained in:
		
							parent
							
								
									89dbcbbb3d
								
							
						
					
					
						commit
						e63d14419f
					
				
					 4 changed files with 42 additions and 13 deletions
				
			
		|  | @ -1,5 +1,6 @@ | |||
| //! This module implements Nix language strings and their different
 | ||||
| //! backing implementations.
 | ||||
| use rnix::ast; | ||||
| use smol_str::SmolStr; | ||||
| use std::ffi::OsStr; | ||||
| use std::hash::Hash; | ||||
|  | @ -55,6 +56,12 @@ impl From<SmolStr> for NixString { | |||
|     } | ||||
| } | ||||
| 
 | ||||
| impl From<ast::Ident> for NixString { | ||||
|     fn from(ident: ast::Ident) -> Self { | ||||
|         ident.ident_token().unwrap().text().into() | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| impl Hash for NixString { | ||||
|     fn hash<H: std::hash::Hasher>(&self, state: &mut H) { | ||||
|         self.as_str().hash(state) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue