-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Closed
Labels
Description
Compiler version
3.1.2
Minimized code
trait Buffer
trait Arr
def dummy(pMessenger: Buffer): Int = ???
def dummy(pMessenger: Arr): Int = ???
def Test = query(dummy)
def query[Ptr <: Buffer](function: Ptr => Int) = ???Output
[error] -- [E051] Reference Error: /Users/kmetiuk/Projects/GameDev/vulkan-tutorial/src/main/scala/LongBufferPointerBufferBug.scala:6:17
[error] 6 |def Test = query(dummy)
[error] | ^^^^^
[error] |Ambiguous overload. The overloaded alternatives of method dummy with types
[error] | (pMessenger: Arr): Int
[error] | (pMessenger: Buffer): Int
[error] |both match expected type Ptr => Int
[error] one error foundExpectation
Should compile and resolve the overload to dummy taking Buffer. The following works:
trait Buffer
trait Arr
def dummy(pMessenger: Buffer): Int = ???
def dummy(pMessenger: Arr): Int = ???
def Test = query(dummy)
def query(function: Buffer => Int) = ???