Skip to content

@native method treated as abstract in subclass #20588

Closed
@liontiger23

Description

@liontiger23

Compiler version

Scala compiler version 3.3.1 -- Copyright 2002-2023, LAMP/EPFL

Minimized code

Requires two source files:

$ cat Foo.scala
class Foo {
  @native def test(): Unit
}
class Bar extends Foo

$ cat Baz.scala
class Baz extends Foo

Output

$ scalac Foo.scala
$ scalac Baz.scala
-- Error: Baz.scala:1:6 -----------------------------------------------------------------------------------------------------------------------------------------------------
1 |class Baz extends Foo
  |      ^
  |      class Baz needs to be abstract, since def test(): Unit in class Foo is not defined
1 error found

Expectation

No errors, when subclass and superclass are compiled in separate sessions.

Note: if subclass is located in the same file (or in the same compilation session), like with Bar in Foo.scala, then it compiles without errors

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions