Skip to content
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

Add some broken tests for invalidation #35855

Merged
merged 1 commit into from
Jun 4, 2020
Merged

Conversation

timholy
Copy link
Sponsor Member

@timholy timholy commented May 12, 2020

Given that Jeff already has code to fix some of the invalidation issues, I'm trying to wrap up my work on this topic for the time being. I think this distills most of the triggers for the weird cases I found while writing JuliaLang/www.julialang.org#794.

There are just three six @test_brokens here, and obviously the goal would be to turn these into @tests. But I know that writing tests takes time, and I had a lot of material to work with, so I figured this would be a useful head start.

@kshyatt kshyatt added the test This change adds or pertains to unit tests label May 13, 2020
test/worlds.jl Outdated

## A case in which there is no intersection between signatures
## A possibly relevant point is that the invalidated instance comes from
## convert(::Type{T}, x) where {T>:Nothing} = convert(nonnothingtype_checked(T), x)
Copy link
Sponsor Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In this case nonnothingtype_checked(T) returns Union{}, so this calls convert(Union{}, ::String) which is ambiguous, so hopefully it's just another case of the ambiguity issue.

@vtjnash
Copy link
Sponsor Member

vtjnash commented May 13, 2020

Broken I assume means over-aggressive and not wrong?

I'm intending to pick up work on that now, and see how that goes with the internals.

@timholy
Copy link
Sponsor Member Author

timholy commented May 14, 2020

Broken I assume means over-aggressive and not wrong?

Right. I just meant they were @test_broken, but I should have been clearer. I haven't yet seen a case where we fail to invalidate but should, and of course that would be more serious.

@timholy timholy force-pushed the teh/broken_invalidation_tests branch from 6407c1f to dfe2fc9 Compare June 3, 2020 15:02
@timholy timholy merged commit f65561f into master Jun 4, 2020
@timholy timholy deleted the teh/broken_invalidation_tests branch June 4, 2020 12:18
simeonschaub pushed a commit to simeonschaub/julia that referenced this pull request Aug 11, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
test This change adds or pertains to unit tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants