Skip to content

Change early typeparams #1027

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 8 commits into from

Conversation

odersky
Copy link
Contributor

@odersky odersky commented Jan 15, 2016

No description provided.

@odersky
Copy link
Contributor Author

odersky commented Jan 15, 2016

Fixes #970 and a couple other problems that were discovered after applying the fix. Review by @smarter.

@DarkDimius
Copy link
Contributor

validate-partest-bootstrapped — [4] FAILURE. Took 9 s. Say /rebuild on PR to retry spurious failure.

Need to rebase over current master.

containsRefinedThis inspects symbols and infos of named types in order
to avoid needless traversals. As i974 shows, this can lead to infinite
recursions. The fix is not to force a NamedType denotation, assume the
worst and traverse the prefix if a NamedType is not yet populated
with a denotation.

Fixes scala#974 and makes MutableSortedSetFactory in stdlib compile.
Need to also look info refined types.
Need to handle case where we hit a NoCompleter again.
I observed in a local partest a file with was a java.io.Path, not an SFile.
They should be treated like SFiles. Not clear why this came up. The file
in question (partest-generated/pos/Patterns_v1.scala) looked just like
all the others that were read as SFiles.
Through substitutions we might end up with code like

    C[hk0 = T] # Apply

where C is a non-lambda class. This case has to be handled specially.
If we don't do that, we get a stackoverflow when compiling IndexedSeq.
Type params should be computed before computing the whole info of
a type. Without the patch we get a cycluc reference in the compileMixed
test.
@odersky odersky force-pushed the change-early-typeparams branch from 2c9d78c to ee5c9db Compare January 15, 2016 15:13
@smarter
Copy link
Member

smarter commented Jan 15, 2016

The rebase ate my comment so to recap: dotty-staging@5f1e298 is not needed on master, it's only needed because dotty-staging@beb6fce is applied so I wonder if there's a bug in dotty-staging@beb6fce and I'd be in favor of reverting it since it's not needed anymore to avoid cyclic references (cf. #1026 (comment)).

@odersky odersky closed this Jan 15, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants