// Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

/**
 * @assertion The reserved words true and false denote objects that represent
 * the boolean values true and false respectively. They are the boolean
 * literals.
 * booleanLiteral:
 *   true |
 *   false
 * ;
 * @description Checks that boolean literal can't be preceded by unary plus.
 * @compile-error
 * @author hlodvig
 */

main() {
  try {
    +false;
  } catch (e) {}
}
