Giter VIP home page Giter VIP logo

Comments (1)

VladUreche avatar VladUreche commented on May 23, 2024

Test case:

sun@sun-laptop:/mnt/data-local/Work/Workspace/dev/miniboxing-plugin/sandbox(topic/erasure-rebase)$ cat gh-bug-36.scala 
package miniboxing.tests.compile.bug36

// https://github.com/miniboxing/miniboxing-plugin/issues/36

trait VectorLike[@miniboxed E, +Self <: Vector[E]]
trait Vector[E] extends VectorLike[E, Vector[E]]

sun@sun-laptop:/mnt/data-local/Work/Workspace/dev/miniboxing-plugin/sandbox(topic/erasure-rebase)$ ../mb-scalac gh-bug-36.scala -Xprint:minibox-dupl -Ycheck:minibox-dupl 
[[syntax trees at end of              minibox-dupl]] // gh-bug-36.scala
package miniboxing.tests.compile.bug36 {
  abstract trait VectorLike[@miniboxed E >: Nothing <: Any, Self >: Nothing <: miniboxing.tests.compile.bug36.Vector[E]] extends Object;
  abstract trait Vector[E >: Nothing <: Any] extends Object with miniboxing.tests.compile.bug36.VectorLike_L[E,miniboxing.tests.compile.bug36.Vector[E]];
  abstract trait VectorLike_J[Esp >: Nothing <: Any, Selfsp >: Nothing <: miniboxing.tests.compile.bug36.Vector[E]] extends Object with miniboxing.tests.compile.bug36.VectorLike[Esp,Selfsp] {
    def miniboxing|tests|compile|bug36|VectorLike_J|E_TypeTag(): Byte
  };
  abstract trait VectorLike_L[Esp >: Nothing <: Any, Selfsp >: Nothing <: miniboxing.tests.compile.bug36.Vector[E]] extends Object with miniboxing.tests.compile.bug36.VectorLike[Esp,Selfsp]
}

[Now checking: minibox-dupl]
[check: minibox-dupl] The symbol, tpe or info of tree `(miniboxing.tests.compile.bug36.VectorLike_L[E,miniboxing.tests.compile.bug36.Vector[E]]) : [Esp, +Selfsp <: miniboxing.tests.compile.bug36.Vector[E]]miniboxing.tests.compile.bug36.VectorLike[Esp,Selfsp]` refers to a out-of-scope symbol, type E in trait VectorLike. tree.symbol.ownerChain: trait VectorLike_L, package bug36, package compile, package tests, package miniboxing, package <root>
[check: minibox-dupl] The symbol, tpe or info of tree `(abstract trait VectorLike_J[Esp >: Nothing <: Any, Selfsp >: Nothing <: miniboxing.tests.compile.bug36.Vector[E]] extends Object with miniboxing.tests.compile.bug36.VectorLike[Esp,Selfsp] {
  def miniboxing|tests|compile|bug36|VectorLike_J|E_TypeTag(): Byte
}) : [Esp, +Selfsp <: miniboxing.tests.compile.bug36.Vector[E]]miniboxing.tests.compile.bug36.VectorLike[Esp,Selfsp]{def miniboxing|tests|compile|bug36|VectorLike_J|E_TypeTag(): Byte}` refers to a out-of-scope symbol, type E in trait VectorLike. tree.symbol.ownerChain: trait VectorLike_J, package bug36, package compile, package tests, package miniboxing, package <root>
[check: minibox-dupl] The symbol, tpe or info of tree `(type Selfsp <: miniboxing.tests.compile.bug36.Vector[E]) :  <: miniboxing.tests.compile.bug36.Vector[E]` refers to a out-of-scope symbol, type E in trait VectorLike. tree.symbol.ownerChain: type Selfsp, trait VectorLike_J, package bug36, package compile, package tests, package miniboxing, package <root>
[check: minibox-dupl] The symbol, tpe or info of tree `(abstract trait VectorLike_L[Esp >: Nothing <: Any, Selfsp >: Nothing <: miniboxing.tests.compile.bug36.Vector[E]] extends Object with miniboxing.tests.compile.bug36.VectorLike[Esp,Selfsp]) : [Esp, +Selfsp <: miniboxing.tests.compile.bug36.Vector[E]]miniboxing.tests.compile.bug36.VectorLike[Esp,Selfsp]` refers to a out-of-scope symbol, type E in trait VectorLike. tree.symbol.ownerChain: trait VectorLike_L, package bug36, package compile, package tests, package miniboxing, package <root>
[check: minibox-dupl] The symbol, tpe or info of tree `(type Selfsp <: miniboxing.tests.compile.bug36.Vector[E]) :  <: miniboxing.tests.compile.bug36.Vector[E]` refers to a out-of-scope symbol, type E in trait VectorLike. tree.symbol.ownerChain: type Selfsp, trait VectorLike_L, package bug36, package compile, package tests, package miniboxing, package <root>
warning: TreeCheckers detected non-compliant trees in gh-bug-36.scala
one warning found

from miniboxing-plugin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.