Skip to content

Ask did you mean only for accessible members. #17067

Closed
@som-snytt

Description

@som-snytt

Compiler version

3.3.1-RC1-bin-SNAPSHOT-git-6ad22aa

Minimized code

Welcome to Scala 3.3.1-RC1-bin-SNAPSHOT-git-6ad22aa (19, Java OpenJDK 64-Bit Server VM).
Type in expressions for evaluation. Or try :help.

scala> "123".view.reverse.padTo(5, '0').iterator.reverse
-- [E008] Not Found Error: ---------------------------------------------------------------------------------------------
1 |"123".view.reverse.padTo(5, '0').iterator.reverse
  |^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |value reverse is not a member of Iterator[Char] - did you mean Iterator[Char].reversed?
1 error found

scala> "123".view.reverse.padTo(5, '0').iterator.reversed
-- [E173] Reference Error: ---------------------------------------------------------------------------------------------
1 |"123".view.reverse.padTo(5, '0').iterator.reversed
  |^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |method reversed in trait IterableOnceOps cannot be accessed as a member of Iterator[Char] from module class rs$line$1$.
  | Access to protected method reversed not permitted because enclosing object rs$line$1
  | is not a subclass of trait IterableOnceOps in package scala.collection where target is defined
1 error found

Output

As shown.

Expectation

No suggestion of reversed, as in Scala 2.

The Scala 2 backport of "did you mean...?" includes further improvements which are worth forward porting.

scala/scala#10262

Welcome to Scala 2.13.11-20230306-152152-44c6006 (OpenJDK 64-Bit Server VM, Java 19).
Type in expressions for evaluation. Or try :help.

scala> "123".view.reverse.padTo(5, '0').iterator.reverse
                                                 ^
       error: value reverse is not a member of Iterator[Char]

scala> "123".view.reverse.padTo(5, '0').it
                                        ^
       error: value it is not a member of scala.collection.View[Char]
       did you mean init or wait? or perhaps inits or tail?

where further suggestions are at a farther edit distance.

Metadata

Metadata

Assignees

Labels

area:reportingError reporting including formatting, implicit suggestions, etcbetter-errorsIssues concerned with improving confusing/unhelpful diagnostic messagesitype:bug

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions