HomePhabricator

Fix the .experimental. settings feature so that we don't return an error

Description

Fix the .experimental. settings feature so that we don't return an error
if an experimental setting has been removed/is missing.

Add tests for the .experimental. settings behaviors -- that they correctly
forward through to the real setting if it has become a real setting,
that they don't generate errors when a settig has been removed.

As Pavel notes in https://reviews.llvm.org/D45348, the way I'm suppressing
errors in the setting is not completely correct - if any of the setting
path components include "experimental", a missing setting would be declared
a non-error. So

settings set target.experimental.setting-that-does-not-exist true

would not generate an error, which is correct. But as Pavel notes,

settings set setting-does-not-exist.experimental.run-stopped true

should generate an error because the unknown name occurs before the
"experimental". The amount of change to do this correctly hasn't
thrilled me, so I'm leaving this as-is for now.

rdar://problem/39223054
Differential Revision: https://reviews.llvm.org/D45348

Details

Committed
jmolendaMay 1 2018, 3:49 PM
Differential Revision
D45348: Don't return error for settings set .experimental. settings that are absent
Branches
Unknown
Tags
Unknown