* Require that __overrides is defined as a non-recursive attribute
(which means it can only be defined via "inherit"), otherwise we get scoping bugs, since __overrides can't be recursive (or at least, it would be hard).
This commit is contained in:
		
							parent
							
								
									d06be428f6
								
							
						
					
					
						commit
						99dc3e613a
					
				
					 1 changed files with 1 additions and 1 deletions
				
			
		|  | @ -181,11 +181,11 @@ LocalNoInline(ATerm expandRec(EvalState & state, ATerm e, ATermList rbnds, ATerm | ||||||
|     ATermMap subs(ATgetLength(rbnds) + ATgetLength(nrbnds)); |     ATermMap subs(ATgetLength(rbnds) + ATgetLength(nrbnds)); | ||||||
|     for (ATermIterator i(rbnds); i; ++i) { |     for (ATermIterator i(rbnds); i; ++i) { | ||||||
|         if (!matchBind(*i, name, e2, pos)) abort(); /* can't happen */ |         if (!matchBind(*i, name, e2, pos)) abort(); /* can't happen */ | ||||||
|         if (name == sOverrides) eOverrides = e2; |  | ||||||
|         subs.set(name, makeSelect(e, name)); |         subs.set(name, makeSelect(e, name)); | ||||||
|     } |     } | ||||||
|     for (ATermIterator i(nrbnds); i; ++i) { |     for (ATermIterator i(nrbnds); i; ++i) { | ||||||
|         if (!matchBind(*i, name, e2, pos)) abort(); /* can't happen */ |         if (!matchBind(*i, name, e2, pos)) abort(); /* can't happen */ | ||||||
|  |         if (name == sOverrides) eOverrides = e2; | ||||||
|         subs.set(name, e2); |         subs.set(name, e2); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue