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

introduce IOContext and ImmutableDict to fix some of show, print, & friends #13825

Merged
merged 6 commits into from
Dec 31, 2015

Commits on Dec 24, 2015

  1. Configuration menu
    Copy the full SHA
    cf862eb View commit details
    Browse the repository at this point in the history
  2. implement an ImmutableDict type

    this is designed to be used as the basis for the IOContext type
    
    also fix a bug in testing equality of a self-referential dict (with added test)
    vtjnash committed Dec 24, 2015
    Configuration menu
    Copy the full SHA
    1fe1391 View commit details
    Browse the repository at this point in the history
  3. reimplement show context global/tls variables as local state containe…

    …d in a new IOContext lightweight wrapper type
    vtjnash committed Dec 24, 2015
    Configuration menu
    Copy the full SHA
    4706184 View commit details
    Browse the repository at this point in the history
  4. modify methodshow and helper methods to feed a tvar_env into the prin…

    …ting of a method signature
    
    for example, this turns:
    rand{T<:Union{Bool,Int16,Int32,Int64}}(::Type{T<:Union{Bool,Int16,Int32,Int64}}) at random.jl:38
    into:
    rand{T<:Union{Bool,Int16,Int32,Int64}}(::Type{T}) at random.jl:38
    
    and it resolves ambiguous expressions such as:
    foo{T,N}(::Array{T,N}, ::Vector, ::Array)
    which used to be printed as:
    foo{T,N}(::Array{T,N}, ::Array{T,1}, ::Array{T,N})
    by printing it instead as:
    foo{T,N}(::Array{T,N}, ::Array{T<:Any,1}, ::Array{T<:Any,N<:Any})
    vtjnash committed Dec 24, 2015
    Configuration menu
    Copy the full SHA
    fff2b9a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    17341ff View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    52fecaf View commit details
    Browse the repository at this point in the history