fmt: fix bug that adds unnecessary module name to generic types (#12758)
							parent
							
								
									d88e67a5ec
								
							
						
					
					
						commit
						7379488cee
					
				|  | @ -1054,16 +1054,15 @@ pub fn (t &Table) type_to_str_using_aliases(typ Type, import_aliases map[string] | ||||||
| 		} | 		} | ||||||
| 		.generic_inst { | 		.generic_inst { | ||||||
| 			info := sym.info as GenericInst | 			info := sym.info as GenericInst | ||||||
| 			res = sym.name.all_before('<') | 			res = t.shorten_user_defined_typenames(sym.name.all_before('<'), import_aliases) | ||||||
| 			res += '<' | 			res += '<' | ||||||
| 			for i, ctyp in info.concrete_types { | 			for i, ctyp in info.concrete_types { | ||||||
| 				res += t.get_type_symbol(ctyp).name | 				res += t.type_to_str_using_aliases(ctyp, import_aliases) | ||||||
| 				if i != info.concrete_types.len - 1 { | 				if i != info.concrete_types.len - 1 { | ||||||
| 					res += ', ' | 					res += ', ' | ||||||
| 				} | 				} | ||||||
| 			} | 			} | ||||||
| 			res += '>' | 			res += '>' | ||||||
| 			res = t.shorten_user_defined_typenames(res, import_aliases) |  | ||||||
| 		} | 		} | ||||||
| 		.void { | 		.void { | ||||||
| 			if typ.has_flag(.optional) { | 			if typ.has_flag(.optional) { | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| import mymod { ImpNode } | import mymod { Data, ImpNode } | ||||||
| 
 | 
 | ||||||
| fn foobar_mymod<U>(inode ImpNode<U>) ImpNode<U> { | fn foobar_mymod<U>(inode ImpNode<U>) ImpNode<U> { | ||||||
| 	return ImpNode{} | 	return ImpNode{} | ||||||
|  | @ -14,7 +14,9 @@ fn (_ Foo) simple<T>() T { | ||||||
| 	return T{} | 	return T{} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| struct GenericStruct<A, B> {} | struct GenericStruct<A, B> { | ||||||
|  | 	v Data<Data<A>, B> | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| fn proper_generics(gs GenericStruct<A, B>) GenericStruct<A, B> { | fn proper_generics(gs GenericStruct<A, B>) GenericStruct<A, B> { | ||||||
| 	return gs | 	return gs | ||||||
|  |  | ||||||
|  | @ -573,7 +573,7 @@ fn test_generic_detection() { | ||||||
| 	}) | 	}) | ||||||
| 
 | 
 | ||||||
| 	// this final case challenges your scanner :-)
 | 	// this final case challenges your scanner :-)
 | ||||||
| 	assert boring_function<TandU<TandU<int,MultiLevel<Empty_>>, map[string][]int>>(TandU<TandU<int,MultiLevel<Empty_>>, map[string][]int>{ | 	assert boring_function<TandU<TandU<int, MultiLevel<Empty_>>, map[string][]int>>(TandU<TandU<int,MultiLevel<Empty_>>, map[string][]int>{ | ||||||
| 		t: TandU<int,MultiLevel<Empty_>>{ | 		t: TandU<int,MultiLevel<Empty_>>{ | ||||||
| 			t: 20 | 			t: 20 | ||||||
| 			u: MultiLevel<Empty_>{ | 			u: MultiLevel<Empty_>{ | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue