chore(3p/nix/libexpr): Delete Bindings::sort
This function does nothing anymore since the attributes are always in-order.
This commit is contained in:
		
							parent
							
								
									986a8f6b75
								
							
						
					
					
						commit
						68e6e92a20
					
				
					 14 changed files with 6 additions and 54 deletions
				
			
		
							
								
								
									
										17
									
								
								third_party/nix/src/libexpr/primops.cc
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								third_party/nix/src/libexpr/primops.cc
									
										
									
									
										vendored
									
									
								
							|  | @ -128,7 +128,6 @@ static void prim_scopedImport(EvalState& state, const Pos& pos, Value** args, | |||
|       outputsVal->listElems()[outputs_index] = state.allocValue(); | ||||
|       mkString(*(outputsVal->listElems()[outputs_index++]), o.first); | ||||
|     } | ||||
|     w.attrs->sort(); | ||||
|     Value fun; | ||||
|     state.evalFile( | ||||
|         settings.nixDataDir + "/nix/corepkgs/imported-drv-to-derivation.nix", | ||||
|  | @ -498,7 +497,6 @@ static void prim_tryEval(EvalState& state, const Pos& pos, Value** args, | |||
|     mkBool(*state.allocAttr(v, state.sValue), false); | ||||
|     mkBool(*state.allocAttr(v, state.symbols.Create("success")), false); | ||||
|   } | ||||
|   v.attrs->sort(); | ||||
| } | ||||
| 
 | ||||
| /* Return an environment variable.  Use with care. */ | ||||
|  | @ -850,7 +848,6 @@ static void prim_derivationStrict(EvalState& state, const Pos& pos, | |||
|     mkString(*state.allocAttr(v, state.symbols.Create(i.first)), i.second.path, | ||||
|              {"!" + i.first + "!" + drvPath}); | ||||
|   } | ||||
|   v.attrs->sort(); | ||||
| } | ||||
| 
 | ||||
| /* Return a placeholder string for the specified output that will be
 | ||||
|  | @ -1064,8 +1061,6 @@ static void prim_readDir(EvalState& state, const Pos& pos, Value** args, | |||
|                              ? "directory" | ||||
|                              : ent.type == DT_LNK ? "symlink" : "unknown"); | ||||
|   } | ||||
| 
 | ||||
|   v.attrs->sort(); | ||||
| } | ||||
| 
 | ||||
| /*************************************************************
 | ||||
|  | @ -1412,8 +1407,6 @@ static void prim_listToAttrs(EvalState& state, const Pos& pos, Value** args, | |||
|       seen.insert(sym); | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   v.attrs->sort(); | ||||
| } | ||||
| 
 | ||||
| /* Return the right-biased intersection of two sets as1 and as2,
 | ||||
|  | @ -1493,9 +1486,9 @@ static void prim_functionArgs(EvalState& state, const Pos& pos, Value** args, | |||
|   state.mkAttrs(v, args[0]->lambda.fun->formals->formals.size()); | ||||
|   for (auto& i : args[0]->lambda.fun->formals->formals) { | ||||
|     // !!! should optimise booleans (allocate only once)
 | ||||
|     // TODO(tazjin): figure out what the above comment means
 | ||||
|     mkBool(*state.allocAttr(v, i.name), i.def != nullptr); | ||||
|   } | ||||
|   v.attrs->sort(); | ||||
| } | ||||
| 
 | ||||
| /* Apply a function to every element of an attribute set. */ | ||||
|  | @ -1774,8 +1767,6 @@ static void prim_partition(EvalState& state, const Pos& pos, Value** args, | |||
|   if (wsize != 0u) { | ||||
|     memcpy(vWrong->listElems(), wrong.data(), sizeof(Value*) * wsize); | ||||
|   } | ||||
| 
 | ||||
|   v.attrs->sort(); | ||||
| } | ||||
| 
 | ||||
| /* concatMap = f: list: concatLists (map f list); */ | ||||
|  | @ -2153,7 +2144,6 @@ static void prim_parseDrvName(EvalState& state, const Pos& pos, Value** args, | |||
|   mkString(*state.allocAttr(v, state.sName), parsed.name); | ||||
|   mkString(*state.allocAttr(v, state.symbols.Create("version")), | ||||
|            parsed.version); | ||||
|   v.attrs->sort(); | ||||
| } | ||||
| 
 | ||||
| static void prim_compareVersions(EvalState& state, const Pos& pos, Value** args, | ||||
|  | @ -2453,7 +2443,6 @@ void EvalState::createBaseEnv() { | |||
|     mkAttrs(*v2, 2); | ||||
|     mkString(*allocAttr(*v2, symbols.Create("path")), i.second); | ||||
|     mkString(*allocAttr(*v2, symbols.Create("prefix")), i.first); | ||||
|     v2->attrs->sort(); | ||||
|   } | ||||
|   addConstant("__nixPath", v); | ||||
| 
 | ||||
|  | @ -2462,10 +2451,6 @@ void EvalState::createBaseEnv() { | |||
|       addPrimOp(std::get<0>(primOp), std::get<1>(primOp), std::get<2>(primOp)); | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   /* Now that we've added all primops, sort the `builtins' set,
 | ||||
|      because attribute lookups expect it to be sorted. */ | ||||
|   baseEnv.values[0]->attrs->sort(); | ||||
| } | ||||
| 
 | ||||
| }  // namespace nix
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue