/*
 * Mono Experiments.
 *
 * Experiments are UNSUPPORTED.  Do not rely on experiments in production.
 * Experiments are not guaranteed to be stable, backward compatible or
 * available in future versions of Mono.
 *
 */

/* Defining experiments:
 * use the EXPERIMENT(id,"GH link") format.
 *
 * id: a unique identifier for the experiment.  Will be used in the
 * MONO_EXPERIMENT=id1,id2,... environment variable to enable an experiment at
 * runtime and a MONO_EXPERIMENT_id enumeration value that can be used to check
 * for whether an experiment is enabled.
 *
 * GH Link: a URL of a GitHub tracking issue for the experiment.  The issue is
 * closed when the experiment is removed from Mono.
 *
 * To add a compile-time check for an experiment, see configure.ac macro AC_ARG_ENABLE(experiment,...)
 * To add a new compile-time constant ENABLE_EXPERIMENT_myfeaturename:
 *   1. Add eval "mono_experiment_test_enable_myfeaturename='yes'" to the mono_experiment_test_enable_all block
 *   2. Add a block like
 *        if test "x$mono_experiment_test_enable_myfeaturename" = "xyes"; then
 *        	AC_DEFINE(ENABLE_EXPERIMENT_myfeaturename, 1, [Enable experiment 'myfeaturename'])
 *        fi
 *   3. use both `#if defined (ENABLE_EXPERIMENT_myfeaturename)` and
 *     `if (mono_experiment_enabled (MONO_EXPERIMENT_myfeaturename))` to check that the experiment
 *     is compiled in and also enabled at runtime.
 *     It is optional to add the compile-time check, but if you add it, add the runtime check too.
 */
#if defined(ENABLE_EXPERIMENT_null)
EXPERIMENT(null,"https://github.com/mono/mono/issues/10877")
#endif
