From: samuel@... Date: 2020-02-02T04:39:42+00:00 Subject: [ruby-core:97042] [Ruby master Feature#16602] Add support for `frozen_string_literals` to eval. Issue #16602 has been updated by ioquatix (Samuel Williams). @sawa your argument convince me that we don't need this feature then. But it's not always the case that "You are adding specification to a piece of code that did not have such specification." But, I'm at a loss how to fix https://github.com/rack/rack/pull/1544 User code may contain: ``` # frozen_string_literal: true ``` But we end up calling eval like this: ``` eval "Rack::Builder.new {\n" + builder_script + "\n}.to_app", TOPLEVEL_BINDING, file, 0 ``` So we end up with a kludge of: ``` Rack::Builder.new { # frozen_string_literal: true ... } ``` Which obviously isn't going to work correctly. The only other solution I can think of is to try and match comments in the user code, extract them outside the block, etc. Messy. ---------------------------------------- Feature #16602: Add support for `frozen_string_literals` to eval. https://bugs.ruby-lang.org/issues/16602#change-84135 * Author: ioquatix (Samuel Williams) * Status: Open * Priority: Normal ---------------------------------------- Would it make sense for `eval(..., frozen_string_literal: true)` to exist? -- https://bugs.ruby-lang.org/ Unsubscribe: