Open
Description
Description
When declaring functions to use with a user-defined type, overloaded functions trigger the error "Identifier not found or not unique".
Environment
Solidity 0.8.13, 0.8.14
Steps to Reproduce
pragma solidity ^0.8.13;
type t is uint;
function f(t a) {}
function f(t a, bool b) {}
using {f} for t; // DeclarationError: Identifier not found or not unique.
Suggestion
Allow specifying the overload to use ("using {f(uint)} for t
") or always use all overloads with compatible signature.