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

kill OBJ_TAINT etc. #4100

Merged
merged 9 commits into from
Jan 27, 2021
Merged

kill OBJ_TAINT etc. #4100

merged 9 commits into from
Jan 27, 2021

Commits on Jan 20, 2021

  1. fix OBJ_UNTRUST etc.

    It seems I broke them in commit 9e6e39c
    Sorry!
    shyouhei committed Jan 20, 2021
    Configuration menu
    Copy the full SHA
    dacc4ff View commit details
    Browse the repository at this point in the history
  2. kill OBJ_TAINT etc.

    Now that RUBY_FL_TAINT is recycled to become new RUBY_FL_SHAREABLE.
    Setting/clearing this flag from extension libraries break Ractor.
    Especially problematic one is OBJ_INFECT, which would make non-shareable
    objects travel across Ractor boundaries.
    
    Such operations should just be prohibited.
    shyouhei committed Jan 20, 2021
    Configuration menu
    Copy the full SHA
    45253cf View commit details
    Browse the repository at this point in the history
  3. warnings on use of RUBY_FL_TAINT

    matz said in [ruby-core:94979]:
    > 3.0:
    >  * taint/trust/untaint/untrust non-verbose warning when called
    
    This is it, for C extensions.
    shyouhei committed Jan 20, 2021
    Configuration menu
    Copy the full SHA
    b8cf304 View commit details
    Browse the repository at this point in the history
  4. attributes on enumerators are GCC6-ism

    See also https://gcc.gnu.org/gcc-6/changes.html
    
    Clang has this feature when __has_extension(enumerator_attributes) is
    set.
    
    MSVC has #pragma deprecated instead.
    shyouhei committed Jan 20, 2021
    Configuration menu
    Copy the full SHA
    c5a24b9 View commit details
    Browse the repository at this point in the history
  5. win32/file.c:rb_file_expand_path_internal: delete OBJ_TAINT

    Makes no sense any longer.
    shyouhei committed Jan 20, 2021
    Configuration menu
    Copy the full SHA
    2847d85 View commit details
    Browse the repository at this point in the history
  6. win32/win32.c:getcwd_value: delete OBJ_TAINT

    Makes no sense any longer.
    shyouhei committed Jan 20, 2021
    Configuration menu
    Copy the full SHA
    8e77df9 View commit details
    Browse the repository at this point in the history

Commits on Jan 26, 2021

  1. kill CLONESETUP and DUPSETUP

    They are no longer how Object#clone/Object#dup are defined.  In fact
    DUPSETUP is not used from anywhere.  CLONESETUP has only one usage.
    Let's not expose them to extension libraries.
    
    cf ruby#4100 (comment)
    shyouhei committed Jan 26, 2021
    Configuration menu
    Copy the full SHA
    9e083a2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    bb668e1 View commit details
    Browse the repository at this point in the history
  3. Update include/ruby/internal/fl_type.h

    ruby#4100 (review)
    
    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
    shyouhei and nobu committed Jan 26, 2021
    Configuration menu
    Copy the full SHA
    ecab833 View commit details
    Browse the repository at this point in the history