reflect: fix AssignableTo and Implements methods
They both reversed the direction of the check, in a way that mostly cancelled each other out. Of course they're still mostly unimplemented, but it's better if they're not wrong.
Этот коммит содержится в:
		
							родитель
							
								
									1406453350
								
							
						
					
					
						коммит
						e9f9a4b750
					
				
					 1 изменённых файлов: 6 добавлений и 6 удалений
				
			
		|  | @ -609,23 +609,23 @@ func (t rawType) FieldAlign() int { | ||||||
| 	return t.Align() | 	return t.Align() | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // AssignableTo returns whether a value of type u can be assigned to a variable | // AssignableTo returns whether a value of type t can be assigned to a variable | ||||||
| // of type t. | // of type u. | ||||||
| func (t rawType) AssignableTo(u Type) bool { | func (t rawType) AssignableTo(u Type) bool { | ||||||
| 	if t == u.(rawType) { | 	if t == u.(rawType) { | ||||||
| 		return true | 		return true | ||||||
| 	} | 	} | ||||||
| 	if t.Kind() == Interface { | 	if u.Kind() == Interface { | ||||||
| 		panic("reflect: unimplemented: assigning to interface of different type") | 		panic("reflect: unimplemented: AssignableTo with interface") | ||||||
| 	} | 	} | ||||||
| 	return false | 	return false | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (t rawType) Implements(u Type) bool { | func (t rawType) Implements(u Type) bool { | ||||||
| 	if t.Kind() != Interface { | 	if u.Kind() != Interface { | ||||||
| 		panic("reflect: non-interface type passed to Type.Implements") | 		panic("reflect: non-interface type passed to Type.Implements") | ||||||
| 	} | 	} | ||||||
| 	return u.AssignableTo(t) | 	return t.AssignableTo(u) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Comparable returns whether values of this type can be compared to each other. | // Comparable returns whether values of this type can be compared to each other. | ||||||
|  |  | ||||||
		Загрузка…
	
	Создание таблицы
		
		Сослаться в новой задаче
	
	 Ayke van Laethem
						Ayke van Laethem