== operator: Ignore string context
There really is no case I can think of where taking the context into account is useful. Mostly it's just very inconvenient.
This commit is contained in:
		
							parent
							
								
									b1beed97a0
								
							
						
					
					
						commit
						ee7fe64c0a
					
				
					 3 changed files with 4 additions and 13 deletions
				
			
		|  | @ -1355,17 +1355,8 @@ bool EvalState::eqValues(Value & v1, Value & v2) | |||
|         case tBool: | ||||
|             return v1.boolean == v2.boolean; | ||||
| 
 | ||||
|         case tString: { | ||||
|             /* Compare both the string and its context. */ | ||||
|             if (strcmp(v1.string.s, v2.string.s) != 0) return false; | ||||
|             const char * * p = v1.string.context, * * q = v2.string.context; | ||||
|             if (!p && !q) return true; | ||||
|             if (!p || !q) return false; | ||||
|             for ( ; *p && *q; ++p, ++q) | ||||
|                 if (strcmp(*p, *q) != 0) return false; | ||||
|             if (*p || *q) return false; | ||||
|             return true; | ||||
|         } | ||||
|         case tString: | ||||
|             return strcmp(v1.string.s, v2.string.s) == 0; | ||||
| 
 | ||||
|         case tPath: | ||||
|             return strcmp(v1.path, v2.path) == 0; | ||||
|  |  | |||
|  | @ -1297,7 +1297,7 @@ void EvalState::createBaseEnv() | |||
|        language feature gets added.  It's not necessary to increase it | ||||
|        when primops get added, because you can just use `builtins ? | ||||
|        primOp' to check. */ | ||||
|     mkInt(v, 2); | ||||
|     mkInt(v, 3); | ||||
|     addConstant("__langVersion", v); | ||||
| 
 | ||||
|     // Miscellaneous
 | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| let s = "foo ${builtins.substring 33 100 (baseNameOf ./eval-okay-context.nix)} bar"; | ||||
| in | ||||
|   if s == "foo eval-okay-context.nix bar" | ||||
|   if s != "foo eval-okay-context.nix bar" | ||||
|   then abort "context not discarded" | ||||
|   else builtins.unsafeDiscardStringContext s | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue