//// [tests/cases/conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments01.ts] ////

=== emitArrowFunctionWhenUsingArguments01.ts ===
var a = () => {
>a : () => void
>  : ^^^^^^^^^^
>() => {    var arg = arguments[0];  // error} : () => void
>                                              : ^^^^^^^^^^

    var arg = arguments[0];  // error
>arg : any
>    : ^^^
>arguments[0] : any
>             : ^^^
>arguments : IArguments
>          : ^^^^^^^^^^
>0 : 0
>  : ^
}

var b = function () {
>b : () => void
>  : ^^^^^^^^^^
>function () {    var a = () => {        var arg = arguments[0];  // error    }} : () => void
>                                                                                : ^^^^^^^^^^

    var a = () => {
>a : () => void
>  : ^^^^^^^^^^
>() => {        var arg = arguments[0];  // error    } : () => void
>                                                      : ^^^^^^^^^^

        var arg = arguments[0];  // error
>arg : any
>    : ^^^
>arguments[0] : any
>             : ^^^
>arguments : IArguments
>          : ^^^^^^^^^^
>0 : 0
>  : ^
    }
}

function baz() {
>baz : () => void
>    : ^^^^^^^^^^

	() => {
>() => {		var arg = arguments[0];	} : () => void
>                                   : ^^^^^^^^^^

		var arg = arguments[0];
>arg : any
>    : ^^^
>arguments[0] : any
>             : ^^^
>arguments : IArguments
>          : ^^^^^^^^^^
>0 : 0
>  : ^
	}
}

function foo(inputFunc: () => void) { }
>foo : (inputFunc: () => void) => void
>    : ^         ^^          ^^^^^^^^^
>inputFunc : () => void
>          : ^^^^^^    

foo(() => {
>foo(() => {    var arg = arguments[0];  // error}) : void
>                                                   : ^^^^
>foo : (inputFunc: () => void) => void
>    : ^         ^^          ^^^^^^^^^
>() => {    var arg = arguments[0];  // error} : () => void
>                                              : ^^^^^^^^^^

    var arg = arguments[0];  // error
>arg : any
>    : ^^^
>arguments[0] : any
>             : ^^^
>arguments : IArguments
>          : ^^^^^^^^^^
>0 : 0
>  : ^

});

function bar() {
>bar : () => void
>    : ^^^^^^^^^^

    var arg = arguments[0];  // no error
>arg : any
>    : ^^^
>arguments[0] : any
>             : ^^^
>arguments : IArguments
>          : ^^^^^^^^^^
>0 : 0
>  : ^
}


() => {
>() => {	function foo() {		var arg = arguments[0];  // no error	}} : () => void
>                                                                  : ^^^^^^^^^^

	function foo() {
>foo : () => void
>    : ^^^^^^^^^^

		var arg = arguments[0];  // no error
>arg : any
>    : ^^^
>arguments[0] : any
>             : ^^^
>arguments : IArguments
>          : ^^^^^^^^^^
>0 : 0
>  : ^
	}
}
