Use Group::span_open and span_close in error spans

Macro 1:

    input.parse::<Ident>()?;

Before:

    error: expected identifier
     --> src/main.rs:3:4
      |
    3 | m!([a]);
      |    ^^^

After:

    error: expected identifier
     --> src/main.rs:3:4
      |
    3 | m!([a]);
      |    ^

Macro 2:

    let content;
    bracketed!(content in input);
    content.parse::<Ident>()?;
    content.parse::<Ident>()?;

Before:

    error: unexpected end of input, expected identifier
     --> src/main.rs:3:4
      |
    3 | m!([a]);
      |    ^^^

After:

    error: unexpected end of input, expected identifier
     --> src/main.rs:3:6
      |
    3 | m!([a]);
      |      ^
diff --git a/src/error.rs b/src/error.rs
index 6a1a200..e07051d 100644
--- a/src/error.rs
+++ b/src/error.rs
@@ -10,6 +10,8 @@
 
 #[cfg(feature = "parsing")]
 use buffer::Cursor;
+#[cfg(all(procmacro2_semver_exempt, feature = "parsing"))]
+use private;
 use thread::ThreadBound;
 
 /// The result of a Syn parser.
@@ -171,7 +173,11 @@
     if cursor.eof() {
         Error::new(scope, format!("unexpected end of input, {}", message))
     } else {
-        Error::new(cursor.span(), message)
+        #[cfg(procmacro2_semver_exempt)]
+        let span = private::open_span_of_group(cursor);
+        #[cfg(not(procmacro2_semver_exempt))]
+        let span = cursor.span();
+        Error::new(span, message)
     }
 }